日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
高性能WEB開發(fā)之flush讓頁面分塊逐步呈現(xiàn)

正對這種情況,還有一種處理方法,就是讓response分塊編碼進行傳輸。response分塊編碼,可以先傳輸一部分不需要處理的html代碼到客戶端,等其他耗時代碼執(zhí)行完畢后再傳輸另外的html代碼。

10年積累的網站制作、網站建設經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站制作后付款的網站建設流程,更有安龍免費網站建設讓你可以放心的選擇與我們合作。

分塊編碼(chunked encoding)

chunked encoding 是http1.1 才支持編碼格式(當然目前沒有哪個瀏覽器不支持1.1了),chunked encoding 與一般的響應區(qū)別如下:

 
 
 
 
  1. 正常的響應:
  2.     HTTP/1.1 200 OK
  3.     Cache-Control: private, max-age=60
  4.     Content-Length: 75785
  5.     Content-Type: text/html; charset=utf-8
  6.     ..其他response headers
  7.         
  8.    
 
 
 
 
  1. chunked encoding 響應:
  2.    HTTP/1.1 200 OK
  3.    Cache-Control: private, max-age=60
  4.    Content-Length: 75785
  5.    Content-Type: text/html; charset=utf-8
  6.    Transfer-Encoding: chunked
  7.    ..其他response headers
  8.     
  9.    chunk #1(這里通常是16進制的數字,標志這個塊的大小)
  10.    
  11.   
  12.    chunk #2
  13.    
  14.   
  15.    chunk #3
  16.    ....

實例(JSP)

一個簡單的頁面,分為頭部(header)和內容(部分),假設內容部分需要讀取數據庫,花費3秒時間,然后顯示csdn的logo。header部分顯示cnblogs的logo。代碼如下:

 
 
 
 
  1.     
  2.        cnblogs logo    
  3.     
  •     
  •     
  •     <%
  •         // 睡眠3秒
  •         Thread.currentThread().sleep(3000);
  •     %>
  •         csdn logo
  •            
  •     
  • 演示地址:http://213.186.44.204:8080/ChunkTest/nochunk.jsp (服務器比較差,請大家溫柔點)

    打開這個演示地址發(fā)現(xiàn)很正常的頁面,在3秒后才開始下載顯示2個logo,資源加載瀑布圖如下:

    現(xiàn)在把代碼改成如下,加上flush,讓response把之前的html分塊輸出:

     
     
     
     
    1.    cnblogs logo    
  • <%
  •     out.flush(); // flush response,分塊輸出
  • %>
  •     <%
  •         // 睡眠3秒
  •         Thread.currentThread().sleep(3000);
  •     %>
  •     csdn logo
  •        
  • 演示地址:http://213.186.44.204:8080/ChunkTest/chunk.jsp

    打開這個演示地址,是不是發(fā)現(xiàn)cnblogs logo先下載顯示出來,3秒后csdn logo才顯示,資源加載圖如下:

    從這個圖發(fā)現(xiàn),cnblogs的logo在jsp頁面還沒執(zhí)行完就開始下載了,這就是分塊輸出的效果。

    監(jiān)控工具:

    如何知道我們是否成功使用了chunk encoding了 ,只要用工具查看response header 中是否包含了Transfer-Encoding: chunked,如果包含了,則是分塊了。但要想監(jiān)控分塊的詳細信息,據我所知,目前只有httpwatch支持,可以查看我們到底分了多少塊,但是數量好像都多顯示了1個,如下圖:

    系列專題:高性能WEB開發(fā)應用指南


    網站名稱:高性能WEB開發(fā)之flush讓頁面分塊逐步呈現(xiàn)
    網頁網址:http://www.5511xx.com/article/dhhscoh.html