Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 国产午夜精品免费一二区,宅宅午夜亚洲精品,一级毛片免费的

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          入門 基礎(chǔ)知識點(diǎn):瀏覽器到底是如何下載資源的

          入門 基礎(chǔ)知識點(diǎn):瀏覽器到底是如何下載資源的

          文章來聊聊瀏覽器到底是如何對待下載資源的,比如說 JS、CSS、字體、圖片等文件。
          CSS、JS 文件冤家路窄
          HTML 在解析的過程中遇到同步的 script 會卡住 DOM 解析這個知識點(diǎn)我相信讀者們應(yīng)該都知道。
          <!DOCTYPE html> <html lang="en"> <body> <script>console.log(1)</script> <div>1</div> </body> </html>
          上述代碼中,HTML 遇到 <script>console.log(1)</script> 代碼就會停止 DOM 解析了。當(dāng)然現(xiàn)代瀏覽器不是說就這樣停住啥也不干了,會有個 preload scanner 去掃描底下的文件,然后根據(jù)文件類型去制定優(yōu)先級(這個下面再說)。
          上面舉得例子是內(nèi)聯(lián)代碼,如果是一個 JS 文件的話,那么就得等這個 JS 文件下完以后執(zhí)行代碼才行。
          但是一般我們文件結(jié)構(gòu)不會那么單一,CSS 文件也肯定是有的。因?yàn)?JS 不僅能動 DOM 也能改 style,所以如果遇到 script 之前還有別的 CSS 文件的話,瀏覽器還得等 CSS 文件下完以后再去執(zhí)行 JS。
          所以說不只是 JS 會阻塞 DOM 解析,CSS 也會。
          當(dāng)然我想現(xiàn)在應(yīng)該很少再有人直接寫同步的 script 了吧。
          文件同時遇到,那會同時開始下載嘛?
          舉個例子,在可以同時下載多個文件的情況下,瀏覽器在 HTML、CSS 文件中解析到了 img、font、background-image 資源,那么們會同時開始下載嘛?
          答案是不會!
          這里只有 img 會最先開始下載,其它兩塊內(nèi)容都得等到 layout 以后才會開始下載。不信的話我們來看圖:
          這里以 font 為例


          圖中右下角框出來的是字體文件,上面是 CSS 文件,字體是從 CSS 文件中得知需要去加載的。
          大家可以在圖中發(fā)現(xiàn) CSS 文件早早開始下載解析了,但是 font 文件遲遲未開始下載,直到 FP 指標(biāo)即將出現(xiàn)的時候才開始下載動作,這個時間點(diǎn)是在 layout 完成以后。
          圖中是以掘金為例,大家可以多試試別的網(wǎng)站,應(yīng)該能發(fā)現(xiàn)是符合預(yù)期的。
          那么讀者可能會有個疑問,按照這個邏輯意思是說能用 img 的都用 img,因?yàn)閎ackground-image 不是馬上開始下載的?道理是這個道理,但是還是得分情況來說,如果圖片出現(xiàn)的位置不是首屏,用 background-image 也沒啥問題,當(dāng)然給 img 用上懶加載也能解決問題。
          那么到底文件的優(yōu)先級是如何的?
          如果大家有使用過 Performance 測試網(wǎng)站性能的話,可以在 Network 那欄里 hover 下載的資源,此時你能發(fā)現(xiàn)資源有優(yōu)先級的顯示。


          從圖中大家可以發(fā)現(xiàn) CSS 和字體資源的優(yōu)先級的最高的,JS 文件有高有低(這和類型有關(guān)),圖片、svg 的優(yōu)先級為低。
          這部分的優(yōu)先級是指某個時間點(diǎn)上的優(yōu)先級,而不是適應(yīng)于整個周期。對于 CSS 文件優(yōu)先級最高還是挺好理解的,畢竟 JS 文件依賴于 CSS 文件,更加詳細(xì)的內(nèi)容大家可以參考 從Chrome源碼看瀏覽器如何加載資源 中的「3. 資源優(yōu)先級」內(nèi)容。
          網(wǎng)絡(luò)協(xié)議才是最大元兇
          瀏覽器要下載資源,TCP 協(xié)議肯定得用上,但是 TCP 協(xié)議天生就是一個慢的東西。
          先得握手,然后慢開始算法,就和我們用迅雷下載東西一樣,帶寬很大沒用,速度都是得爬升上去的。如果再加個 HTTPS 的話,還得再多個 TLS 的握手。
          然后說回 HTTP1.1 協(xié)議。Chrome 只支持同個 domain 同時并發(fā) 6 個請求,所以在之前的協(xié)議中一堆請求都得 block 住等之前的下載完成。
          當(dāng)然現(xiàn)在不同了,HTTP2 的概念基本大家都知道了,沒見過豬跑但吃過豬肉,對于這塊的知識點(diǎn)聊上幾句沒啥問題。什么多路復(fù)用,header 合并、二進(jìn)制幀啥的。
          得利于 HTTP2 協(xié)議中的多路復(fù)用,我們不再被瀏覽器的六個并發(fā)所限制,所有同一個 domain 上的請求都能跑在復(fù)用的六個網(wǎng)絡(luò)通道上,下載耗時瞬間減少了幾個量級,但是大家有沒有考慮過這個 HTTP2 到底是如何對待這些資源的?
          如何分配它們的優(yōu)先級?依賴?帶寬或者別的?畢竟一堆資源占用同一個網(wǎng)絡(luò)通道,那么到底該誰先下載,誰享有的帶寬多點(diǎn)都是需要協(xié)調(diào)的。否則假如一堆圖片占用了大部分帶寬,其他 CSS、JS 文件下的很慢的話,就會影響整個網(wǎng)頁的性能了。
          比如說我現(xiàn)在需要下載 CSS、JS、圖片和字體這些文件。舉個例子在這些文件中我希望 CSS 文件能最先開始下載,并且能分配到的帶寬多點(diǎn);JS 文件呢可以等 CSS 文件下完再去下;其他文件呢優(yōu)先級比 CSS 文件低點(diǎn),但是也能夠享受到帶寬去進(jìn)行下載。
          這個需求我們可以通過二進(jìn)制幀去實(shí)現(xiàn)。HTTP2 協(xié)議共存在十個二進(jìn)制幀,其中你可以通過 HEADERS 幀分配新的優(yōu)先級,也可以通過 PRIORITY 幀更改優(yōu)先級。
          對于流的優(yōu)先級,我們可以通過兩個方式來實(shí)現(xiàn)調(diào)整:

          • 當(dāng)我們調(diào)整流的依賴時,就可以實(shí)現(xiàn)讓 JS 文件等待 CSS 文件下載完畢以后再開始
          • 當(dāng)我們調(diào)整流的 weight 時,就可以實(shí)現(xiàn)帶寬的分配,讓某些資源能更快地進(jìn)行下載


          如圖所示(丑了點(diǎn))。第一排的文件開始一起下載,weight 相加為 20,那么通過計(jì)算可得 CSS 文件享有帶寬的一半,其他各占有 1 / 4,JS 文件得等 CSS 完成以后才開始。
          那么該如何設(shè)置這些東西呢?當(dāng)然得服務(wù)端支持啦,一般都指 CDN 服務(wù)商了。
          最后

          查找了很多資料,如有遺漏,還請見諒。文中如果有誤,還望及時指出,感謝

          AVAWEB 文件上傳及下載,JAVA大文件上傳,大文件下載解決方案,JAVA實(shí)現(xiàn)文件分片上傳并且斷點(diǎn)續(xù)傳,JAVA大文件分片上傳/多線程上傳功能,超大文件上傳和斷點(diǎn)續(xù)傳的控件,JAVA實(shí)現(xiàn)瀏覽器端大文件分片上傳,JAVA實(shí)現(xiàn)大文件上傳,JAVA WEB 實(shí)現(xiàn)文件上傳和下載接口功能,

          百度webuploader上傳文件到服務(wù)器指定文件夾問題,webuploader上傳文件到服務(wù)器指定文件夾問題,JSP上傳文件到服務(wù)器指定文件夾問題,JAVA上傳大文件實(shí)現(xiàn)源代碼,JAVA上傳大文件實(shí)現(xiàn)源碼,JAVA上傳大文件實(shí)現(xiàn)代碼,JAVA上傳大文件實(shí)現(xiàn)技巧,JAVA上傳大文件實(shí)現(xiàn)技術(shù),JAVA上傳大文件實(shí)現(xiàn)思路,JAVA上傳大文件實(shí)現(xiàn)解決方案,

          前端上傳大文件實(shí)現(xiàn)方案,js上傳大文件實(shí)現(xiàn)方法,JavaScript上傳大文件實(shí)現(xiàn)方法,vue上傳大文件實(shí)現(xiàn)方法,前端上傳大文件實(shí)現(xiàn)方法,html上傳大文件實(shí)現(xiàn)方法,html5上傳大文件實(shí)現(xiàn)方法,百度webuploader上傳大文件實(shí)現(xiàn)方法,webuploader上傳大文件實(shí)現(xiàn)方法,JAVA上傳大文件實(shí)現(xiàn)方法,

          大文件上傳的話基本上都是分片來傳,網(wǎng)上很多文章講的不能說亂七八糟只能說完全沒用。

          JAVA的話主要是負(fù)責(zé)后端的接口,業(yè)務(wù)邏輯,功能的實(shí)現(xiàn),比如文件初始化,文件分塊,文件塊合并,文件信息的查詢等。

          客戶這個項(xiàng)目跟了很長時間了,大概有2年了。實(shí)際上客戶并不在意使用哪種技術(shù)

          文件比較大,有50G左右,用戶希望能夠在網(wǎng)頁里面直接上傳,一期的時候我們是直接用的HTML5的API,也就是chrome提供的API來做的,但是上線后用戶反饋不是特別的好用,用戶那邊有些電腦用的是WIN7+IE9,chrome的API在ie9里面不支持。但是用戶系統(tǒng)是支持的,這就把人整的有點(diǎn)不會了。二期的時候我們還是定制開發(fā)了,

          前端用了JSP,VUE2,VUE3,后端用了JSP,SpringBoot,IDE用了Eclipse,MyEclipse,因?yàn)樾马?xiàng)目和老項(xiàng)目都用了兩種IDE。

          用戶要求能夠在網(wǎng)頁上面上傳文件夾,文件夾里面大約有1萬多個文件,有大有小,大的有1G~10G,小的有幾MB,文件夾上傳的時候需要保存層級結(jié)構(gòu),同時能夠?qū)蛹壗Y(jié)構(gòu)信息保存到數(shù)據(jù)庫中,同時還需要支持文件夾下載,下載下來的文件夾要和上傳的文件夾層級結(jié)構(gòu)一模一樣。客戶每天都會傳輸一些資料,功能這塊使用頻率非常高。

          要求支持?jǐn)帱c(diǎn)續(xù)傳,支持進(jìn)度信息離線存儲,用戶可能傳一半沒有傳完,下班了,明天上班后繼續(xù)上傳,電腦晚上到點(diǎn)需要關(guān)機(jī),支持加密傳輸,支持國密加密算法SM4,要求支持下載,支持非打包方式下載,瀏覽器要求支持包含IE在內(nèi)的所有瀏覽器,

          系統(tǒng)環(huán)境要求支持信創(chuàng)國產(chǎn)化,比如銀河麒麟,中標(biāo)麒麟,統(tǒng)信UOS,龍芯,數(shù)據(jù)庫支持MySQL,Oracle,達(dá)夢數(shù)據(jù)庫,人大金倉,需要提供前端源碼,后端源碼,控件源碼,公司自己的項(xiàng)目,也有自己的產(chǎn)品,后續(xù)需要集成使用,

          要求提供7*24小時技術(shù)支持服務(wù),提供文檔教程,視頻教程,遠(yuǎn)程技術(shù)指導(dǎo),1對1技術(shù)支持服務(wù),提供手機(jī),微信,QQ,郵箱,企業(yè)微信等聯(lián)系方式。導(dǎo)入項(xiàng)目:
          導(dǎo)入到Eclipse:http://www.ncmem.com/doc/view.aspx?id=9da9c7c2b91b40b7b09768eeb282e647
          導(dǎo)入到IDEA:http://www.ncmem.com/doc/view.aspx?id=9fee385dfc0742448b56679420f22162
          springboot統(tǒng)一配置:http://www.ncmem.com/doc/view.aspx?id=7768eec9284b48e3abe08f032f554ea2

          下載示例:

          https://gitee.com/xproer/up6-jsp-eclipse/tree/6.5.40/

          工程

          NOSQL

          NOSQL示例不需要任何配置,可以直接訪問測試

          創(chuàng)建數(shù)據(jù)表

          選擇對應(yīng)的數(shù)據(jù)表腳本,這里以SQL為例

          修改數(shù)據(jù)庫連接信息

          訪問頁面進(jìn)行測試

          文件存儲路徑

          up6/upload/年/月/日/guid/filename

          相關(guān)問題:
          1.javax.servlet.http.HttpServlet錯誤
          2.項(xiàng)目無法發(fā)布到tomcat
          3.md5計(jì)算完畢后卡住
          4.服務(wù)器找不到config.json文件

          相關(guān)參考:

          文件保存位置

          源碼工程文檔:https://drive.weixin.qq.com/s?k=ACoAYgezAAw1dWofra

          源碼報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwoiul8gl

          OEM版報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwuzp4W0a

          控件源碼下載:https://drive.weixin.qq.com/s?k=ACoAYgezAAwbdKCskc

          圖片添加區(qū)域鏈接的基本寫法


          首先我們看看效果:

          實(shí)現(xiàn)這樣的功能需要學(xué)習(xí)以下幾點(diǎn)內(nèi)容。

          1.認(rèn)識<img/><map><area/></map>基本結(jié)構(gòu)

          首先復(fù)制一個html框架,命名為“圖片區(qū)域鏈接.html”,示例代碼如下:

          <!DOCTYPE HTML> 
            <html>  
            <head>   
            <title>圖片區(qū)域鏈接</title>  
            <meta charset="utf-8">  
            </head>   
            <body>  
          
            </body>   
            </html>

          向<body></body>中添加<img><map><area/></map>基本結(jié)構(gòu),示例代碼如下:

           <body>  
           <img/>
             <map>
             <area/>
             </map>
           </body>  

          指定要添加區(qū)域鏈接的圖片的路徑,如下:

           <img src="img/image1.jpg"/>
             <map>
             <area/>
             </map>

          讓<img>標(biāo)簽通過<map>的名字來驅(qū)使<map>為自己工作。

          需要兩步,第一,給<map>起名字,name=“map”,為了兼容所有的瀏覽器,還要加上id=“map”(有的瀏覽器只認(rèn)id)。

          第二,讓<img>叫出<map>的名字或id,usemap="#map"。大家要注意,叫名字時要加#。這個在之前的教程中也經(jīng)常出現(xiàn)。

          示例代碼如下:

           <img src="img/image1.jpg" usemap="#map"/>
             <map name="map" id="map">
             <area/>
             </map>

          下面來劃分區(qū)域。

          2.為圖片劃分區(qū)域的方法

          <area>是用來劃分區(qū)域的標(biāo)簽,area也是“”區(qū)域“”的意思。

          默認(rèn)的shape(形狀)屬性有“矩形(rect)”、“圓形(circ)”、“多邊形(poly)”三個值。

          分別添加三個形狀,示例代碼如下:

           <img src="img/image1.jpg" usemap="#map"/>
             <map name="map" id="map">
             <area shape="rect"/>
             <area shape="circ"/>
             <area shape="poly"/>
             </map>

          下面我們就要為區(qū)域規(guī)定參數(shù),也就是在圖像上的位置和范圍大小。

          為<area>添加coords屬性可以指定區(qū)域的位置和范圍。

          如果shape="rect" 則coords由四個參數(shù)組成。例如coords="0,0,50,50"。從左到右,兩兩一組,組成兩個平面坐標(biāo),即(0,0)和(50,50),單位是“像素”,矩形區(qū)域如下:

          如果shape=“circ”,coords=“50,50,10”。(50,50)定義了圓心,10是半徑。如圖:

          如果shape=“poly”,coords的參數(shù)不少于3對!注意是“”!從左到右,兩個數(shù)就是一組坐標(biāo),三組坐標(biāo)可以確定一個三角形,多組坐標(biāo)可以確定多邊形。例如

          這組參數(shù)畫出了下圖中殲20的邊框線(600像素*400像素,如果圖像的長寬像素?cái)?shù)變了,參數(shù)就不正確了),如圖:

          這時,大家會有一個問題:如何才能知道圖像中某個像素點(diǎn)的坐標(biāo)呢?

          3.使用Gimp軟件精準(zhǔn)定位圖片區(qū)域

          使用Gimp軟件可以解決這個問題。

          Gimp是一款類似于Photoshop的數(shù)字圖像處理軟件,不同的是,Gimp是開源免費(fèi)的。

          下載地址:https://www.gimp.org/

          雙擊安裝即可,注意選擇一下安裝目錄。

          完成安裝之后打開,界面如下:

          點(diǎn)擊“文件”找到“打開”:

          選擇要打開的圖片名字:

          點(diǎn)擊名稱后,右邊會有圖像預(yù)覽,點(diǎn)擊“打開”即可:

          打開后如圖:

          把鼠標(biāo)放到圖像的任意位置,看左下角:

          這里就會顯示我們鼠標(biāo)所在的像素坐標(biāo)數(shù)值。

          這樣我們就能方便地寫“poly”的coords了。

          請?jiān)诳臻e時找一張圖片演練一下吧!

          4.為區(qū)域添加鏈接

          在<area/>標(biāo)簽中添加href屬性即可指定鏈接路徑,如下:

          href="https://www.zhihu.com/question/284642168" 

          添加title屬性可以在鼠標(biāo)滑過鏈接區(qū)域時提示讀者,如下:

          title="殲20氣動外形分析"

          今天的內(nèi)容結(jié)束了,圖像區(qū)域鏈接在使用時還有一些注意事項(xiàng),我們下次再詳細(xì)討論。

          使用碎片時間,學(xué)習(xí)完整知識!關(guān)注大魚師兄,一起精研技藝。

          目錄

          HTML序章(學(xué)習(xí)目的、對象、基本概念)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML是什么?——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          第一個HTML頁面如何寫?——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML頁面中head標(biāo)簽有啥用?——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          初識meta標(biāo)簽與SEO——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML中的元素使用方法1——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML中的元素使用方法2——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML元素中的屬性1——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML元素中的屬性2(路徑詳解)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          使用HTML添加表格1(基本元素)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          使用HTML添加表格2(表格頭部與腳部)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          使用HTML添加表格3(間距與顏色)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          使用HTML添加表格4(行顏色與表格嵌套)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          16進(jìn)制顏色表示與RGB色彩模型——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML中的塊級元素與內(nèi)聯(lián)元素——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          初識HTML中的<div>塊元素——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          在HTML頁面中嵌入其他頁面的方法——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          封閉在家學(xué)網(wǎng)頁制作!為頁面嵌入PDF文件——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML表單元素初識1——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML表單元素初識2——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML表單3(下拉列表、多行文字輸入)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML表單4(form的action、method屬性)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML列表制作講解——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          為HTML頁面添加視頻、音頻的方法——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          音視頻格式轉(zhuǎn)換神器與html視頻元素加字幕——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML中使用<a>標(biāo)簽實(shí)現(xiàn)文本內(nèi)鏈接——零基礎(chǔ)自學(xué)網(wǎng)頁制作


          主站蜘蛛池模板: 无码精品一区二区三区免费视频| 无码国产精品一区二区高潮| 亚洲性无码一区二区三区| 日本精品一区二区在线播放| 久久99国产精品一区二区| 免费一区二区视频| 无码一区二区三区在线| 亚洲日韩国产欧美一区二区三区 | 精品少妇人妻AV一区二区三区| 精品国产一区二区三区AV性色| 国产情侣一区二区| 久久久精品人妻一区二区三区| 久久影院亚洲一区| 久久精品国产一区二区电影| 视频一区在线免费观看| 日本一区二区三区精品视频| 日本v片免费一区二区三区| 亚洲熟妇AV一区二区三区宅男| 亚洲av无码一区二区三区网站| 中文字幕在线无码一区二区三区| 丝袜无码一区二区三区| 另类免费视频一区二区在线观看| 国产精品视频一区二区三区四| 日本欧洲视频一区| 亚洲图片一区二区| 色一情一乱一区二区三区啪啪高| 亚洲欧美日韩国产精品一区| 国产一区二区草草影院| 国产伦精品一区三区视频| 日韩社区一区二区三区| 亚洲一区二区三区无码影院| 波多野结衣高清一区二区三区| 久久精品一区二区国产| 97一区二区三区四区久久| 精品国产一区二区麻豆| 无码精品人妻一区二区三区影院| 国产在线精品一区二区三区不卡 | 精品国产福利第一区二区三区| 中文字幕一区二区三区精华液 | 国产乱码精品一区二区三区香蕉 | 亚洲综合色一区二区三区|