版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)訓(xùn)十八http協(xié)議規(guī)范化實(shí)訓(xùn)一、實(shí)訓(xùn)目的1、了解http協(xié)議相關(guān)內(nèi)容;2、掌握iittp協(xié)議規(guī)范化的配置方法。二、應(yīng)用環(huán)境http協(xié)議規(guī)范化是指根據(jù)http協(xié)議本身的一些協(xié)議特性及在正常訪(fǎng)問(wèn)網(wǎng)站時(shí),協(xié)議交 互的過(guò)程中產(chǎn)生的一些配置參數(shù),對(duì)這些特性和參數(shù)進(jìn)行保護(hù)和過(guò)濾,保護(hù)正常準(zhǔn)確的信息 能夠完成交互,并對(duì)非法的超出規(guī)定的不合法信息加以過(guò)濾和阻止。三、實(shí)訓(xùn)設(shè)備1、waf設(shè)備1臺(tái)2、pc機(jī)2臺(tái)3、雙絞線(xiàn)(直通)2根四. 實(shí)訓(xùn)拓?fù)鋋pc機(jī)1/24waf/24透明部署模式pc機(jī)2/24五、實(shí)訓(xùn)要求1、按照拓?fù)溥B接網(wǎng)絡(luò)2、按照拓?fù)渲械膇
2、p地址配置設(shè)備ip六、實(shí)訓(xùn)步驟第一步:在pc機(jī)2上部署要進(jìn)行網(wǎng)絡(luò)爬蟲(chóng)的網(wǎng)站,并在木地訪(fǎng)問(wèn)正常,在pc機(jī)2上打開(kāi)瀏 覽器輸入 http:/127. 0. 0. 1/q(ae>5«* “口呀 aft人艮幀q團(tuán)©內(nèi)2011-03-22bft 人艮jrjrq飛il軟件無(wú)也mt2011 03-22c人"jr201103-22 da 人&mvo三方文付企業(yè)戍r介入氛5!*城20110>22e人 milg 分 <r«201?»utubel«2011022 fa 人 swo¥»xk文聲謖20h03-22
3、g人艮顧q電子翻加e20110>22q(sj1a紐濟(jì)雯員舍q費(fèi)金便用hibfit?201103-22dlttftttwt201103-22桶晰公眾網(wǎng)2011 03-22q安tax車(chē)他社人電氏臺(tái) (時(shí)6內(nèi)咅星利 012011-022asb»g安ant車(chē)法電人電m臺(tái)低俗內(nèi)saw2011-03-22q(ev»)oltsm«tt»pkh>l«拆辻龍妞臧無(wú)彥矗2011-03-22ungnrddigolchma comowwt2011-03-222011 03-22蜩床緒9名利長(zhǎng)費(fèi)產(chǎn)2007-04-122007-04-112007-04.11&
4、#171;£s1州大x: a仗不舷孕m0704-11m0704-11頤公開(kāi)堂討200s-10-01第二步:在pc機(jī)1上打開(kāi)瀏覽器輸入https:/192.16& 1.2/登錄waf設(shè)備,將保護(hù)網(wǎng)站添 加到waf站點(diǎn)管理中,左側(cè)功能樹(shù)進(jìn)入站點(diǎn)->站點(diǎn)管理,點(diǎn)擊新建按鈕d«zii添加宇母開(kāi)頭字母數(shù)字和下劃線(xiàn)組咸,長(zhǎng)度為1到14點(diǎn)分+遊制整數(shù),形如:1到65535之(db披數(shù)每個(gè)站點(diǎn)的多個(gè)域名間侵用半角逗號(hào)分踽,形如:每行為一個(gè)站點(diǎn)的所有母名,魯入多個(gè)恢名以15號(hào)分隔如:,取消輸入web服務(wù)器ip地址和端口,點(diǎn)擊確泄,將網(wǎng)站加入waf保護(hù)中站
5、點(diǎn)官理旨斬建迭擇服弄名稱(chēng)服奔類(lèi)2s主機(jī)地址主機(jī)謂口第略篥 站點(diǎn)域名h作jservedhttp192.1681.3803陽(yáng)価1全迭鬥梆所送注意:此步驟中策略集選擇“無(wú)”第三步:在pc機(jī)1上打開(kāi)瀏覽器輸入http:/192.168.l3訪(fǎng)問(wèn)網(wǎng)站,能夠正常訪(fǎng)問(wèn)3 i 19246t13會(huì)e 訊goopp <aiasuavtfldmu4>»cinetutawttov* ”20071?©b絡(luò)確拿入2007-112003homsanmex: 位不崛 wsa20071-11oemaw vt »a 人 rbag£d疑內(nèi)201m3-22» 人 rbr2
6、0114342 c人 rbkdazhohrabka*20114>» d人cmhnsflfilt 9)介入京im20,1322第四步:在pc機(jī)1上打開(kāi)瀏覽器輸入https:/192.168.l2登錄waf,進(jìn)入防護(hù)-web攻擊 防護(hù)-請(qǐng)求限制,點(diǎn)擊新建策略名稱(chēng)為qq満求限制宙 «»第略描謎門(mén)頁(yè)i1 習(xí)策略xi天閉t測(cè)產(chǎn)格i 中攣 責(zé)松t新建完成點(diǎn)擊修改請(qǐng)求限制序號(hào)笫fig名稱(chēng)關(guān)閉請(qǐng)束限制檢 1刻2 產(chǎn)格請(qǐng)求除制3 中等請(qǐng)求限制4 克松請(qǐng)求限制策路描謎服務(wù)俸止請(qǐng)求限制檢測(cè)功能,用于調(diào)說(shuō)、排除網(wǎng)絡(luò) 問(wèn)題。根廁站資漁和用戶(hù)訪(fǎng)問(wèn)情丸,oesili求顒制 根擔(dān)網(wǎng)站資源和
7、用戶(hù)訪(fǎng)問(wèn)情;兄,sse請(qǐng)求阻制 一 根據(jù)網(wǎng)站資源和用戶(hù)訪(fǎng)問(wèn)情;兄戢舌請(qǐng)求柬制 一操作5 qq每頁(yè)顯示10 軋當(dāng)前第1/1頁(yè)可以看到該項(xiàng)目的許多參數(shù)配置項(xiàng)li , h前輸入框中默認(rèn)的參數(shù)數(shù)值大小為http協(xié)議規(guī)范 的一個(gè)標(biāo)準(zhǔn)值,超過(guò)或者小于某些參數(shù)值得時(shí)候waf會(huì)識(shí)別為不正確或者不正常的http數(shù) 據(jù),就會(huì)把這種不符合要求的數(shù)據(jù)包丟棄91求限制名稱(chēng):qqfii*:327684096包廷請(qǐng)求中的各個(gè)報(bào)頭旦不包廷請(qǐng)柚body祁分推薦值:32768 (32k)直飼懐數(shù)最大個(gè)教:64最多 cookiet:40所吉的cookiebj以後包含在-cookie:生部中(tt*)name«value.
8、以分號(hào)編開(kāi)cookie名最大長(zhǎng)度:64彌:64cookieffift 大長(zhǎng)度:4096單個(gè)cookieft最大長(zhǎng)除推薦:4096色廷垂磚苻率。推祜4096 定義url中直磚苻率的最大長(zhǎng)廈ourlr大長(zhǎng)度: 董謁m苻率最大長(zhǎng)曲4096禁止的內(nèi)苔矣型:謂迭繹內(nèi)杏矣型(optionsget,!put 'delete<一>post headj j j jtractconnect已送擇內(nèi)咨矣23|text/htmltext/plam application/xhtmkxml 'image/grf image/jpegv2返回第五步:根據(jù)上面的參數(shù)值我們做一下實(shí)驗(yàn),這里比較容易
9、做而又顯示比較直觀(guān)的是url 最大長(zhǎng)度、允許的method.禁止的內(nèi)容類(lèi)型。我們先做第一個(gè),url最大長(zhǎng)度意思就是你在瀏覽器里面輸入的字符串的長(zhǎng)度,下面更改的 小一些,更改為10,點(diǎn)擊確定url最大長(zhǎng)度:10包括査詢(xún)亨苻串。o: 4096添加除送中站點(diǎn)取満進(jìn)入整體防護(hù)策略集-新建策略集qq_zt,在此策略集屮應(yīng)用qq這個(gè)請(qǐng)求限制策略webfft護(hù)簞扈cc防枳笨嵐盜鉅防:蟲(chóng)防護(hù)笨爼 掃砂護(hù)藁爼 話(huà)束隈捌苯聽(tīng)q<l.zt |防陽(yáng)快詢(xún)bg名稱(chēng)1£述是否加入第路集關(guān)閉請(qǐng)術(shù)原制檢測(cè)停止謂求限刮也劇功能,用于調(diào)試、挎除網(wǎng)絡(luò)問(wèn)抱» ©產(chǎn)格謁求眼制根闕站資源和用戶(hù)訪(fǎng)耐情紀(jì),
10、e中等謂求備制根據(jù)網(wǎng)站吏涌和用戶(hù)訪(fǎng)問(wèn)情況,o竟松清宋原制根ib網(wǎng)站惹障和用戶(hù)訪(fǎng)間佰況,qqe |du返回進(jìn)入站點(diǎn)-站點(diǎn)管理-修改,應(yīng)用整體策略集qq_zt到站點(diǎn)點(diǎn)分+邊整形如:1到65535之間的整數(shù)毎個(gè)站點(diǎn)的多個(gè)蟻名間便用半角逗號(hào)分烯形 如:,毎行為一個(gè)站點(diǎn)吊所育域名,魯入多個(gè)無(wú)名, 以逗號(hào)分躍如:此時(shí)我們?cè)跒g覽器里輸入hllp:/192. 168.1.3/訪(fǎng)問(wèn)網(wǎng)站,會(huì)出現(xiàn)“請(qǐng)求包數(shù)據(jù)不符合要求! ” 的提示1用1 |http:/192.168.13請(qǐng)求包數(shù)據(jù)不符合要求!通過(guò)我們輸入的url可以得出,輸入的字符超過(guò)了 10個(gè),waf就認(rèn)為這是不正常的數(shù)據(jù), 就阻止掉了
11、。允許的method:請(qǐng)迭擇method已迭擇method同樣我們做允許的method實(shí)驗(yàn),上面我們已經(jīng)把策略引用到保護(hù)了,本次我們直接進(jìn)入 -web攻擊防護(hù)-請(qǐng)求限制-qq策略中修改該策略的參數(shù)即可,從卜圖看到右側(cè)的框中是默 認(rèn)被選屮的http方法ophons put delete trace connect現(xiàn)在我們?cè)谟覀?cè)的框中只保留post,點(diǎn)擊保存,之前更改的url最大長(zhǎng)度需要還原默認(rèn)值32768 (32k)cookieff最大長(zhǎng)度: 允許的method:請(qǐng)末豪大長(zhǎng)度:url最大長(zhǎng)度:大長(zhǎng)度: 大個(gè)數(shù):11 多 cookiemt:cookie名h大長(zhǎng)歟此時(shí)我們?cè)跒g覽器中輸入http:/1
12、92. 16&1.3訪(fǎng)問(wèn)web服務(wù)器(此方法訪(fǎng)問(wèn)網(wǎng)站是屬于 http方法中的get方法),因只允許了 post所以訪(fǎng)問(wèn)被阻止http:/192.168.13403您所請(qǐng)求的網(wǎng)址(url)無(wú)法獲取下面我們做禁止的內(nèi)容類(lèi)型實(shí)驗(yàn)在第一個(gè)實(shí)驗(yàn)屮我們已經(jīng)把策略引用到保護(hù)了,本次我們直接進(jìn)入-web攻擊防護(hù)-請(qǐng)求限 制-qq策略中修改該策略的參數(shù)即可,修改前先將第二個(gè)實(shí)驗(yàn)中更改的內(nèi)容改冋,再修改 禁止的內(nèi)容類(lèi)型為text/html,如下圖所示允許的method:loptionsdelete trace connect purge請(qǐng)迭擇method請(qǐng)迭擇內(nèi)咨類(lèi)型post get heada已迭擇me
13、thod已迭擇內(nèi)谷類(lèi)型text/html車(chē)止的內(nèi)苔類(lèi)型:application/msword !message/rfc822 multipart/alternative application/x-www-form-l multipart/form-data此時(shí)我們?cè)跒g覽器中輸入http:/192. 168. 1. 3/index. php訪(fǎng)問(wèn)web服務(wù)器的首頁(yè),因策略 屮我們禁止了 text/html類(lèi)型內(nèi)容的訪(fǎng)問(wèn),所以此處訪(fǎng)問(wèn)會(huì)被阻止http:/192.168.13403您所請(qǐng)求的網(wǎng)址(url)無(wú)法獲取第六步:通過(guò)以上三個(gè)實(shí)驗(yàn)說(shuō)明,有效利用和控制http協(xié)議中的相關(guān)字段和參數(shù)能夠有效 的阻
14、止攻擊保障正常合法的瀏覽同行,而普通的服務(wù)器或者防火墻是無(wú)法實(shí)現(xiàn)這一點(diǎn)的,只 有通過(guò)專(zhuān)業(yè)的web安全設(shè)備waf才可以做到。七、注意事項(xiàng)和排錯(cuò)1、需要將保護(hù)網(wǎng)站添加到waf保護(hù)中,才能夠保護(hù)生效。2、防護(hù)不能生效時(shí)檢查配置參數(shù),并重新應(yīng)用該策略。3、在實(shí)驗(yàn)過(guò)程屮注意及時(shí)清空瀏覽器緩存以免產(chǎn)生影響。八、配置序列無(wú)九、共同思考結(jié)合知識(shí)背景思考http的不足?十、課后練習(xí)嘗試上述實(shí)驗(yàn)屮的其他參數(shù)進(jìn)行實(shí)驗(yàn)操作?十一、知識(shí)背景http(hypertext transfer protocol)又稱(chēng)為超文本傳輸協(xié)議,是互聯(lián)網(wǎng)上應(yīng)用最為廣泛 的一種網(wǎng)絡(luò)協(xié)議。所有的www文件都必須遵守這個(gè)標(biāo)準(zhǔn)。設(shè)計(jì)http最初的
15、目的是為了 提供一種發(fā)布和接收html頁(yè)面的方法。簡(jiǎn)介1960年美國(guó)人ted nelson構(gòu)思了一種通過(guò)計(jì)算機(jī)處理文本信息的方法,并稱(chēng)之為超文 本(hypertext),這成為了 http超文本傳輸協(xié)議標(biāo)準(zhǔn)架構(gòu)的發(fā)展根基。ted nelson組 織協(xié) 調(diào)萬(wàn)維網(wǎng)協(xié)會(huì)(world wide web consortium) 0 internet 工作小組(intcmct engineering task force)共同合作研究,最終發(fā)布了一系列的rfc,其屮最著名的就是rfc2616。rfc 2616 定義了 http協(xié)議的我們今天普遍使用的一個(gè)版本http l.loted nelson對(duì)http
16、技術(shù)的發(fā)展貢獻(xiàn)頗大,被公認(rèn)為“http之父覽1966年,ted nelson 創(chuàng)立了專(zhuān)注于電腦外圍設(shè)備、電腦包等產(chǎn)品線(xiàn)的http公司。技術(shù)架構(gòu)http是一個(gè)客戶(hù)端和服務(wù)器端請(qǐng)求和應(yīng)答的標(biāo)準(zhǔn)(tcp)??蛻?hù)端是終端用戶(hù),服務(wù) 器端是網(wǎng)站。通過(guò)使用web瀏覽器、網(wǎng)絡(luò)爬蟲(chóng)或者其它的工具,客戶(hù)端發(fā)起一個(gè)到服務(wù)器 上指定端口(默認(rèn)端口為80)的http請(qǐng)求。(我們稱(chēng)這個(gè)客戶(hù)端)叫用戶(hù)代理(user agent)o 應(yīng)答的服務(wù)器上存儲(chǔ)著(一些)資源,比如html文件和圖像。(我們稱(chēng))這個(gè)應(yīng)答服務(wù)器 為源服務(wù)器(origin server)o在用戶(hù)代理和源服務(wù)器中間可能存在多個(gè)屮間層,比如代理, 網(wǎng)關(guān),或者
17、隧道(tunnels)o盡管tcp/ip協(xié)議是互聯(lián)網(wǎng)上最流行的應(yīng)用,http協(xié)議并沒(méi)有 規(guī)定必須使用它和(基于)它支持的層。事實(shí)上,http可以在任何其他互聯(lián)網(wǎng)協(xié)議上, 或者在其他網(wǎng)絡(luò)上實(shí)現(xiàn)。http只假定(其下層協(xié)議提供)可靠的傳輸,任何能夠提供這種 保證的協(xié)議都可以被其使用。通常,由http客戶(hù)端發(fā)起一個(gè)請(qǐng)求,建立一個(gè)到服務(wù)器指定端口(默認(rèn)是80端口) 的tcp連接。http服務(wù)器則在那個(gè)端口監(jiān)聽(tīng)客戶(hù)端發(fā)送過(guò)來(lái)的請(qǐng)求。一旦收到請(qǐng)求,服 務(wù)器(向客戶(hù)端)發(fā)回一個(gè)狀態(tài)行,比如“http/1200 oku,和(響應(yīng)的)消息,消息的 消息體可能是請(qǐng)求的文件、錯(cuò)誤消息、或者其它一些信息。http使用
18、tcp而不是udp的原因在于(打開(kāi))一個(gè)網(wǎng)頁(yè)必須傳送很多數(shù)據(jù),而tcp 協(xié)議提供傳輸控制,按順序組織數(shù)據(jù),和錯(cuò)誤糾正。通過(guò)http或者h(yuǎn)ttps協(xié)議請(qǐng)求的資源由統(tǒng)一資源標(biāo)示符(uniform resource identifiers) (或者,更準(zhǔn)確一些,urls)來(lái)標(biāo)識(shí)。協(xié)議功能http是超文本傳輸協(xié)議,是客戶(hù)端瀏覽器或其他程序與web服務(wù)器之間的應(yīng)用層通 信協(xié)議。在internet ±的web服務(wù)器上存放的都是超文本信息,客戶(hù)機(jī)需要通過(guò)http協(xié)議 傳輸所要訪(fǎng)問(wèn)的超文本信息。http包含 命令和傳輸信息,不僅可用于web訪(fǎng)問(wèn),也可以 用于其他因特網(wǎng)/內(nèi)聯(lián)網(wǎng)應(yīng)用系統(tǒng)之i'可
19、的通信,從而實(shí)現(xiàn)各類(lèi)應(yīng)用資源超媒體訪(fǎng)問(wèn)的集成。當(dāng)我們想瀏覽一個(gè)網(wǎng)站的時(shí)候,只要在瀏覽器的地址欄里輸入網(wǎng)站的地址就可以了,例 如www. * .com,但是在瀏覽器的地址欄里面出現(xiàn)的卻是:http:/www. *,你知道為什 么會(huì)多出一個(gè)“http”嗎?我們?cè)跒g覽器的地址欄里輸入的網(wǎng)站地址叫做url (uniform resource locator,統(tǒng)一資 源定位符)。就像每家每戶(hù)都有一個(gè)門(mén)牌地址一樣,每個(gè)網(wǎng)頁(yè)也都有一個(gè)internet地址。當(dāng)你 在瀏覽器的地址框中輸入一個(gè)url或是單擊一個(gè)超級(jí)鏈接時(shí),url就確定了要瀏覽的地址。 瀏覽器通過(guò)超文本傳輸協(xié)議(http),將web服務(wù)器上站點(diǎn)的網(wǎng)
20、頁(yè) 代碼提取出來(lái),并翻譯成 漂亮的網(wǎng)頁(yè)。因此,在我們認(rèn)識(shí)http之前,有必要先弄清楚url的組成,例如: http:/www.*.com /china/index.htmo 它的含義如下:l http:/:代表超文本轉(zhuǎn)移協(xié)議,通知*.com服務(wù)器顯示web頁(yè),通常不用輸入;2. www:代表一個(gè)web (萬(wàn)維網(wǎng))服務(wù)器;3*和也com/:這是裝有網(wǎng)頁(yè)的服務(wù)器的域名,或站點(diǎn)服務(wù)器的名稱(chēng);4. china/:為該服務(wù)器上的子目錄,就好像我們的文件夾;5. index.htm: index.htm是文件夾中的一個(gè)html文件(網(wǎng)頁(yè))。我們知道internet的基本協(xié)議是tcp/ip協(xié)議,然而在tcp
21、/ip模型最上層的是應(yīng)用層 (application layer),它包含所有高層的協(xié)議。高層協(xié)議有:文件傳輸協(xié)議ftp、電子郵件 傳輸協(xié)議smtp、域名系統(tǒng)服務(wù)dns、網(wǎng)絡(luò)新聞傳輸協(xié)議nntp和http協(xié)議等。http協(xié)議(hypeftext transfer protocol,超文本傳輸協(xié)議)是用于從www服務(wù)器傳 輸超文本到本地瀏覽器的傳輸協(xié)議。它可以使瀏覽器更加高效,使網(wǎng)絡(luò)傳輸減少。它不僅保 證計(jì)算機(jī)正確快速地傳輸超文本文檔,還確定傳輸文檔屮的哪一部分,以及哪部分內(nèi)容首 先顯示(如文本先于圖形)等。這就是你為什么在瀏覽器中看到的網(wǎng)頁(yè)地址都是以hup:/開(kāi)頭 的原因。自www誕生以來(lái),一
22、個(gè)多姿多彩的資訊和虛擬的世界便出現(xiàn)在我們眼前,可是我們 怎么能夠更加容易地找到我們需要的資訊呢?當(dāng)決定使用超文本作為www文檔的標(biāo)準(zhǔn) 格式后,于是在1990年,科學(xué)家們立即制定了能夠快速查找這些超文本文檔的協(xié)議,即 http協(xié)議。經(jīng)過(guò)幾年的使用與發(fā)展,得到不斷的完善和擴(kuò)展,目前在www中使用的是 http/1.0的第六版。協(xié)議基礎(chǔ)http (hypertext transport protocol)是超文本傳輸協(xié)議的縮寫(xiě),它用于傳送www 方式的數(shù)據(jù),關(guān)于http協(xié)議的詳細(xì)內(nèi)容請(qǐng)參考rfc2616o http協(xié)議采用了請(qǐng)求/響 應(yīng)模 型??蛻?hù)端向服務(wù)器發(fā)送一個(gè)請(qǐng)求,請(qǐng)求頭包含請(qǐng)求的方法、url
23、、協(xié)議版本、以及包含請(qǐng) 求修飾符、客戶(hù)信息和內(nèi)容的類(lèi)似于mime的消息結(jié)構(gòu)。服務(wù)器以一個(gè)狀態(tài)行作為響應(yīng), 響應(yīng)的內(nèi)容包括消息協(xié)議的版本,成功或者錯(cuò)誤編碼加上包含服務(wù)器信息、實(shí)體元信息以及 可能的實(shí)體內(nèi)容。通常http消息包扌舌客戶(hù)機(jī)向服務(wù)器的請(qǐng)求消息和服務(wù)器向客戶(hù)機(jī)的響應(yīng)消息。這兩種 類(lèi)型的消息由一個(gè)起始行,一個(gè)或者多個(gè)頭域,一個(gè)指示頭域結(jié)束的空行和可選的消息體 組成。http的頭域包括通用頭,請(qǐng)求頭,響應(yīng)頭和實(shí)體頭四個(gè)部分。每個(gè)頭域由一個(gè)域 名,冒號(hào)(:)和域值三部分組成。域名是大小寫(xiě)無(wú)關(guān)的,域值前可以添加任何數(shù)量的空格 符,頭域可以被擴(kuò)展為多行,在每行開(kāi)始處,使用至少一個(gè)空格或制表符。w/
24、oddws 2000 ad dem訶kqyzqs rea/m = prosewarecomdesktop win2k pro wie >5.0http:#unixsrv1/appa/start.htmunix web server mit keberosv5 gssapirunning spnego token handler code6 extinct irfo via gss api7. gieck access to resotiices imsed on usef id.http結(jié)構(gòu)通用頭域通用頭域包含請(qǐng)求和響應(yīng)消息都支持的頭域,通用頭域包含cache-controk conne
25、ctionx date、pragmas transfer-encodings upgrade> via。對(duì)通用頭域的擴(kuò)展要求通訊雙方都支持 此擴(kuò)展,如果存在不支持的通用頭域,一般將會(huì)作為實(shí)體頭域處理。下而簡(jiǎn)單介紹兒個(gè)在 upnp消息中使用的通用頭域:1 .cache-control 頭域cache-control指定請(qǐng)求和響應(yīng)遵循的緩存機(jī)制。在請(qǐng)求消息或響應(yīng)消息中設(shè)置 cache-control并不會(huì)修改另一個(gè)消息處理過(guò)程中的緩存處理過(guò)程。請(qǐng)求時(shí)的緩存指令包括 no-cacheno-store> max-agemax-stalemin-fresh> only-if- cach
26、ed» 響應(yīng)消息中的指令包 js public、private、no-cache、no-store、no-transform、must- revalidate、proxy-re validate、max 各個(gè)消息中的指令含義如下:public指示響應(yīng)可被任何緩存區(qū)緩存。private指示對(duì)于單個(gè)用戶(hù)的整個(gè)或部分響應(yīng)消息,不能被共享緩存處理。這允許服務(wù) 器僅僅描述當(dāng)用戶(hù)的部分響應(yīng)消息,此響應(yīng)消息對(duì)于其他用戶(hù)的請(qǐng)求無(wú)效。no-cache指示請(qǐng)求或響應(yīng)消息不能緩存no-store用于防止重要的信息被無(wú)意的發(fā)布。在請(qǐng)求消息中發(fā)送將使得請(qǐng)求和響應(yīng)消息 都不使用緩存。max-age指示客戶(hù)機(jī)可以
27、接收生存期不大于指定時(shí)間(以秒為單位)的響應(yīng)。min-fresh指示客戶(hù)機(jī)i j以接收響應(yīng)時(shí)間小于當(dāng)前時(shí)間加上指定時(shí)間的響應(yīng)。max-stale指示客戶(hù)機(jī)可以接收超岀超時(shí)期間的響應(yīng)消息。如果指定maxstale消息的值, 那么客戶(hù)機(jī)可以接收超出超時(shí)期指定值之內(nèi)的響應(yīng)消息。http keep-alivekeep-alive功能使客戶(hù)端到服務(wù)器端的連接持續(xù)有效,當(dāng)出現(xiàn)對(duì)服務(wù)器的后繼請(qǐng)求時(shí), keep-alive功能避免了建立或者重新建立連接。市場(chǎng) 上的大部分web服務(wù)器,包k iplanet. iis和apache,都支持http keep-aliveo對(duì)于提供靜態(tài)內(nèi)容的網(wǎng)站來(lái)說(shuō),這個(gè)功能通常很
28、有用。但是,對(duì)于負(fù)擔(dān)較重的網(wǎng)站來(lái)說(shuō),這里存在另外一個(gè)問(wèn)題:雖然為客戶(hù)保留打開(kāi)的連 接有一定的好處,但它同樣影響了性能,因?yàn)樵谔幚頃和F陂g,本來(lái)可以釋放的資源仍i口被 占用。當(dāng)web服務(wù)器和應(yīng)用服務(wù)器在同一臺(tái)機(jī)器上運(yùn)行時(shí),keep- alive功能對(duì)資源利用的 影響尤其突出。keepalivetime值控制tcp/ip嘗試驗(yàn)證空閑連接是否完好的頻率。如果這段時(shí)間內(nèi)沒(méi) 有活動(dòng),則會(huì)發(fā)送保持活動(dòng)信號(hào)。如果網(wǎng)絡(luò)工作正常,而且接收方是活動(dòng)的,它就會(huì)響應(yīng)。 如果需要対丟失接收方敏感,換句話(huà)說(shuō),需要更快地發(fā)現(xiàn)丟失了接收方,請(qǐng)考慮減小這個(gè) 值。如果長(zhǎng)期不活動(dòng)的空閑連接出現(xiàn)次數(shù)較多,而丟失接收方的情況出現(xiàn)較少,
29、您可能會(huì)要 提 高該值以減少開(kāi)銷(xiāo)。缺省情況下,如果空閑連接7200000毫秒(2小時(shí))內(nèi)沒(méi)有活動(dòng), windows就發(fā)送保持活動(dòng)的消息。通常,1800000毫秒是首選值,從而一半的已關(guān)閉連接 會(huì)在30分鐘內(nèi)被檢測(cè)到。keepalivelnterval值定義了如果未從接收方收到保持活動(dòng)消息 的響應(yīng),tcp/ip重復(fù)發(fā)送保持活動(dòng)信號(hào)的頻率。當(dāng)連續(xù)發(fā)送保持活動(dòng)信號(hào)、但未收到響應(yīng) 的次數(shù)超出tcpmaxdataretransmissions的值時(shí),會(huì)放棄該連接。如果期望較長(zhǎng)的響應(yīng)時(shí)間, 您可能需要提高該值以減少開(kāi)銷(xiāo)。如果需要減少花在驗(yàn)證接收方是否已丟失上的時(shí)間,請(qǐng)考 慮減小該值或tcpmaxdatar
30、etransmissions值。缺省情況下,在未收到響應(yīng)而重新發(fā)送保持 活動(dòng)的消息之前,windows會(huì)等待1000毫秒(1秒)。keepalivetime根據(jù)你的需要設(shè) 置就行,比如10分鐘,注意要轉(zhuǎn)換成ms。xxx代表這個(gè)間隔值得大小。2. date頭域date頭域表示消息發(fā)送的時(shí)間,時(shí)間的描述格式由rfc822定義。例如,date:mon,31 dec200104:25:57gmto date描述的時(shí)間表示世界標(biāo)準(zhǔn)時(shí),換算成木地時(shí)間,需 要知道用戶(hù)所在的時(shí)區(qū)。3. pragma 頭域pragma頭域用來(lái)包含實(shí)現(xiàn)特定的指令,最常用的是pragma:no-cacheo在http/1.1協(xié)議
31、屮,它的含義和cache-control:no-cache相同。請(qǐng)求消息請(qǐng)求消息的第一行為下面的格式:methodsprequest-urisphttp-versioncrlfmethod 表 示對(duì)于 request-uri 完成的方法, 這個(gè)字段是大小寫(xiě)敏感的,包括 options> get、head、post、put、delete> traceo 方法get和head應(yīng)該被所有的通用web服務(wù)器支持,其他所有方法的實(shí)現(xiàn)是可選的。 get方法取回由request-uri標(biāo)識(shí)的信息。head方法也是取回由request-uri標(biāo)識(shí)的信息, 只是可以在響應(yīng)時(shí),不返回消息體。post方
32、法可以請(qǐng)求服務(wù)器接收包含在請(qǐng)求中的實(shí)體信 息,可以用于提交表單,向新聞組、bbs、郵件群組和數(shù)據(jù)庫(kù)發(fā)送消息。sp表示空格。request-uri遵循uri格式,在此字段為星號(hào)(*)時(shí),說(shuō)明請(qǐng)求并不用 于某個(gè)特定的資源地址,而是用于服務(wù)器本身。httpversion表示支持的http版本,例 如為http/l.lo crlf表示換行回車(chē)符。請(qǐng)求頭域允許客戶(hù)端向服務(wù)器傳遞關(guān)于請(qǐng)求或者 關(guān)于客戶(hù)機(jī)的附加信息。請(qǐng)求頭域可能包含下列字段accept、accept-charset > accept-encoding> accept-language authorization> from
33、host、ifmodi行edsince、ifmatch、 if-none-match >if- range、if-range> if-unmodified-since、max-forwards、proxy-authorization、 range> referer user-agento對(duì)請(qǐng)求頭域的擴(kuò)展要求通訊雙方都支持,如果存在不支持的 請(qǐng)求頭域,一般將會(huì)作為實(shí)體頭域處理。典型的請(qǐng)求消息:host: download.*.deaccept: */*pragma: no-cachecache-contro上 no-cacheuser-agent: mozilla/4.04en
34、(win95;i;nav)range: bytes=554554-上例第一行表示http客戶(hù)端(可能是瀏覽器、下載程序)通過(guò)get方法獲得指定url 下的文件。棕色的部分表示請(qǐng)求頭域的信息,綠色的部分表示通用頭部分。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ì)以40()狀態(tài)碼返回。2. referer 頭域referer頭域允許客戶(hù)端指定請(qǐng)求uri的源資源地址,這可以允許服務(wù)器生成回退鏈表, 可用來(lái)登陸、優(yōu)化cache等。他也允許廢除的或錯(cuò)誤的連接由于維護(hù)的冃的被追蹤。如果
35、 請(qǐng)求的uri沒(méi)有自己的uri地址,referer不能被發(fā)送。如果指定的是部分uri地址,則此地址應(yīng)該是一個(gè)相對(duì)地址。3. range 頭域range頭域可以請(qǐng)求實(shí)體的一個(gè)或者多個(gè)子范圍。例如,表示頭500個(gè)字節(jié):bytes=0-499表示第二個(gè)500字節(jié):bytes=500-999表示最后500個(gè)字節(jié):bytes=-500表示500字節(jié)以后的范圍:bytes二500-笫一個(gè)和最后一個(gè)字節(jié):bytes=0-0,-1同時(shí)指定幾個(gè)范圍:bytes=500-600,601 -999但是服務(wù)器可以忽略此請(qǐng)求頭,如果無(wú)條件get包含range請(qǐng)求頭,響應(yīng)會(huì)以狀態(tài)碼 206 (partialcontent
36、)返回而不是以 200 (0k)。4. user-agent 頭域user-agent頭域的內(nèi)容包含發(fā)出請(qǐng)求的用戶(hù)信息。響應(yīng)消息響應(yīng)消息的第一行為下面的格式:http-versionspstatus-codespreason-phrasecrlfhttp-version表示支持的http版本,例如為http/1.1。status- code是一個(gè)三個(gè)數(shù)字 的結(jié)果代碼。reason-phrase給status-code提供一個(gè)簡(jiǎn)單的文木描述。status-code主要用于 機(jī)器自動(dòng)識(shí)別,reason-phrase主要用于幫助用戶(hù)理解。status-code的第一個(gè)數(shù)字定義響應(yīng) 的類(lèi)別,后兩個(gè)數(shù)字
37、沒(méi)有分類(lèi)的作用。第一個(gè)數(shù)字可能取5個(gè)不同的值:lxx:信息響應(yīng)類(lèi),表示接收到請(qǐng)求并且繼續(xù)處理2xx:處理成功響應(yīng)類(lèi),表示動(dòng)作被成功接收、理解和接受3xx:重定向響應(yīng)類(lèi),為了完成指定的動(dòng)作,必須接受進(jìn)一步處理4xx:客戶(hù)端錯(cuò)誤,客戶(hù)請(qǐng)求包含語(yǔ)法錯(cuò)誤或者是不能正確執(zhí)行5xx:服務(wù)端錯(cuò)誤,服務(wù)器不能正確執(zhí)行一個(gè)正確的請(qǐng)求響應(yīng)頭域允許服務(wù)器傳遞不能放在狀態(tài)行的附加信息,這些域主要描述服務(wù)器的信息和 request-uri 進(jìn)一步的信息。響應(yīng)頭域包含 age、location> proxy-authenticaten publicx retry- after server vary> war
38、ningwww-authenticateo對(duì)響應(yīng)頭域的擴(kuò)展要求通訊雙方都支 持,如果存在不支持的響應(yīng)頭域,一般將會(huì)作為實(shí)體頭域處理。典型的響應(yīng)消息:http/1.02000kdate:mon,31dec20()l()4:25:57gmtserver: apache/1.3.14(unix)content-type: text/htmllast-modified:tue, 17apr200106:46:28gmtetag: na030f020ac7c01:1 e9f'content-length:39725426content-range:bytes55:*/40279980上例第一行表
39、示http服務(wù)端響應(yīng)一個(gè)get方法。棕色的部分表示響應(yīng)頭域的信息, 綠色的部分表示通用頭部分,紅色的部分表示實(shí)體頭域的信息。1 .location 響應(yīng)頭location響應(yīng)頭用于重定向接收者到一個(gè)新uri地址。2.server響應(yīng)頭server響應(yīng)頭包含處理請(qǐng)求的原始服務(wù)器的軟件信息。此域能包含多個(gè)產(chǎn)品標(biāo)識(shí)和注釋, 產(chǎn)品標(biāo)識(shí)一般按照重要性排序。http-運(yùn)作方式http協(xié)議是基于請(qǐng)求/響應(yīng)范式的。一個(gè)客戶(hù)機(jī)與服務(wù)器建立連接后,發(fā)送一個(gè)請(qǐng)求給 服務(wù)器,請(qǐng)求方式的格式為,統(tǒng)一資源標(biāo)識(shí)符、協(xié)議版本號(hào),后邊是mime信息包括請(qǐng)求 修飾符、客戶(hù)機(jī)信息和可能的內(nèi)容。服務(wù)器接到請(qǐng)求后,給予相應(yīng)的響應(yīng)信息,
40、其格式為一 個(gè)狀態(tài)行包插信息的協(xié)議版本號(hào)、一個(gè)成功或錯(cuò)誤的代碼,后邊是mime信息包括服務(wù)器 信息、實(shí)體信息和可能的內(nèi)容。許多http通訊是由一個(gè)用戶(hù)代理初始化的并且包括一個(gè)申請(qǐng)?jiān)谠捶?wù)器上資源的請(qǐng) 求。最簡(jiǎn)單的情況可能是在用戶(hù)代理(ua)和源服務(wù)器(0)之間通過(guò)一個(gè)單獨(dú)的連接來(lái)完成。當(dāng)一個(gè)或多個(gè)中介出現(xiàn)在請(qǐng)求/響應(yīng)鏈中時(shí),情況就變得復(fù)雜一些。中介由三種:代理 (proxy)網(wǎng)關(guān)(gateway)和通道(tunnel)。一個(gè)代理根據(jù)uri的絕對(duì)格式來(lái)接受請(qǐng)求,重寫(xiě) 全部或部分消息,通過(guò)uri的標(biāo)識(shí)把已格式化過(guò)的請(qǐng)求發(fā)送到服務(wù)器。網(wǎng)關(guān)是一個(gè)接收代 理,作為一些其它服務(wù)器的上層,并且如果必須的話(huà),
41、可以把請(qǐng)求翻譯給下層的服務(wù)器協(xié)議。 一個(gè)通道作為不改變消息的兩個(gè)連接之i'可的中繼點(diǎn)。當(dāng)通訊需要通過(guò)一個(gè)中介(例如:防火 墻等)或者是中介不能識(shí)別消息的內(nèi)容時(shí),通道經(jīng)常被使用。http運(yùn)作方式實(shí)體請(qǐng)求消息和響應(yīng)消息都可以包含實(shí)體信息,實(shí)體信息一般白實(shí)體頭域和實(shí)體組成。實(shí)體 頭域包含關(guān)于實(shí)體的原信息,實(shí)體頭包括allow、content-base、content-encoding、 content-language、content-length、 content-location、content-md5、content-range、 content-type etag、expires&g
42、t; last-modified> extension-header。extension-header 允許客戶(hù) 端定義新的實(shí)體頭,但是這些域可能無(wú)法被接受方識(shí)別。實(shí)體可以是一個(gè)經(jīng)過(guò)編碼的字節(jié) 流,它的編碼方式由content-encoding或content-type定義,它的長(zhǎng)度rh content- length或 content-range 定義。1 .content-type 實(shí)體頭content-type實(shí)體頭用于向接收方指示實(shí)體的介質(zhì)類(lèi)型,指定head方法送到接收方的 實(shí)體介質(zhì)類(lèi)型,或get方法發(fā)送的請(qǐng)求介質(zhì)類(lèi)型2.content-range 實(shí)體頭content-rang
43、e實(shí)體頭用于指定整個(gè)實(shí)體屮的一部分的插入位置,他也指示了整個(gè)實(shí)體 的長(zhǎng)度。在服務(wù)器向客戶(hù)返冋一個(gè)部分響應(yīng),它必須描述響應(yīng)覆蓋的范圍和整個(gè)實(shí)體長(zhǎng)度。 一般格式:con tent-range:bytes-unitspfirst-byte-pos-last-byte-pos/entity-legth例如,傳送頭500個(gè)字節(jié)次字段的形式:content- range:byteso-499/1234果一個(gè)http 消息包含此節(jié)(例如,對(duì)范韋i請(qǐng)求的響應(yīng)或?qū)σ幌盗蟹秈韋i的重殼請(qǐng)求),contentrange表 示傳送的范圍,content-length表示實(shí)際傳送的字節(jié)數(shù)。3.last-modified
44、 實(shí)體頭last-modified實(shí)體頭指定服務(wù)器上保存內(nèi)容的最后修訂時(shí)間。例如,傳送頭500個(gè)字節(jié)次字段的形式:content- range:byteso-499/1234如果一個(gè)hup 消息包含此節(jié)(例如,對(duì)范圍請(qǐng)求的響應(yīng)或?qū)σ幌盗蟹秶闹丿B請(qǐng)求),content- range表 示傳送的范圍,content-length表示實(shí)際傳送的字節(jié)數(shù)。請(qǐng)求方法http/1協(xié)議中共定義了八種方法(有時(shí)也叫“動(dòng)作”)來(lái)表明request-uri指定的資源的不 同操作方式:options返回服務(wù)器針對(duì)特定資源所支持的http請(qǐng)求方法。也可以利用向web服務(wù)器發(fā)送 *的請(qǐng)求來(lái)測(cè)試服務(wù)器的功能性。head向
45、服務(wù)器索要與get請(qǐng)求相一致的響應(yīng),只不過(guò)響應(yīng)體將不會(huì)被返回。這一方法可 以在不必傳輸整個(gè)響應(yīng)內(nèi)容的情況下,就可以獲収包含在響應(yīng)消息頭中的元信息。get向特定的資源發(fā)出請(qǐng)求。注意:get方法不應(yīng)當(dāng)被用于產(chǎn)生“副作用”的操作屮,例 如在web application 其川一個(gè)原因是get可能會(huì)被網(wǎng)絡(luò)蜘蛛等隨意訪(fǎng)問(wèn)。參 見(jiàn)安全方法post向指定資源提交數(shù)據(jù)進(jìn)行處理請(qǐng)求(例如提交表單或者上傳文件)。數(shù)據(jù)被包含在請(qǐng) 求體中o post請(qǐng)求可能會(huì)導(dǎo)致新的資源的創(chuàng)建和/或已有資源的修改。put向指定資源位置上傳其最新內(nèi)容。delete請(qǐng)求服務(wù)器刪除request-uri所標(biāo)識(shí)的資源。trace回顯服務(wù)器收
46、到的請(qǐng)求,主要用于測(cè)試或診斷。connecthttp/1.1協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器。方法名稱(chēng)是區(qū)分大小寫(xiě)的。當(dāng)某個(gè)請(qǐng)求所針對(duì)的資源不支持對(duì)應(yīng)的請(qǐng)求方法的時(shí)候,服務(wù)器 應(yīng)當(dāng)返回狀態(tài)碼405 (method not allowed);當(dāng)服務(wù)器不認(rèn)識(shí)或者不支持對(duì)應(yīng)的請(qǐng)求方法的 時(shí)候,應(yīng)當(dāng)返回狀態(tài)碼501 (not implemented)ohttp服務(wù)器至少應(yīng)該實(shí)現(xiàn)get和head方法,其他方法都是可選的。當(dāng)然,所有的方法 支持的實(shí)現(xiàn)都應(yīng)當(dāng)符合下述的方法各自的語(yǔ)義定義。此外,除了上述方法,特定的http 服務(wù)器還能夠擴(kuò)展自定義的方法。協(xié)議結(jié)構(gòu)http報(bào)文由從客戶(hù)機(jī)到服務(wù)器的請(qǐng)
47、求和從服務(wù)器到客戶(hù)機(jī)的響應(yīng)構(gòu)成。請(qǐng)求報(bào)文格式 如下:請(qǐng)求行一通用信息頭一請(qǐng)求頭一實(shí)體頭一報(bào)文主體請(qǐng)求行以方法字段開(kāi)始,后面分別是url字段和http協(xié)議版本字段,并以crlf 結(jié)尾。sp是分隔符。除了在最后的crlf序列中cf和lf是必需的之外,其他都可以 不要。有關(guān)通用信息頭,請(qǐng)求頭和實(shí)體頭方面的具體內(nèi)容可以參照相關(guān)文件。應(yīng)答報(bào)文格式如下:狀態(tài)行一通用信息頭一響應(yīng)頭一實(shí)體頭一報(bào)文主體狀態(tài)碼元由3位數(shù)字組成,表示請(qǐng)求是否被理解或被滿(mǎn)足。原因分析是對(duì)原文的狀態(tài)碼 作簡(jiǎn)短的描述,狀態(tài)碼用來(lái)支持自動(dòng)操作,而原因分析用來(lái)供用戶(hù)使用??蛻?hù)機(jī)無(wú)需用來(lái)檢 查或顯示語(yǔ)法。有關(guān)通用信息頭,響應(yīng)頭和實(shí)體頭方面的具
48、體內(nèi)容可以參照相關(guān)文件。工作原理既然我們明白了 url的構(gòu)成,那么http是怎么工作呢?我們接下來(lái)就要討論這個(gè)問(wèn) 題。一次http操作稱(chēng)為一個(gè)事務(wù),其工作過(guò)程可分為四步:首先客戶(hù)機(jī)與服務(wù)器需要建立連接。只耍單擊某個(gè)超級(jí)鏈接,http的工作就開(kāi)始了。 建立連接后,客戶(hù)機(jī)發(fā)送一個(gè)請(qǐng)求給服務(wù)器,請(qǐng)求方式的格式為:統(tǒng)一資源標(biāo)識(shí)符(url)、 協(xié)議版本號(hào),后邊是mime信息包括請(qǐng)求修飾符、客戶(hù)機(jī)信息和可能的內(nèi)容。服務(wù)器接到請(qǐng)求后,給予相應(yīng)的響應(yīng)信息,其格式為一個(gè)狀態(tài)行,包括信息的協(xié)議版本 號(hào)、一個(gè)成功或錯(cuò)誤的代碼,后邊是mime信息包括服務(wù)器信息、實(shí)體信息和可能的內(nèi)容??蛻?hù)端接收服務(wù)器所返回的信息通過(guò)瀏
49、覽器顯示在用戶(hù)的顯示屏上,然后客戶(hù)機(jī)與服務(wù) 器斷開(kāi)連接。如果在以上過(guò)程中的某一步出現(xiàn)錯(cuò)誤,那么產(chǎn)生錯(cuò)誤的信息將返回到客戶(hù)端,由顯示屏 輸出。對(duì)于用戶(hù)來(lái)說(shuō),這些過(guò)程是由http自己完成的,用戶(hù)只要用鼠標(biāo)點(diǎn)擊,等待信息顯 示就可以了。許多http通訊是由一個(gè)用戶(hù)代理初始化的并且包插一個(gè)申請(qǐng)?jiān)谠捶?wù)器上資源的請(qǐng) 求。最簡(jiǎn)單的情況可能是在用戶(hù)代理和服務(wù)器z間通過(guò)一個(gè)單獨(dú)的連接來(lái)完成。在internet 上,http通訊通常發(fā)生在tcp/ip連接之上。缺省端口是tcp80,但其它的端口也是可用 的。但這并不預(yù)示著http協(xié)議在internet或英它網(wǎng)絡(luò)的其它協(xié)議之上才能完成。http只 預(yù)示著一個(gè)可靠的
50、傳輸。這個(gè)過(guò)程就好像我們打電話(huà)訂貨一樣,我們可以打電話(huà)給商家,告訴他我們需要什么規(guī) 格的商品,然后商家再告訴我們什么商品有貨,什么商品缺貨。這些,我們是通過(guò)電話(huà)線(xiàn)用 電話(huà)聯(lián)系(http是通過(guò)tcp/ip),當(dāng)然我們也可以通過(guò)傳真,只要商家那邊也有傳真。以上簡(jiǎn)要介紹了 http協(xié)議的宏觀(guān)運(yùn)作方式,下面介紹一下http協(xié)議的內(nèi)部操作過(guò)程。在www中,“客戶(hù)”與“服務(wù)器"是一個(gè)相對(duì)的概念,只存在于一個(gè)特定的連接期間, 即在某個(gè)連 接中的客戶(hù)在另一個(gè)連接中可能作為服務(wù)器?;趆ttp協(xié)議的客戶(hù)/服務(wù)器模 式的信息交換過(guò)程,它分四個(gè)過(guò)程:建立連接、發(fā)送請(qǐng)求信息、發(fā)送響應(yīng)信息、關(guān)閉連接。 這就好
51、像上面的例子,我們電話(huà)訂貨的全過(guò)程。其實(shí)簡(jiǎn)單說(shuō)就是任何服務(wù)器除了包括html文件以外,還有一個(gè)http駐留程序,用 于響應(yīng)用戶(hù)請(qǐng)求。你的瀏覽器是http客戶(hù),向服務(wù)器發(fā)送請(qǐng)求,當(dāng)瀏覽器屮輸入了一個(gè)開(kāi) 始文件或點(diǎn)擊了一個(gè)超級(jí)鏈接時(shí),瀏覽器就向服務(wù)器發(fā)送了 http請(qǐng)求,此請(qǐng)求被送往由 ip地址指定的url。駐留程序接收到請(qǐng)求,在進(jìn)行必要的操作后回送所要求的文件。在這 一過(guò)程中,在網(wǎng)絡(luò)上發(fā)送和接收的數(shù)據(jù)已經(jīng)彼分成一個(gè)或多個(gè)數(shù)據(jù)包(packet),每個(gè)數(shù)據(jù) 包包括:要傳送的數(shù)據(jù);控制信息,即告訴網(wǎng)絡(luò)怎樣處理數(shù)據(jù)包。tcp/ip決定了每個(gè)數(shù)據(jù) 包的格式。如果事先不告訴你,你可能不會(huì)知道信息被分成用于傳
52、輸和再重新組合起來(lái)的 許多小塊。也就是說(shuō)商家除了擁有商品之外,它也有一個(gè)職員在接聽(tīng)你的電話(huà),當(dāng)你打電話(huà)的吋候, 你的聲音轉(zhuǎn)換成各種復(fù)雜的數(shù)據(jù),通過(guò)電話(huà)線(xiàn)傳輸?shù)綄?duì)方的電話(huà)機(jī),對(duì)方的電話(huà)機(jī)又把各 種復(fù)雜的數(shù)據(jù)轉(zhuǎn)換成聲音,使得對(duì)方商家的職員能夠明白你的請(qǐng)求。這個(gè)過(guò)程你不需要明 白聲音是怎么轉(zhuǎn)換成復(fù)雜的數(shù)據(jù)的。狀態(tài)消息1xx:信息消息:描述:100 continue服務(wù)器僅接收到部分請(qǐng)求,但是一旦服務(wù)器并沒(méi)有拒絕該請(qǐng)求,客戶(hù)端 應(yīng)該繼續(xù)發(fā)送其余的請(qǐng)求。101switchingprotocols服務(wù)器轉(zhuǎn)換協(xié)議:服務(wù)器將遵從客戶(hù)的請(qǐng)求轉(zhuǎn)換到另外一種協(xié)議。2xx:成功消息:描述:200 ok請(qǐng)求成功(其后是
53、對(duì)get和post請(qǐng)求的應(yīng)答文檔。)201 created請(qǐng)求被創(chuàng)建完成,同時(shí)新的資源被創(chuàng)建。202 accepted供處理的請(qǐng)求已被接受,但是處理未完成。203 non-authoritativeinformation文檔已經(jīng)正常地返回,但一些應(yīng)答頭可能不正確,因?yàn)槭褂玫氖俏?檔的拷貝。204 no content沒(méi)有新文檔。瀏覽器應(yīng)該繼續(xù)顯示原來(lái)的文檔。如杲用戶(hù)定期地刷 新頁(yè)面,而servlet可以確定用戶(hù)文檔足夠新,這個(gè)狀態(tài)代碼是很有 用的。205 reset content沒(méi)有新文檔。但瀏覽器應(yīng)該重置它所顯示的內(nèi)容。用來(lái)強(qiáng)制瀏覽器 清除表單輸入內(nèi)容。206 partial conten
54、t客戶(hù)發(fā)送了一個(gè)帶有range頭的get請(qǐng)求,服務(wù)器完成了它。3xx:重定向消息:描述:300 multiple多重選擇。鏈接列表。用戶(hù)可以選擇某鏈接到達(dá)目的地。最多允許五個(gè)地址。choices301movedpermanently所請(qǐng)求的頁(yè)面已經(jīng)轉(zhuǎn)移至新的urlo302 found所請(qǐng)求的頁(yè)面已經(jīng)臨時(shí)轉(zhuǎn)移至新的url303 see other所請(qǐng)求的頁(yè)面可在別的url下被找到。304notmodified未按預(yù)期修改文檔??蛻?hù)端有緩沖的文檔并發(fā)出了一個(gè)條件性的請(qǐng)求(一般 是提供if-modified-since頭表示客戶(hù)只想比指定日期更新的文檔)。服務(wù)器 告訴客戶(hù),原來(lái)緩沖的文檔還可以繼續(xù)使
55、用。305 use proxy客戶(hù)請(qǐng)求的文檔應(yīng)該通過(guò)location頭所指明的代理服務(wù)器提取。306 unused此代碼被用于前一版本。目前己不再使用,但是代碼依然被保留。307 temporaryredirect被請(qǐng)求的頁(yè)面已經(jīng)臨時(shí)移至新的urk4xx:客戶(hù)端錯(cuò)誤消息:描述:400 bad request服務(wù)器未能理解請(qǐng)求。401 unauthorized被請(qǐng)求的頁(yè)面需要用戶(hù)名和密碼。401.1登錄失敗。401.2服務(wù)器配置導(dǎo)致登錄失敗。401.3由于acl對(duì)資源的限制而未獲得授權(quán)。401.4篩選器授權(quán)失敗。401.5isapi/cgi應(yīng)用程序授權(quán)失敗。401.7訪(fǎng)問(wèn)被web服務(wù)器上的url授權(quán)策略拒絕。這個(gè)錯(cuò)誤代碼為 iis 6.0所專(zhuān)用。402 payment required此代碼尚無(wú)法使用。403 forbidden對(duì)被請(qǐng)求頁(yè)面的訪(fǎng)問(wèn)被禁止。403.1執(zhí)行訪(fǎng)問(wèn)被禁止。403.2讀訪(fǎng)問(wèn)被禁止。403.3寫(xiě)訪(fǎng)問(wèn)被禁止。403.4要求sslo403.5要求 ssl 128o403.6ip地址被拒絕。403.7要求客戶(hù)端證書(shū)。403.8站點(diǎn)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人抵押借款簡(jiǎn)單合同(2024版)
- 二零二五版電子數(shù)碼產(chǎn)品門(mén)店承包經(jīng)營(yíng)合同4篇
- 2025年度紡織行業(yè)原材料電商直采服務(wù)合同3篇
- 馬鈴薯購(gòu)銷(xiāo)2025版:年度種植收購(gòu)合同2篇
- 二零二五版苗圃場(chǎng)技術(shù)員園藝栽培技術(shù)聘用合同4篇
- 情感溝通解決客戶(hù)投訴的關(guān)鍵技巧
- 長(zhǎng)春科技學(xué)院《健“聲”》2023-2024學(xué)年第一學(xué)期期末試卷
- 長(zhǎng)春工程學(xué)院《大學(xué)基礎(chǔ)讀寫(xiě)4》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五版車(chē)輛抵押反擔(dān)保車(chē)輛租賃擔(dān)保協(xié)議2篇
- 二零二五版房地產(chǎn)開(kāi)發(fā)與文化藝術(shù)合作協(xié)議3篇
- 2023年版《安寧療護(hù)實(shí)踐指南(試行)》解讀課件
- AQ6111-2023個(gè)體防護(hù)裝備安全管理規(guī)范
- 2024年高考語(yǔ)文備考之??甲骷易髌罚ㄏ拢褐袊?guó)現(xiàn)當(dāng)代、外國(guó)
- T-CSTM 01124-2024 油氣管道工程用工廠(chǎng)預(yù)制袖管三通
- 2019版新人教版高中英語(yǔ)必修+選擇性必修共7冊(cè)詞匯表匯總(帶音標(biāo))
- 新譯林版高中英語(yǔ)必修二全冊(cè)短語(yǔ)匯總
- 基于自適應(yīng)神經(jīng)網(wǎng)絡(luò)模糊推理系統(tǒng)的游客規(guī)模預(yù)測(cè)研究
- 河道保潔服務(wù)投標(biāo)方案(完整技術(shù)標(biāo))
- 品管圈(QCC)案例-縮短接臺(tái)手術(shù)送手術(shù)時(shí)間
- 精神科病程記錄
- 閱讀理解特訓(xùn)卷-英語(yǔ)四年級(jí)上冊(cè)譯林版三起含答案
評(píng)論
0/150
提交評(píng)論