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 2020国产成人久久精品,在线性爱视频,欧美激情亚洲精品日韩1区2区

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          入門 基礎知識點:瀏覽器到底是如何下載資源的

          入門 基礎知識點:瀏覽器到底是如何下載資源的

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


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


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

          • 當我們調整流的依賴時,就可以實現讓 JS 文件等待 CSS 文件下載完畢以后再開始
          • 當我們調整流的 weight 時,就可以實現帶寬的分配,讓某些資源能更快地進行下載


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

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

          AVAWEB 文件上傳及下載,JAVA大文件上傳,大文件下載解決方案,JAVA實現文件分片上傳并且斷點續傳,JAVA大文件分片上傳/多線程上傳功能,超大文件上傳和斷點續傳的控件,JAVA實現瀏覽器端大文件分片上傳,JAVA實現大文件上傳,JAVA WEB 實現文件上傳和下載接口功能,

          百度webuploader上傳文件到服務器指定文件夾問題,webuploader上傳文件到服務器指定文件夾問題,JSP上傳文件到服務器指定文件夾問題,JAVA上傳大文件實現源代碼,JAVA上傳大文件實現源碼,JAVA上傳大文件實現代碼,JAVA上傳大文件實現技巧,JAVA上傳大文件實現技術,JAVA上傳大文件實現思路,JAVA上傳大文件實現解決方案,

          前端上傳大文件實現方案,js上傳大文件實現方法,JavaScript上傳大文件實現方法,vue上傳大文件實現方法,前端上傳大文件實現方法,html上傳大文件實現方法,html5上傳大文件實現方法,百度webuploader上傳大文件實現方法,webuploader上傳大文件實現方法,JAVA上傳大文件實現方法,

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

          JAVA的話主要是負責后端的接口,業務邏輯,功能的實現,比如文件初始化,文件分塊,文件塊合并,文件信息的查詢等。

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

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

          前端用了JSP,VUE2,VUE3,后端用了JSP,SpringBoot,IDE用了Eclipse,MyEclipse,因為新項目和老項目都用了兩種IDE。

          用戶要求能夠在網頁上面上傳文件夾,文件夾里面大約有1萬多個文件,有大有小,大的有1G~10G,小的有幾MB,文件夾上傳的時候需要保存層級結構,同時能夠將層級結構信息保存到數據庫中,同時還需要支持文件夾下載,下載下來的文件夾要和上傳的文件夾層級結構一模一樣。客戶每天都會傳輸一些資料,功能這塊使用頻率非常高。

          要求支持斷點續傳,支持進度信息離線存儲,用戶可能傳一半沒有傳完,下班了,明天上班后繼續上傳,電腦晚上到點需要關機,支持加密傳輸,支持國密加密算法SM4,要求支持下載,支持非打包方式下載,瀏覽器要求支持包含IE在內的所有瀏覽器,

          系統環境要求支持信創國產化,比如銀河麒麟,中標麒麟,統信UOS,龍芯,數據庫支持MySQL,Oracle,達夢數據庫,人大金倉,需要提供前端源碼,后端源碼,控件源碼,公司自己的項目,也有自己的產品,后續需要集成使用,

          要求提供7*24小時技術支持服務,提供文檔教程,視頻教程,遠程技術指導,1對1技術支持服務,提供手機,微信,QQ,郵箱,企業微信等聯系方式。導入項目:
          導入到Eclipse:http://www.ncmem.com/doc/view.aspx?id=9da9c7c2b91b40b7b09768eeb282e647
          導入到IDEA:http://www.ncmem.com/doc/view.aspx?id=9fee385dfc0742448b56679420f22162
          springboot統一配置:http://www.ncmem.com/doc/view.aspx?id=7768eec9284b48e3abe08f032f554ea2

          下載示例:

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

          工程

          NOSQL

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

          創建數據表

          選擇對應的數據表腳本,這里以SQL為例

          修改數據庫連接信息

          訪問頁面進行測試

          文件存儲路徑

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

          相關問題:
          1.javax.servlet.http.HttpServlet錯誤
          2.項目無法發布到tomcat
          3.md5計算完畢后卡住
          4.服務器找不到config.json文件

          相關參考:

          文件保存位置

          源碼工程文檔: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

          圖片添加區域鏈接的基本寫法


          首先我們看看效果:

          實現這樣的功能需要學習以下幾點內容。

          1.認識<img/><map><area/></map>基本結構

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

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

          向<body></body>中添加<img><map><area/></map>基本結構,示例代碼如下:

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

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

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

          讓<img>標簽通過<map>的名字來驅使<map>為自己工作。

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

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

          示例代碼如下:

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

          下面來劃分區域。

          2.為圖片劃分區域的方法

          <area>是用來劃分區域的標簽,area也是“”區域“”的意思。

          默認的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>

          下面我們就要為區域規定參數,也就是在圖像上的位置和范圍大小。

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

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

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

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

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

          這時,大家會有一個問題:如何才能知道圖像中某個像素點的坐標呢?

          3.使用Gimp軟件精準定位圖片區域

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

          Gimp是一款類似于Photoshop的數字圖像處理軟件,不同的是,Gimp是開源免費的。

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

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

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

          點擊“文件”找到“打開”:

          選擇要打開的圖片名字:

          點擊名稱后,右邊會有圖像預覽,點擊“打開”即可:

          打開后如圖:

          把鼠標放到圖像的任意位置,看左下角:

          這里就會顯示我們鼠標所在的像素坐標數值。

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

          請在空閑時找一張圖片演練一下吧!

          4.為區域添加鏈接

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

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

          添加title屬性可以在鼠標滑過鏈接區域時提示讀者,如下:

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

          今天的內容結束了,圖像區域鏈接在使用時還有一些注意事項,我們下次再詳細討論。

          使用碎片時間,學習完整知識!關注大魚師兄,一起精研技藝。

          目錄

          HTML序章(學習目的、對象、基本概念)——零基礎自學網頁制作

          HTML是什么?——零基礎自學網頁制作

          第一個HTML頁面如何寫?——零基礎自學網頁制作

          HTML頁面中head標簽有啥用?——零基礎自學網頁制作

          初識meta標簽與SEO——零基礎自學網頁制作

          HTML中的元素使用方法1——零基礎自學網頁制作

          HTML中的元素使用方法2——零基礎自學網頁制作

          HTML元素中的屬性1——零基礎自學網頁制作

          HTML元素中的屬性2(路徑詳解)——零基礎自學網頁制作

          使用HTML添加表格1(基本元素)——零基礎自學網頁制作

          使用HTML添加表格2(表格頭部與腳部)——零基礎自學網頁制作

          使用HTML添加表格3(間距與顏色)——零基礎自學網頁制作

          使用HTML添加表格4(行顏色與表格嵌套)——零基礎自學網頁制作

          16進制顏色表示與RGB色彩模型——零基礎自學網頁制作

          HTML中的塊級元素與內聯元素——零基礎自學網頁制作

          初識HTML中的<div>塊元素——零基礎自學網頁制作

          在HTML頁面中嵌入其他頁面的方法——零基礎自學網頁制作

          封閉在家學網頁制作!為頁面嵌入PDF文件——零基礎自學網頁制作

          HTML表單元素初識1——零基礎自學網頁制作

          HTML表單元素初識2——零基礎自學網頁制作

          HTML表單3(下拉列表、多行文字輸入)——零基礎自學網頁制作

          HTML表單4(form的action、method屬性)——零基礎自學網頁制作

          HTML列表制作講解——零基礎自學網頁制作

          為HTML頁面添加視頻、音頻的方法——零基礎自學網頁制作

          音視頻格式轉換神器與html視頻元素加字幕——零基礎自學網頁制作

          HTML中使用<a>標簽實現文本內鏈接——零基礎自學網頁制作


          主站蜘蛛池模板: 亚洲国产情侣一区二区三区| 亚洲日本va一区二区三区 | 国产精品丝袜一区二区三区| 中文字幕AV一区二区三区| 成人精品一区二区三区不卡免费看 | 任你躁国产自任一区二区三区| 亚洲综合一区国产精品| 午夜福利av无码一区二区| 国产一区三区二区中文在线| 国产亚洲福利精品一区二区| 亚洲av无码一区二区三区天堂古代| 国产区精品一区二区不卡中文| 无码人妻精品一区二区蜜桃AV| 成人H动漫精品一区二区| 亚洲另类无码一区二区三区| 亚洲综合一区无码精品| 中文乱码人妻系列一区二区 | 国产成人免费一区二区三区 | 亚洲国产老鸭窝一区二区三区| 国产AV一区二区精品凹凸| 暖暖免费高清日本一区二区三区| 亚洲乱码一区二区三区国产精品| 蜜桃视频一区二区三区在线观看| 精品无码一区二区三区亚洲桃色| 一区二区免费视频| 亚洲一区二区三区高清视频| 91亚洲一区二区在线观看不卡| 亚洲综合无码一区二区三区| 亚洲一区二区影视| 色综合视频一区中文字幕| 精品国产区一区二区三区在线观看| 国精产品一区一区三区有限在线| 成人在线观看一区| 日韩精品无码Av一区二区| а天堂中文最新一区二区三区| 中文字幕一区在线播放| 亚洲国产成人一区二区精品区| 亚洲一区二区三区无码国产| 无码人妻av一区二区三区蜜臀| 国产一国产一区秋霞在线观看| 国产精久久一区二区三区|