Download presentation
Presentation is loading. Please wait.
1
HTTP Hypertext Transfer Protocol kphsu@ntu.edu.tw 許凱平
2
當心飛機 From 忠孝國小
4
Course Issues (not Outlines) What is HTTP? Handy Tools telnet fiddler DIY Learn by Examples How to Tune Up Your Web Pages? Problems Solving
5
NCSA Mosaic NN Mozilla IE WorldWideWeb Nexus Firefox Mozilla/5.0 Marc Andreessen Berners-Lee w3c Netscape CERN 19891999 HTTP/1.1 TEXT IMAGE 1991 HTTP/0.9HTTP/1.0 1996 NCSA HTTPD Apache R. Fielding httpd GET
6
HTTP HTML TCP IP Ethereal: A Network Protocol Analyzer MSIE, IE: Microsoft Internet Explorer FF: Firefox Microsoft Fiddler Tools & Protocols telnet xmlhttp GIF
7
講什麼?不講什麼? 交錯式:例子 圖解 觀念 工具 80/20 定理 講什麼? HTTP URL DNS HTML MIME IIS ASP IE Cache Web Authoring 不講什麼? PHP Apache Squid Proxy TCP/IP
8
超文本傳輸協議 網際網路上應用最為廣泛的一種網路傳輸協議 網際網路網路傳輸協議 所有的 WWW 文件都必須遵守這個標準 WWW 設計 HTTP 最初的目的 提供一種發佈和接收 HTML 頁面的方法 HTML 維基百科 HyperText Transfer Protocol 超 文本 傳送 協議 超 文件 傳送 協定 Hypertext 教育部國語辭典
9
Text Hypertext Text to Hypertext eBook eDocument (internal link) Gopher: + external links Multimedia: + Images + Audio + Video Interactive Page JavaScript Java Applet ActiveX Object Flash More App than Doc time space 不一亦不異 Reference hyperlink
10
Tracking a page access 1. DNS Lookup for IP Use IP to Build TCP Connection on port 80 Send HTTP Request Parse Server’s Response Get Inline Resources Rendering UI HTTP TCP IP DNS Domain name IP 80 140.112.8.130 httpd GET / HTTP/1.1 httpd www.ntu.edu.twwww.ntu.edu.tw 140.112.8.130
11
Web Components User, Author User Agent: Browser (IE, Firefox) Network Web Server: Apache, IIS Proxy: Squid, ISA, Fiddler Proxy www.ntu.edu.tw Content Delivery Network HTTP Message H Cache
12
1 Client PC: 140.112.3.4 2 3 4 Packets Observed by Ethereal 1. Build connection2. ntu.pac3. connect4.homepage Proxy.ntu.eu.tw:140.112.1.98 www.ntu.edu.tw:140.112.8.130 Browsing www.ntu.edu.tw
13
HTTP Messages Message = Request | Response Start Line Header Fields Body Request : GET Method Get a document from the server Start Line: GET / HTTP/1.1 Response Start Line: HTTP/1.1 200 OK browserWeb server request response transaction page1 page2 close open transaction Session
14
Request Start Line HTTP/ GET / HTTP/1.1 GET /index.html HTTP/1.1 Header Field : User-Agent: Mozilla/4.0 Host: www.ntu.edu.twwww.ntu.edu.tw Method OPTIONS GET HEAD POST PUT DELETE TRACE CONNECT …
15
Response Start Line 200 OK Header Fields Cache Date: Sun, 04 Jun 2006 12:56:15 GMT Misc Server: Apache/1.3.26 (Unix) PHP/4.2.1 Entity Content-Type: text/html Last-Modified: Sat, 17 Mar 2001 15:55:16 GMT ETag: "2d693e-5d55-3ab388e4" Status Code 1xx: Informational 2xx: Successful 3xx: Redirection 4xx: Client Error 5xx: Server Error
16
Status Code List 100 - Continue 101 - Switching Protocols 200 - OK 201 - Created 202 - Accepted 203 - Non-Authoritative Information 204 - No Content 205 - Reset Content 206 - Partial Content 207 - Multi-Status 300 - Multiple Choices 301 - Moved Permanently 302 - Found 303 - See Other 304 - Not Modified 305 - Use Proxy 306 - No Longer Used 307 - Temporary Redirect 400 - Bad Request 401 - Not Authorized 402 - Payment Required 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 406 - Not Acceptable 407 - Proxy Authentication Required 408 - Request Timeout 409 - Conflict 410 - Gone 411 - Length Required 412 - Precondition Failed 413 - Request Entity Too Large 414 - Request URI Too Long 415 - Unsupported Media Type 416 - Requested Range Not Certifiable 417 - Expectation Failed 500 - Internal Server Error 501 - Not Implemented 502 - Bad Gateway 503 - Service Unavailable 504 - Gateway Timeout 505 - HTTP Version Not Supported
17
Web Log Analysis 有些東西很少出現,但需要注意 …
18
Web Log Analysis 4,078 有些東西很少出現,但需要注意 …
19
Tools telnet Microsoft Fiddler DIY : xmlhttp Examples www.ntu.edu.tw
20
telnet Step 1 執行 telnet 開始 \ 執行 \ 開啟 [telnet] Step 2 設定緩衝區 系統功能選單 \ 內容 \ 格式設定 : 螢幕緩衝區大小 \ 高度 [500] 選項 / 指令歷程記錄 緩衝區大小 999 緩衝區數目 40 Step 3 建立 Connection Microsoft Telnet> open www.ntu.edu 80
21
HTTP/1.1 200 OK Date: Sun, 04 Jun 2006 12:56:15 GMT Server: Apache/1.3.26 (Unix) PHP/4.2.1 Last-Modified: Tue, 23 May 2006 09:45:43 GMT ETag: "1689a4-7bc0-4472d9c7" Accept-Ranges: bytes Content-Length: 31680 Connection: close Content-Type: text/html 國立台灣大學 … 遺失與主機的連線。 GET homepage by HTTP/1.0 GET / HTTP/1.0 Press 2 Enter 大寫 Start Line Header Fields Body
22
GET homepage by HTTP/1.1 GET / HTTP/1.1 Host: www.ntu.edu.twwww.ntu.edu.tw HTTP/1.1 200 OK Date: Sun, 04 Jun 2006 01:59:02 GMT Server: Apache/1.3.26 (Unix) PHP/4.2.1 Last-Modified: Tue, 23 May 2006 09:45:43 GMT ETag: "1689a4-7bc0-4472d9c7" Accept-Ranges: bytes Content-Length: 31680 Content-Type: text/html 國立台灣大學 MUST
23
www.ntu.edu.tw 國立台灣大學 … GET / HTTP/1.0 Request for homepage 輸入網址 : www.ntu.edu.tw Response Request HTTP/1.1 200 OK Date: Thu, 01 Jun 2006 07:54:42 GMT Server: Apache/1.3.26 (Unix) PHP/4.2.1 Last-Modified: Tue, 23 May 2006 09:45:43 GMT ETag: "1689a4-7bc0-4472d9c7" Accept-Ranges: bytes Content-Length: 31680 Connection: close Content-Type: text/html
24
www.ntu.edu.tw 國立台灣大學 … GET / HTTP/1.1 Request for homepage 輸入網址 : www.ntu.edu.tw Response Request Host: www.ntu.edu.tw 200 OK Date: Mon, 05 Jun 2006 14:07:51 GMT...
25
HTTP/1.1 200 OK Date: Sun, 04 Jun 2006 12:56:15 GMT Server: Apache/1.3.26 (Unix) PHP/4.2.1 Content-Type: text/html 國立台灣大學 … HTTP header/body versus HTML head/body Headers Body Start Line
26
Why Host? Domain Name 1 Domain Name 2 IP darc.ntu.edu.tw dc-program.ntu.edu.tw 140.112.8.174 Client140.112.8.174 Host: darc.ntu.edu.tw Content of darc.ntu.edu.tw TCP/IP HTTP
27
Microsoft Fiddler HTTP Debugger (Free) HTTP Debugging Proxy http://www.fiddlertool.com/ Internet ie messenger firefox
28
Activate Fiddler IE: 工具 /Fiddler Firefox: 執行 : 開始 \ 程式集 \Fiddler Firefox : use Fiddler as Proxy 工具 \ 選項 \ 一般 \ 連線設定 (*) 手動設定 Proxy HTTP Proxy:[127.0.0.1] Port:[8888] SSL Proxy: [127.0.0.1] Port:[8888]
29
HTTP Sessions Screen of Fiddler Performance Statistics #Request, time Session Inspector Inspect header/body info. Request Builder Write your Request Status code trace IE browsing www.ntu.edu.tw = Request + Response
30
Request Builder Trace single url Enter url & Execute
31
Use Session Inspector Request Response View Raw Data
32
View Headers Request Response
33
Text View & Hexadecimal View
34
Get & View Image Request Builder http://www.ntu.edu.tw/images/emblem_200.gif Session Inspector/Response/ImageView
35
瀏覽 台大首頁 HTML 國立台灣大學 … 檢視原始碼 網頁中的圖片與文字內容是分開存放的
36
html head body imgsrc= “ ntu_cocotier.jpg ” imgsrc= “ ntu_title01.gif ” … VS.Net/ 檢視 / 其他視窗 / 文件大綱 Firefox/DOM Inspector View as DOM
37
www.ntu.edu.tw Request for images in the page 國立台灣大學 … Request for homepage 輸入網址 : www.ntu.edu.tw ie parse the content & auto-fetch images Response Request
38
Before Test (IE setting) 清空 Cache 工具 / 網際網路選項 /Temporary Internet files/ 刪除檔案 Or Fiddler/Tools/Clear WinINET Cache 檢查儲存的畫面是否有較新的版本 工具 / 網際網路選項 / 一般 /Temporary Internet files/ 設定 檢察儲存的畫面是否有較新的版本 (*) 每次查閱畫面時 ( ) 每次啟動 Internet Explorer 時 ( ) 自動 ( ) 永不檢查
39
File Level Trace 用 Microsoft Fiddler 觀察 9 Request/Response ( 1 text / 8 distinct images) Result: Status Code (200 OK) Body-bytes in total = 139,266
40
觀察 ie 的 Cache 工具 \ 網際網路選項 \ 一般 Temporary Internet files\ 設定 \ 檢視物件 Last-Modified
41
如何利用 Cache 增進圖片的效率 ? 利用 Meta Data 注意大小寫 不直接跟伺服器要圖片 先取回圖片的 Meta Data 沒有更動 使用 Cache 的資料 更動 向伺服器取回整張圖片 提供伺服器在快取中的圖片的 Meta Data 沒有變動 送回沒有變動的訊息 有變動 送回整張圖片 其他 Resource 亦同
42
注意大小寫 IIS
43
HEAD Method Just Headers, No Body Request Builder HEAD http://www.ntu.edu.tw/images/emblem_200.gif HTTP/1.1 GET http://www.ntu.edu.tw/images/emblem_200.gif HTTP/1.1
44
利用 Header 資訊與 Cached Data 比較 Last-Modified: Sat, 17 Mar 2001 15:55:16 GMT ETag: "2d6937-2334-3ab388e4 „ Entity Tag (Hash Value or Version) of Resource 如果一樣,省下傳圖的頻寬與時間 如果伺服器上的圖片比較新 再用 GET 取回 HEAD, GET versus 直接 GET 多了一次來回 如果圖小,可能直接拿圖還比較快 HEAD Method
45
Conditional GET (Piggyback) GET /images/emblem_200.gif HTTP/1.1 Accept: */* Referer: http://www.ntu.edu.tw/ Accept-Language: zh-tw Accept-Encoding: gzip, deflate Host: www.ntu.edu.tw Proxy-Connection: Keep-Alive GET /images/emblem_200.gif HTTP/1.1 Accept: */* Referer: http://www.ntu.edu.tw/ Accept-Language: zh-tw Accept-Encoding: gzip, deflate Host: www.ntu.edu.tw Proxy-Connection: Keep-Alive Unconditional GETConditional GET If-Modified-Since: Sat, 17 Mar 2001 15:55:16 GMT If-None-Match: "2d6937-2334-3ab388e4" Pragma: no-cache 200 OK 304 Not Modified Response
46
Do It Again! Dirty test 9 Request/Response (the same) Result: Status Code 200x1/304x8 (Not Modified) Use Cached file Body bytes in total 10,553 (62,864 saved!)
47
比較 HTTP Request/Response 次數一樣 (9) File Cache 的效用 第一次瀏覽後有些檔案被存在 Client Side 第二次瀏覽時 Client Side 有的 問網頁伺服器檔案是否更動 傳輸資料大幅減少 Roundtrip 一樣多
48
Conditional GET detail … Run IE Run Fiddler, Clear Cache Browse an image http://www.ntu.edu.tw/images/emblem_200.gif Reload
49
Header Fields HTTP/1.1 200 OK Last-Modified: Sat, 17 Mar 2001 15:55:16 GMT ETag: "2d6937-2334-3ab388e4" GET /images/emblem_200.gif HTTP/1.1images/emblem_200.gif Host: www.ntu.edu.tw If-Modified-Since: Sat, 17 Mar 2001 15:55:16 GMT If-None-Match: "2d6937-2334-3ab388e4" Cache Request ETag Last-Modified If-Modified-Since If-None-Match
50
GET /images/emblem_200.gif HTTP/1.1/images/emblem_200.gif Response Request Host: www.ntu.edu.tw HTTP/1.1 200 OK Last-Modified: Sat, 17 Mar 2001 15:55:16 GMT ETag: "2d6937-2334-3ab388e4" GET /images/emblem_200.gif HTTP/1.1images/emblem_200.gif Host: www.ntu.edu.tw If-Modified-Since: Sat, 17 Mar 2001 15:55:16 GMT If-None-Match: "2d6937-2334-3ab388e4" Response HTTP/1.1 304 Not Modified Date: Tue, 06 Jun 2006 13:04:59 GMT ETag: "2d6937-2334-3ab388e4" Cache Reload Request
51
1 GET 2 GET Last-Modified Meta Data of Cached Entity 2d6937-2334-3ab388e4 ETag
52
If-Modified-Since: Wed, 07 Jun 2006 02:29:30 GMT If-None-Match: "18e5294cdb89c61:bb6" http://kptest.cc.ntu.edu.tw/http/1.txt If-None-Match & If-Modified-Since
53
If-Modified-Since: Sat, 17 Mar 2001 15:55:16 GMT If-None-Match: " 2d6937-2334-3ab388e4 " http://www.ntu.edu.tw/images/emblem_200.gif If-None-Match & If-Modified-Since
54
Cache Revalidation Policy 除了第四種每次查閱時均做確認之外, IE 有 可能直接使用 Cache 的資料 Fiddler 攔截不到
55
想想看 解決一個網頁,多個來回 在 GET html 時, response 的 header 就跟我們講它內嵌的圖片 的版本或時戳,讓 User-Agent 可以即時判斷是否可用快取的 資料,不用再一個來回 IE: 將 html 與 image 封裝成 mhtml FF: data: 快 > 新 Blog 相片簿 快 < 新 新聞 訂票系統 掛號 選課 有沒有又有效率又新鮮的作法? Ajax
56
MHTML: MIME HTML MIME+HTML http://kptest.cc.ntu.edu.tw/http/2images.mht src=3D"http://kptest.cc.ntu.edu.tw/http/images/snailwheel.gif" ------=_NextPart_000_0000_01C68EDA.B55F8A70 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://kptest.cc.ntu.edu.tw/http/images/snailwheel.gif R0lGODlhEAARAMT/AP98gO/Wxufn1swAM8wzM8wAZswzZv8zZsxmZsxmmcyZmf+Zmf/MmcyZzP+Z zP/MzP/M/93d3ePj4+rq6vHx8cDAwP/78AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA ABUALAAAAAAQABEAQAWaYCVWT+AEwfOMolIc0oMMyaQmA7CyFWUvQB4FMDAEKpbJBCIhGnYBA+2x PDkkvMqiUDR4pTmoNwB5gAcLh9dBktYExOKgoGNNFgZCgWBAHAxZFkBfXwtYI2ZFaQwLAQBcABNt BgsWFo4ACg8NY1pFDxQLRUQKeEZaXg8QTg0LCXwNIkNhTHh8miyrUgYADSoRWbIPCwBecwssIQA7 ------=_NextPart_000_0000_01C68EDA.B55F8A70
57
DIY: xmlhttp Request var ProgID="Msxml2.XMLHTTP"; var xmlhttp=new ActiveXObject(); //Request xmlhttp.onreadystatechange = function (){ if (xmlhttp && xmlhttp.readyState==4 && ((xmlhttp.status==200)||(xmlhttp.status==304))) parseMessage(xmlhttp); } xmlhttp.open(url,method,async); //Start Line xmlhttp.setRequestHeader(header_name,header_value); //Header xmlhttp.send(body); //Body
58
Response //Start line xmlhttp.status;// Staus code xmlhttp.statusText;// Reason phrase //Header xmlhttp.getResponseHeader(header_name); xmlhttp.getAllResponseHeaders(); //Body xmlhttp. responseBody xmlhttp. responseText
59
Method: OPTIONS
60
501 (Method) Not Implemented PROPFIND http://info.ntu.edu.tw/http://info.ntu.edu.tw/ 501 Not Implemented PROPFIND http://www.ntu.edu.tw/http://www.ntu.edu.tw/ 405 Method Not Allowed PROPFIND: Property Find of a file or a collection of files
61
404 Not Found Request for URL which does not exist
62
4xx Client Error? /robots.txt Crawler (search engine) /contact/contact_us.html Author ’ s Error ! /gc/images/mainbg_12.gif Author ’ s Error !
63
Author ’ s Error /gc/images/mainbg_12.gif /gc/gra3.htm /gc/css/link.css /gc/images/mainbg_12.gif index @import url( css/link.css ); BODY { BACKGROUND-IMAGE: url(images/mainbg_12.gif) } Log
64
Problem: news98 在 pc1 用 IE 無法瀏覽 www.news98.com.tw 時,網頁上出現 「處理 URL 時伺服器發生錯誤。請連絡 您的系統管理員。」的訊息 www.news98.com.tw訊息 但在 pc1 用 Firefox 就 OK ,在 pc2 用 IE 也正 常。 Firefox IE
65
PC1(win2k), ie6 PC2(winxp), ie6 GET / HTTP/1.1 … User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0;.NET CLR 1.0.3705;.NET CLR 1.1.4322; InfoPath.1;.NET CLR 2.0.50727) … GET / HTTP/1.1 … User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;.NET CLR 1.1.4322;.NET CLR 2.0.50727) … HTTP/1.1 500 Internal Server Error HTTP/1.1 200 OK Server: Microsoft-IIS/5.0 Date: Sun, 21 May 2006 05:53:14 GMT Content-Length: 3690 Content-Type: text/html Server: Microsoft-IIS/5.0 Date: Sun, 21 May 2006 06:06:34 GMT Content-Length: 11440 Content-Type: text/html 太長
66
User-Agent Src: http://msdn.microsoft.com/library/default.asp?url=/w orkshop/author/dhtml/overview/aboutuseragent.asp navigator.userAgent 100byte?
67
User-Agent: Mozilla/4.0 Mozilla is Code Name of NN 因為 NN 推出的時候,提供了不少先進的功能, 大部分的 WebServer 就以它為設計目標,針對 NN 的 Request 送出內容較豐富,可使用 NN 新 功能的網頁。 NN 會在 Request 中送出 User-Agent: Mozilla/x.x 的字串給 WebServer ,讓 WebServer 知道使用 者使用的新版的 Browser 。 MSIE 較晚進入瀏覽器市場,如果送出 User- Agent: InternetExplorer/x.x 給 WebServer ,怕 沒人理他,所以就假裝自己是 Mozilla 。
68
Common Failures when browsing www 打字錯誤 網路連線中斷 找不到伺服器 firewall Server crash www server process crash DNS 錯誤 ( 要等很久 )
69
500 (IIS) Server Error? Error Log sw=2|169|800a000d| 型態不符合 :_'clng ‘ 程式未檢查型別 [Microsoft][ODBC_SQL_Server_Driver][SQL _Server]String_or_binary_data_would_be_t runcated. 要塞入的資料大於資料庫定義的欄位大小 Programmer’s Error!
70
Redirection Why Redirect Efficiency 304 Not Modified Redirect Request to Client Cache Authentication redirect to login screen Versions Redirect to current version 轉址服務 Alias for short name Counter for adv www.ntu.edu.tw 1. GET 2. 304 3. Fetch from Cache
71
Implementation of Redirection JavaScript HTML Meta Tag HTTP ASP: Response.Redirect ASP: Server.Transfer
72
JavaScript Script window.document.location =newURL 1. GET 2. 304/200 ~kphsu var newURL= http://test.cc.ntu.edu.tw/kphsu/default.htm window.document.location =newURL; /kphsu/default.htm ccms test 3. Parse HTML & Execute Script 4. GET 5. 304/200 JavaScript HTML HTTP
73
Meta Tag 1. GET 2. 304/200 meta_redirect.htm redirect_target.htm 3. Interpret HTML 4. GET 5. 304/200 JavaScript HTML HTTP redirected to the redirect_target.htm automatically in 5 sec
74
ASP: Response.Redirect 1. GET 2. 302 Found redirect.asp redirect_target.htm 3. GET 4. 304/200 JavaScript HTML HTTP redirected to the redirect_target.htm automatically HTTP/1.1 302 Object moved Location: redirect_target.htm
75
ASP: Server.Transfer 1. GET 2. 200 transfer.asp redirect_target.htm Read redirect_target.htm and Response 3. read Hide redirect-url
76
IIS 1. GET 2. 301/302 /redirect redirect_target.htm 3. GET 4. 304/200 JavaScript HTML HTTP HTTP/1.1 301 Error Location: http://kptest.cc.ntu.edu.tw/http/redirect_target.htm [x]301 [ ]302
77
HTML Form Method: GET/POST + + 網址 :action.asp?x=1&y=2 submit 網址 :action.asp submit GET /http/action.asp?x=1&y=2 HTTP/1.1 … x=1&y=2 GET /http/action.asp HTTP/1.1 Content-Type: application/x-www-form- urlencoded Content-Length: 7 GET encode form data in URL, but Maximum URL length is 2,083 characters in Internet Explorer
78
WebDAV Build a WebDAV Web-Site Share Read Inspect: Fiddler Usage Explorer/ 工具 / 連線網路磁碟機 建立指向 Web 資料夾或 FTP 站台的捷徑 輸入位置 http://kptest.cc.ntu.edu.tw/webdav http://kptest.cc.ntu.edu.tw/webdav
79
Revisit PROFIND PROPFIND /webdav HTTP/1.1 Translate: f Depth: 1 Content-Length: 489 User-Agent: Microsoft Data Access Internet Publishing Provider DAV HTTP/1.1 207 Multi- Status Content-Location: http://kptest.cc.ntu.edu.tw/webdav/ Content-Type: text/xml
81
DELETE DELETE existing file >> DELETE /webdav/ntucc.jpg HTTP/1.1 << HTTP/1.1 200 OK DELETE vanish file >>DELETE /webdav/ntucc.jpg HTTP/1.1 << HTTP/1.1 404 Resource Not Found
82
PUT floppy.jpg Step1 Check Existence >>HEAD /webdav/floppy.jpg HTTP/1.1 <<HTTP/1.1 404 Resource Not Found Step Create >>PUT /webdav/floppy.jpg HTTP/1.1 <<HTTP/1.1 201 Created
83
Problem Solving Problem: news98 Problem:.NET 無法加入 Web 參考 Client Error Server Error Problem: DVD Image download failure Server Error Client Error
84
Problem:.NET 無法加入 Web 參考 看起來都對,就是無法加入參考
85
Content Type GET /http/wsdl.asp HTTP/1.1 Content-Type: text/html GET /http/wsdl.xml HTTP/1.1 Content-Type: text/xml == Solution: Override default Content Type of ASP
86
Content Type MIME HTTP Header Content-Type: text/html; charset=big5 HTML Meta Tag
87
Problem: DVD Image download failure http://140.112.8.174/gc/gc2006a.nrg 3,683,090,588 ie6&ie7beta2 FAIL, firefox OK http://140.112.8.174/gc/gc2006b.nrg 2,088,796,316 ie6 OK 3,683,090,588 FAIL 2,147,483,648 FAIL (2G) … 2,147,483,400 FAIL 2,147,483,399 OK … 2,088,796,316 OK Content-Length<2,147,483,400 for ie
88
10 Snail wheels 動態產生十張同樣的圖,如果都一樣 送一張給 Client 就好了 Implementations inline execution after onload(document.write) after onload(DOM) after onload(DOM) from good source
89
Solution Web Share images folder 專屬的 images Folder HTTP 標題 [x] 啟用內容到其限制 (*) 到期時間 1 日 (ex.) Browse http://kptest.cc.ntu.edu.tw/http/invoke10a2.htm [Enter] http://kptest.cc.ntu.edu.tw/http/invoke10a2.htm 只取回 invoke10a.htm, no image access Reload will revalidate 20 same images 23 image request
90
Flicker Problem A visible fading between frames displayed on monitors at low refresh rate. Reasons Improper design web page Heavy loaded servers Insufficient bandwidth Dummy browsers ASP.NET 的程式很嚴重
91
Asia Page Loaded Cleanup Europe
92
Flicker Eliminations in Web Fade in/fade out filter Ajax zumiPage
93
References W3C, Hypertext Transfer Protocol, http://www.w3.org/Protocols/ David Gourley, Brian Totty, “HTTP: The Definitive Guide”, O’Reilly Eirc Lawrence, “Fiddler HTTP Debugger”, Microsoft “HttpWatch”, Simtec Limited RUN!PC 144,145 HTTP 專屬偵測工具 Fiddler, 李明儒
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.