国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
http協(xié)議學(xué)習(xí)和總結(jié)系列

文:阿蜜果

日期:2009-11-30

1. 基礎(chǔ)概念篇

1.1 介紹

HTTP的發(fā)展是萬(wàn)維網(wǎng)協(xié)會(huì)(World Wide Web Consortium)和Internet工作小組(Internet Engineering Task Force)合作的結(jié)果,(他們)最終發(fā)布了一系列的RFC,其中最著名的就是RFC 2616。RFC 2616定義了HTTP協(xié)議的我們今天普遍使用的一個(gè)版本——HTTP 1.1。

HTTP協(xié)議(HyperText Transfer Protocol,超文本傳輸協(xié)議)是用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。它可以使瀏覽器更加高效,使網(wǎng)絡(luò)傳輸減少。它不僅保證計(jì)算機(jī)正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內(nèi)容首先顯示(如文本先于圖形)等。

1.2 工作流程

一次HTTP操作稱為一個(gè)事務(wù),其工作過(guò)程可分為四步:

1)首先客戶機(jī)與服務(wù)器需要建立連接。只要單擊某個(gè)超級(jí)鏈接,HTTP的工作開(kāi)始。

2)建立連接后,客戶機(jī)發(fā)送一個(gè)請(qǐng)求給服務(wù)器,請(qǐng)求方式的格式為:統(tǒng)一資源標(biāo)識(shí)符(URL)、協(xié)議版本號(hào),后邊是MIME信息包括請(qǐng)求修飾符、客戶機(jī)信息和可能的內(nèi)容。

3)服務(wù)器接到請(qǐng)求后,給予相應(yīng)的響應(yīng)信息,其格式為一個(gè)狀態(tài)行,包括信息的協(xié)議版本號(hào)、一個(gè)成功或錯(cuò)誤的代碼,后邊是MIME信息包括服務(wù)器信息、實(shí)體信息和可能的內(nèi)容。

4)客戶端接收服務(wù)器所返回的信息通過(guò)瀏覽器顯示在用戶的顯示屏上,然后客戶機(jī)與服務(wù)器斷開(kāi)連接。

如果在以上過(guò)程中的某一步出現(xiàn)錯(cuò)誤,那么產(chǎn)生錯(cuò)誤的信息將返回到客戶端,有顯示屏輸出。對(duì)于用戶來(lái)說(shuō),這些過(guò)程是由HTTP自己完成的,用戶只要用鼠標(biāo)點(diǎn)擊,等待信息顯示就可以了。

1.3 使用WiresharkTCP、http

打開(kāi)Wireshark,選擇工具欄上的“Capture->Options”,界面選擇如圖1所示:
                            


1 設(shè)置Capture選項(xiàng)

一般讀者只需要選擇最上邊的下拉框,選擇合適的Device,而后點(diǎn)擊“Capture Filter”,此處選擇的是“HTTP TCP port80)”,選擇后點(diǎn)擊上圖的“Start”開(kāi)始抓包。
                                 


2 選擇Capture Filter

例如在瀏覽器中打開(kāi)http://image.baidu.com/,抓包如圖3所示:
   http://image5.360doc.com/DownloadImg/2009/12/1/11192_10133313_3.jpg


3   抓包

在上圖中,可清晰的看到客戶端瀏覽器(ip192.168.2.33)與服務(wù)器的交互過(guò)程:

1No1:瀏覽器(192.168.2.33)向服務(wù)器(220.181.50.118)發(fā)出連接請(qǐng)求。此為TCP三次握手第一步,此時(shí)從圖中可以看出,為SYNseq:X x=0

2No2:服務(wù)器(220.181.50.118)回應(yīng)了瀏覽器(192.168.2.33)的請(qǐng)求,并要求確認(rèn),此時(shí)為:SYN,ACK,此時(shí)seqyy0),ACKx+1(為1)。此為三次握手的第二步;

3No3:瀏覽器(192.168.2.33)回應(yīng)了服務(wù)器(220.181.50.118)的確認(rèn),連接成功。為:ACK,此時(shí)seqx+1(為1),ACKy+1(為1)。此為三次握手的第三步;

4No4:瀏覽器(192.168.2.33)發(fā)出一個(gè)頁(yè)面HTTP請(qǐng)求;

5No5:服務(wù)器(220.181.50.118)確認(rèn);

6No6:服務(wù)器(220.181.50.118)發(fā)送數(shù)據(jù);

7No7:客戶端瀏覽器(192.168.2.33)確認(rèn);

8No14:客戶端(192.168.2.33)發(fā)出一個(gè)圖片HTTP請(qǐng)求;

9No15:服務(wù)器(220.181.50.118)發(fā)送狀態(tài)響應(yīng)碼200 OK

……

1.4 頭域

每個(gè)頭域由一個(gè)域名,冒號(hào)(:)和域值三部分組成。域名是大小寫無(wú)關(guān)的,域值前可以添加任何數(shù)量的空格符,頭域可以被擴(kuò)展為多行,在每行開(kāi)始處,使用至少一個(gè)空格或制表符。

在抓包的圖中,No14點(diǎn)開(kāi)可看到如圖4所示:
   http://image5.360doc.com/DownloadImg/2009/12/1/11192_10133313_4.jpg


4 http請(qǐng)求消息

       回應(yīng)的消息如圖5所示:
              


5 http狀態(tài)響應(yīng)信息

1.3.1 host頭域

Host頭域指定請(qǐng)求資源的Intenet主機(jī)和端口號(hào),必須表示請(qǐng)求url的原始服務(wù)器或網(wǎng)關(guān)的位置。HTTP/1.1請(qǐng)求必須包含主機(jī)頭域,否則系統(tǒng)會(huì)以400狀態(tài)碼返回。

5host那行為:
   


1.3.2 Referer頭域

Referer頭域允許客戶端指定請(qǐng)求uri的源資源地址,這可以允許服務(wù)器生成回退鏈表,可用來(lái)登陸、優(yōu)化cache等。他也允許廢除的或錯(cuò)誤的連接由于維護(hù)的目的被追蹤。如果請(qǐng)求的uri沒(méi)有自己的uri地址,Referer不能被發(fā)送。如果指定的是部分uri地址,則此地址應(yīng)該是一個(gè)相對(duì)地址。

在圖4中,Referer行的內(nèi)容為:
   


1.3.3 User-Agent頭域

User-Agent頭域的內(nèi)容包含發(fā)出請(qǐng)求的用戶信息。

在圖4中,User-Agent行的內(nèi)容為:
   http://www.blogjava.net/images/blogjava_net/amigoxie/40799/o_http%e5%8d%8f%e8%ae%ae%e5%ad%a6%e4%b9%a0-%e6%a6%82%e5%bf%b5-8.jpg

1.3.4 Cache-Control頭域

Cache-Control指定請(qǐng)求和響應(yīng)遵循的緩存機(jī)制。在請(qǐng)求消息或響應(yīng)消息中設(shè)置Cache-Control并不會(huì)修改另一個(gè)消息處理過(guò)程中的緩存處理過(guò)程。請(qǐng)求時(shí)的緩存指令包括no-cache、no-storemax-age、max-stalemin-fresh、only-if-cached,響應(yīng)消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidateproxy-revalidate、max-age

在圖5中的該頭域?yàn)椋?br>   



1.3.5 Date頭域

Date頭域表示消息發(fā)送的時(shí)間,時(shí)間的描述格式由rfc822定義。例如,Date:Mon,31Dec200104:25:57GMT。Date描述的時(shí)間表示世界標(biāo)準(zhǔn)時(shí),換算成本地時(shí)間,需要知道用戶所在的時(shí)區(qū)。

5中,該頭域如下圖所示:
  


1.4 http的狀態(tài)響應(yīng)碼

1.4.1 1**:請(qǐng)求收到,繼續(xù)處理

100——客戶必須繼續(xù)發(fā)出請(qǐng)求

101——客戶要求服務(wù)器根據(jù)請(qǐng)求轉(zhuǎn)換HTTP協(xié)議版本

1.4.2 2**:操作成功收到,分析、接受

200——交易成功
201——提示知道新文件的URL

202——接受和處理、但處理未完成

203——返回信息不確定或不完整

204——請(qǐng)求收到,但返回信息為空

205——服務(wù)器完成了請(qǐng)求,用戶代理必須復(fù)位當(dāng)前已經(jīng)瀏覽過(guò)的文件

206——服務(wù)器已經(jīng)完成了部分用戶的GET請(qǐng)求

1.4.3 3**:完成此請(qǐng)求必須進(jìn)一步處理

300——請(qǐng)求的資源可在多處得到

301——刪除請(qǐng)求數(shù)據(jù)

302——在其他地址發(fā)現(xiàn)了請(qǐng)求數(shù)據(jù)

303——建議客戶訪問(wèn)其他URL或訪問(wèn)方式

304——客戶端已經(jīng)執(zhí)行了GET,但文件未變化

305——請(qǐng)求的資源必須從服務(wù)器指定的地址得到

306——前一版本HTTP中使用的代碼,現(xiàn)行版本中不再使用

307——申明請(qǐng)求的資源臨時(shí)性刪除

1.4.4 4**:請(qǐng)求包含一個(gè)錯(cuò)誤語(yǔ)法或不能完成

400——錯(cuò)誤請(qǐng)求,如語(yǔ)法錯(cuò)誤

401——未授權(quán)

HTTP 401.1 - 未授權(quán):登錄失敗

  HTTP 401.2 - 未授權(quán):服務(wù)器配置問(wèn)題導(dǎo)致登錄失敗

  HTTP 401.3 - ACL 禁止訪問(wèn)資源

  HTTP 401.4 - 未授權(quán):授權(quán)被篩選器拒絕

HTTP 401.5 - 未授權(quán):ISAPI CGI 授權(quán)失敗

402——保留有效ChargeTo頭響應(yīng)

403——禁止訪問(wèn)

HTTP 403.1 禁止訪問(wèn):禁止可執(zhí)行訪問(wèn)

  HTTP 403.2 - 禁止訪問(wèn):禁止讀訪問(wèn)

  HTTP 403.3 - 禁止訪問(wèn):禁止寫訪問(wèn)

  HTTP 403.4 - 禁止訪問(wèn):要求 SSL

  HTTP 403.5 - 禁止訪問(wèn):要求 SSL 128

  HTTP 403.6 - 禁止訪問(wèn):IP 地址被拒絕

  HTTP 403.7 - 禁止訪問(wèn):要求客戶證書

  HTTP 403.8 - 禁止訪問(wèn):禁止站點(diǎn)訪問(wèn)

  HTTP 403.9 - 禁止訪問(wèn):連接的用戶過(guò)多

  HTTP 403.10 - 禁止訪問(wèn):配置無(wú)效

  HTTP 403.11 - 禁止訪問(wèn):密碼更改

  HTTP 403.12 - 禁止訪問(wèn):映射器拒絕訪問(wèn)

  HTTP 403.13 - 禁止訪問(wèn):客戶證書已被吊銷

  HTTP 403.15 - 禁止訪問(wèn):客戶訪問(wèn)許可過(guò)多

  HTTP 403.16 - 禁止訪問(wèn):客戶證書不可信或者無(wú)效

HTTP 403.17 - 禁止訪問(wèn):客戶證書已經(jīng)到期或者尚未生效

404——沒(méi)有發(fā)現(xiàn)文件、查詢或URl

405——用戶在Request-Line字段定義的方法不允許

406——根據(jù)用戶發(fā)送的Accept拖,請(qǐng)求資源不可訪問(wèn)

407——類似401,用戶必須首先在代理服務(wù)器上得到授權(quán)

408——客戶端沒(méi)有在用戶指定的餓時(shí)間內(nèi)完成請(qǐng)求

409——對(duì)當(dāng)前資源狀態(tài),請(qǐng)求不能完成

410——服務(wù)器上不再有此資源且無(wú)進(jìn)一步的參考地址

411——服務(wù)器拒絕用戶定義的Content-Length屬性請(qǐng)求

412——一個(gè)或多個(gè)請(qǐng)求頭字段在當(dāng)前請(qǐng)求中錯(cuò)誤

413——請(qǐng)求的資源大于服務(wù)器允許的大小

414——請(qǐng)求的資源URL長(zhǎng)于服務(wù)器允許的長(zhǎng)度

415——請(qǐng)求資源不支持請(qǐng)求項(xiàng)目格式

416——請(qǐng)求中包含Range請(qǐng)求頭字段,在當(dāng)前請(qǐng)求資源范圍內(nèi)沒(méi)有range指示值,請(qǐng)求也不包含If-Range請(qǐng)求頭字段

417——服務(wù)器不滿足請(qǐng)求Expect頭字段指定的期望值,如果是代理服務(wù)器,可能是下一級(jí)服務(wù)器不能滿足請(qǐng)求長(zhǎng)。

1.4.5 5**:服務(wù)器執(zhí)行一個(gè)完全有效請(qǐng)求失敗

  HTTP 500 - 內(nèi)部服務(wù)器錯(cuò)誤

  HTTP 500.100 - 內(nèi)部服務(wù)器錯(cuò)誤 - ASP 錯(cuò)誤

  HTTP 500-11 服務(wù)器關(guān)閉

  HTTP 500-12 應(yīng)用程序重新啟動(dòng)

  HTTP 500-13 - 服務(wù)器太忙

  HTTP 500-14 - 應(yīng)用程序無(wú)效

  HTTP 500-15 - 不允許請(qǐng)求 global.asa

  Error 501 - 未實(shí)現(xiàn)

HTTP 502 - 網(wǎng)關(guān)錯(cuò)誤

    附錄:參考資料

http_百度百科》:http://baike.baidu.com/view/9472.htm

《結(jié)果編碼和http狀態(tài)響應(yīng)碼》:http://blog.tieniu1980.cn/archives/377

《分析TCP的三次握手》:

http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece763104c8c711923d030678197027fa3c215cc7905141130a8e5747e0d548d98297a5ae91e03f7f63772315477e3cacdd94cdbbdc42225d82c36734f844315c419d891007a9f34d507a9f916a2e1b065d2f48193864353bb15543897f1fb4d711edd1b86033093b1e94e022e67adec40728e2e605f983431c5508fe4&p=c6769a46c5820efd08e2973b42&user=baidu

《使用Wireshark來(lái)檢測(cè)一次HTTP連接過(guò)程》:

http://blog.163.com/wangbo_tester/blog/static/12806792120098174162288/

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
錯(cuò)誤代碼匯總
服務(wù)器返回狀態(tài)碼圖解
理解HTTP/304響應(yīng)(HTTP原理中的緩存機(jī)制)
http 錯(cuò)誤代碼表 - SilverLight Life - 博客園
php header()函數(shù)使用說(shuō)明
HTTP1.0與HTTP1.1的區(qū)別
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服