客戶程序向服務(wù)器發(fā)送的請(qǐng)求可以有不同的類型,這樣服務(wù)器可以根據(jù)不同的請(qǐng)求類型進(jìn)行不同的處理。在HTTP1.0中,定義了三種最基本的請(qǐng)求類 型,GET、POST和HEAD,客戶程序用大寫指令將請(qǐng)求發(fā)送給服務(wù)器,后面跟隨具體的數(shù)據(jù)。
其中,HEAD請(qǐng)求在客戶程序和服務(wù)器之間進(jìn)行交流,而不會(huì)返回具體的文檔。當(dāng)使用GET和POST方法時(shí),服務(wù)器最后都將結(jié)果文檔返回給客戶程序,瀏覽器將 刷新顯示。而HEAD請(qǐng)求則不同,它僅僅交流一些內(nèi)部數(shù)據(jù),這些數(shù)據(jù)不會(huì)影響瀏覽的過(guò)程。因此HEAD方法通常不單獨(dú)使用,而是和其他的請(qǐng)求方法一起起到 輔助作用。一些搜尋引擎使用的自動(dòng)搜索機(jī)器人使用這個(gè)方法來(lái)獲得網(wǎng)頁(yè)的標(biāo)志信息,或者進(jìn)行安全認(rèn)證時(shí),使用這個(gè)方法來(lái)傳遞認(rèn)證信息。
除了這三種最常見的訪問(wèn)方法之外,在HTTP1.1中還定義了更多的訪問(wèn)方法類型,如PUT,用于將網(wǎng)頁(yè)放置到正確位置,DELETE用于刪除相關(guān)文檔 等。這些方法并不常用,因而大部分Web服務(wù)器軟件并沒(méi)有實(shí)現(xiàn)他們。然而對(duì)于特定場(chǎng)合他們還是非常有用的,例如使用軟件編輯網(wǎng)頁(yè)時(shí),網(wǎng)頁(yè)編輯器可以使用這 些方法,管理不同的網(wǎng)頁(yè)。
如果服務(wù)器不支持客戶發(fā)送的請(qǐng)求方法,服務(wù)器將返回錯(cuò)誤并立即關(guān)閉連接
HTTP請(qǐng)求的方法:HTTP/1.1協(xié)議中共定義了八種方法(有時(shí)也叫“動(dòng)作”),來(lái)表明Request-URL指定的資源不同的操作方式1、OPTIONS返回服務(wù)器針對(duì)特定資源所支持的HTTP請(qǐng)求方法,也可以利用向web服務(wù)器發(fā)送‘*’的請(qǐng)求來(lái)測(cè)試服務(wù)器的功能性2、HEAD向服務(wù)器索與GET請(qǐng)求相一致的響應(yīng),只不過(guò)響應(yīng)體將不會(huì)被返回。
這一方法可以再不必傳輸整個(gè)響應(yīng)內(nèi)容的情況下,就可以獲取包含在響應(yīng)小消息頭中的元信息。3、GET向特定的資源發(fā)出請(qǐng)求。
注意:GET方法不應(yīng)當(dāng)被用于產(chǎn)生“副作用”的操作中,例如在Web Application中,其中一個(gè)原因是GET可能會(huì)被網(wǎng)絡(luò)蜘蛛等隨意訪問(wèn)。Loadrunner中對(duì)應(yīng)get請(qǐng)求函數(shù):web_link和web_url4、POST向指定資源提交數(shù)據(jù)進(jìn)行處理請(qǐng)求(例如提交表單或者上傳文件)。
數(shù)據(jù)被包含在請(qǐng)求體中。POST請(qǐng)求可能會(huì)導(dǎo)致新的資源的建立和/或已有資源的修改。
Loadrunner中對(duì)應(yīng)POST請(qǐng)求函數(shù):web_submit_data,web_submit_form5、PUT向指定資源位置上傳其最新內(nèi)容6、DELETE請(qǐng)求服務(wù)器刪除Request-URL所標(biāo)識(shí)的資源7、TRACE回顯服務(wù)器收到的請(qǐng)求,主要用于測(cè)試或診斷8、CONNECTHTTP/1.1協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器。注意:1)方法名稱是區(qū)分大小寫的,當(dāng)某個(gè)請(qǐng)求所針對(duì)的資源不支持對(duì)應(yīng)的請(qǐng)求方法的時(shí)候,服務(wù)器應(yīng)當(dāng)返回狀態(tài)碼405(Mothod Not Allowed);當(dāng)服務(wù)器不認(rèn)識(shí)或者不支持對(duì)應(yīng)的請(qǐng)求方法時(shí),應(yīng)返回狀態(tài)碼501(Not Implemented)。
2)HTTP服務(wù)器至少應(yīng)該實(shí)現(xiàn)GET和HEAD/POST方法,其他方法都是可選的,此外除上述方法,特定的HTTP服務(wù)器支持?jǐn)U展自定義的方法。
原理區(qū)別:
在瀏覽器中輸入網(wǎng)址訪問(wèn)資源都是通過(guò)GET方式;在FORM提交中,可以通過(guò)Method指定提交方式為GET或者POST,默認(rèn)為GET提交。
HTTP 定義了與服務(wù)器交互的不同方法,最常用的有4種,Put(增),Delete(刪),Post(改),Get(查),即增刪改查:
1)Get,
它用于獲取信息,注意,他只是獲取、查詢數(shù)據(jù),也就是說(shuō)它不會(huì)修改服務(wù)器上的數(shù)據(jù),從這點(diǎn)來(lái)講,它是數(shù)據(jù)安全的,而稍后會(huì)提到的Post它是可以修改數(shù)據(jù)的,所以這也是兩者差別之一了。
2)
Post,它是可以向服務(wù)器發(fā)送修改請(qǐng)求,從而修改服務(wù)器的,比方說(shuō),我們要在論壇上回貼、在博客上評(píng)論,這就要用到Post了,當(dāng)然它也是可以僅僅獲取數(shù)據(jù)的。
3)Delete 刪除數(shù)據(jù)。可以通過(guò)Get/Post來(lái)實(shí)現(xiàn)。
4)Put,增加、放置數(shù)據(jù),可以通過(guò)Get/Post來(lái)實(shí)現(xiàn)。
根據(jù)HTTP規(guī)范,GET用于信息獲取,而且應(yīng)該是安全的和冪等的 。
1.所謂安全的意味著該操作用于獲取信息而非修改信息。換句話說(shuō),GET請(qǐng)求一般不應(yīng)產(chǎn)生副作用。就是說(shuō),僅僅是獲取資源信息,就像數(shù)據(jù)庫(kù)查詢一樣,不會(huì)修改,增加數(shù)據(jù),不會(huì)影響資源的狀態(tài)。(注意:這里安全的含義僅僅是指是非修改信息。)
根據(jù)HTTP規(guī)范,POST表示可能修改變服務(wù)器上的資源的請(qǐng)求
繼續(xù)引用上面的例子:還是新聞以網(wǎng)站為例,讀者對(duì)新聞發(fā)表自己的評(píng)論應(yīng)該通過(guò)POST實(shí)現(xiàn),因?yàn)樵谠u(píng)論提交后站點(diǎn)的資源已經(jīng)不同了,或者說(shuō)資源被修改了。
表現(xiàn)形式區(qū)別:
HTTP請(qǐng)求:在HTTP請(qǐng)求中,第一行必須是一個(gè)請(qǐng)求行(request
line),用來(lái)說(shuō)明請(qǐng)求類型、要訪問(wèn)的資源以及使用的HTTP版本。緊接著是一個(gè)首部(header)小節(jié),用來(lái)說(shuō)明服務(wù)器要使用的附加信息。在首部之后是一個(gè)空行,再此之后可以添加任意的其他數(shù)據(jù)[稱之為主體(body)]。
兩種提交方式的區(qū)別:
(1)GET提交,請(qǐng)求的數(shù)據(jù)會(huì)附在URL之后(就是把數(shù)據(jù)放置在HTTP協(xié)議頭中),以?分割URL和傳輸數(shù)據(jù),多個(gè)參數(shù)用&連接。如果數(shù)據(jù)是英文字母/數(shù)字,原樣發(fā)送,如果是空格,轉(zhuǎn)換為+,如果是中文/其他字符,則直接把字符串用BASE64加密,得出如:
%E4%BD%A0%E5%A5%BD,其中%XX中的XX為該符號(hào)以16進(jìn)制表示的ASCII。
POST提交:把提交的數(shù)據(jù)放置在是HTTP包的包體中。上文示例中紅色字體標(biāo)明的就是實(shí)際的傳輸數(shù)據(jù)
因此,GET提交的數(shù)據(jù)會(huì)在地址欄中顯示出來(lái),而POST提交,地址欄不會(huì)改變
(2)傳輸數(shù)據(jù)的大小:首先聲明:HTTP協(xié)議沒(méi)有對(duì)傳輸?shù)臄?shù)據(jù)大小進(jìn)行限制,HTTP協(xié)議規(guī)范也沒(méi)有對(duì)URL長(zhǎng)度進(jìn)行限制。
而在實(shí)際開發(fā)中存在的限制主要有:
GET:特定瀏覽器和服務(wù)器對(duì)URL長(zhǎng)度有限制,例如IE對(duì)URL長(zhǎng)度的限制是2083字節(jié)(2K+35)。對(duì)于其他瀏覽器,如Netscape、FireFox等,理論上沒(méi)有長(zhǎng)度限制,其限制取決于操作系統(tǒng)的支持。
因此對(duì)于GET提交時(shí),傳輸數(shù)據(jù)就會(huì)受到URL長(zhǎng)度的限制。
POST:由于不是通過(guò)URL傳值,理論上數(shù)據(jù)不受限。但實(shí)際各個(gè)WEB服務(wù)器會(huì)規(guī)定對(duì)post提交數(shù)據(jù)大小進(jìn)行限制,Apache、IIS6都有各自的配置。
協(xié)議基礎(chǔ)
HTTP(HyperText Transfer Protocol)是超文本轉(zhuǎn)移協(xié)議的縮寫,它用于傳送WWW方式的數(shù)據(jù),關(guān)于HTTP協(xié)議的詳細(xì)內(nèi)容請(qǐng)參考RFC2616。HTTP協(xié)議采用了請(qǐng)求/響應(yīng)模型。客戶端向服務(wù)器發(fā)送一個(gè)請(qǐng)求,請(qǐng)求頭包含請(qǐng)求的方法、URL、協(xié)議版本、以及包含請(qǐng)求修飾符、客戶信息和內(nèi)容的類似于MIME的消息結(jié)構(gòu)。服務(wù)器以一個(gè)狀態(tài)行作為響應(yīng),相應(yīng)的內(nèi)容包括消息協(xié)議的版本,成功或者錯(cuò)誤編碼加上包含服務(wù)器信息、實(shí)體元信息以及可能的實(shí)體內(nèi)容。
通常HTTP消息包括客戶機(jī)向服務(wù)器的請(qǐng)求消息和服務(wù)器向客戶機(jī)的響應(yīng)消息。這兩種類型的消息由一個(gè)起始行,一個(gè)或者多個(gè)頭域,一個(gè)指示頭域結(jié)束的空行和可選的消息體組成。HTTP的頭域包括通用頭,請(qǐng)求頭,響應(yīng)頭和實(shí)體頭四個(gè)部分。每個(gè)頭域由一個(gè)域名,冒號(hào)(:)和域值三部分組成。域名是大小寫無(wú)關(guān)的,域值前可以添加任何數(shù)量的空格符,頭域可以被擴(kuò)展為多行,在每行開始處,使用至少一個(gè)空格或制表符。
1. 關(guān)于計(jì)算機(jī)網(wǎng)絡(luò)的定義。
答:廣義的觀點(diǎn):計(jì)算機(jī)技術(shù)與通信技術(shù)相結(jié)合,實(shí)現(xiàn)遠(yuǎn)程信息處理或進(jìn)一步達(dá)到資源共享的系統(tǒng);資源共享的觀點(diǎn):以能夠相互共享資源的方式連接起來(lái),并且各自具有獨(dú)立功能的計(jì)算機(jī)系統(tǒng)的集合;對(duì)用戶透明的觀點(diǎn):存在一個(gè)能為用戶自動(dòng)管理資源的網(wǎng)絡(luò)操作系統(tǒng),由它來(lái)調(diào)用完成用戶任務(wù)所需要的資源,而整個(gè)網(wǎng)絡(luò)像一個(gè)大的計(jì)算機(jī)系統(tǒng)一樣對(duì)用戶是透明的,實(shí)際上這種觀點(diǎn)描述的是一個(gè)分布式系統(tǒng)。
2. 計(jì)算機(jī)網(wǎng)絡(luò)的拓樸結(jié)構(gòu)。
答:計(jì)算機(jī)網(wǎng)絡(luò)采用拓樸學(xué)的研究方法,將網(wǎng)絡(luò)中的設(shè)備定義為結(jié)點(diǎn),把兩個(gè)設(shè)備之間的連接線路定義為鏈路。計(jì)算機(jī)網(wǎng)絡(luò)也是由一組結(jié)點(diǎn)和鏈路組成的的幾何圖形,這就是拓樸結(jié)構(gòu)。
分類:按信道類型分,分為點(diǎn)---點(diǎn)線路通信子網(wǎng)和廣播信道的通信子網(wǎng)。采用點(diǎn)——點(diǎn)連線的通信子網(wǎng)的基本結(jié)構(gòu)有四類:星狀、環(huán)狀、樹狀和網(wǎng)狀;廣播信道通子網(wǎng)有總線狀、環(huán)狀和無(wú)線狀。
3. 計(jì)算機(jī)網(wǎng)絡(luò)的體系結(jié)構(gòu)
答:將計(jì)算機(jī)網(wǎng)絡(luò)的層次結(jié)構(gòu)模型和分層協(xié)議的集合定義為計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)。
4.計(jì)算機(jī)網(wǎng)絡(luò)的協(xié)議三要素
答:三要素是:1,語(yǔ)法:關(guān)于諸如數(shù)據(jù)格式及信號(hào)電平等的規(guī)定;2,語(yǔ)義:關(guān)于協(xié)議動(dòng)作和差錯(cuò)處理等控制信息;3,定時(shí):包含速率匹配和排序等。
5.OSI七層協(xié)議體系結(jié)構(gòu)和各級(jí)的主要作用
答:七層指:由低到高,依次是物理層,數(shù)據(jù)鏈路層,網(wǎng)絡(luò)層,傳輸層,會(huì)話層,表示層和應(yīng)用層。各層作用分別是:
物理層:向上與數(shù)據(jù)鏈路層相連,向下直接連接傳輸介質(zhì)。提供一些建立、維持和釋放物理連接的方法,以便能在兩個(gè)或多個(gè)數(shù)據(jù)鏈路實(shí)體間進(jìn)行數(shù)據(jù)位流的傳輸。
數(shù)據(jù)鏈路層:通過(guò)差錯(cuò)控制、流量控制等,將不可靠的物理傳輸信道變成無(wú)差錯(cuò)的可靠的數(shù)據(jù)鏈路。將數(shù)據(jù)組成適合正確傳輸?shù)膸问降臄?shù)據(jù)單元,對(duì)網(wǎng)絡(luò)層屏蔽物理層的特性和差異,使高層協(xié)議不必考慮物理傳輸介質(zhì)的可靠性問(wèn)題。
網(wǎng)絡(luò)層:決定數(shù)據(jù)在通信子網(wǎng)中的傳送路徑,控制通信子網(wǎng)中的數(shù)據(jù)流量并防止擁塞等,提供建立、維護(hù)和終止網(wǎng)絡(luò)連接的手段。網(wǎng)絡(luò)層是通信子網(wǎng)的最高層。
傳輸層:為源主機(jī)到目的主機(jī)提供可靠的、有效的數(shù)據(jù)傳輸,這種傳輸與網(wǎng)絡(luò)無(wú)關(guān),傳輸層是獨(dú)立于物理網(wǎng)絡(luò)的。其上層協(xié)議不必了解實(shí)際網(wǎng)絡(luò),就可將數(shù)據(jù)安全可靠地傳送到目的地。
會(huì)話層:建立、維護(hù)和同步進(jìn)行通信的高層之間的對(duì)話。服務(wù)主要是:協(xié)調(diào)應(yīng)用程序之間的連接建立和中斷;為數(shù)據(jù)交互提供同步點(diǎn);協(xié)調(diào)通信雙方誰(shuí)可在何時(shí)發(fā)送數(shù)據(jù);確保數(shù)據(jù)交換在會(huì)話關(guān)閉之前完成等。
表示層:把源端機(jī)器的數(shù)據(jù)編碼成適合于傳輸?shù)谋忍匦蛄校瑐魉偷侥康亩撕笤龠M(jìn)行解碼,在保持?jǐn)?shù)據(jù)含義不變的條件下,轉(zhuǎn)換成用戶所理解的形式。
應(yīng)用層:為用戶的應(yīng)用進(jìn)程訪問(wèn)OSI環(huán)境提供服務(wù)。
6.TCP/IP協(xié)議體系結(jié)構(gòu)
答:TCP/IP是一個(gè)協(xié)議系列,目前已飲食了100多個(gè)協(xié)議,用于將各種計(jì)算機(jī)和數(shù)據(jù)通信設(shè)備組成計(jì)算機(jī)網(wǎng)絡(luò)。
TCP/IP協(xié)議具有如下特點(diǎn):1,協(xié)議標(biāo)準(zhǔn)具有開放性,其獨(dú)立于特定的計(jì)算機(jī)硬件與操作系統(tǒng),可以免費(fèi)使用;2,統(tǒng)一分配網(wǎng)絡(luò)地址,使得整個(gè)TCP/IP設(shè)備在網(wǎng)絡(luò)中都具有惟一的IP地址。
分層:應(yīng)用層(SMTP, DNS, NFS, FTP, Telnet, Others)、傳輸層(TCP,UDP)、互聯(lián)層(IP,ICMP, ARP, RARP)、主機(jī)——網(wǎng)絡(luò)層(Ethernet, ARPANET, PDN ,Others)。
傳輸控制協(xié)議TCP:定義了兩臺(tái)計(jì)算機(jī)之間進(jìn)行可靠數(shù)據(jù)傳輸所交換的數(shù)據(jù)和確認(rèn)信息的格式,以及計(jì)算機(jī)為了確保數(shù)據(jù)的正確到達(dá)而采取的措施。
聲明:本網(wǎng)站尊重并保護(hù)知識(shí)產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請(qǐng)?jiān)谝粋€(gè)月內(nèi)通知我們,我們會(huì)及時(shí)刪除。
蜀ICP備2020033479號(hào)-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁(yè)面生成時(shí)間:2.580秒