久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

HTTP基礎(chǔ):URL格式,、 HTTP請求、響應(yīng),、消息

 XX_YY_ZZ 2016-01-21

  

HTTP基礎(chǔ):URL格式,、 HTTP請求、響應(yīng),、消息

 

HTTP URL

  格式:

  http://host[:port][abs_path]

  其中http表示要通過HTTP協(xié)議來定位網(wǎng)絡(luò)資源,。

  host表示合法的Internet主機(jī)域名或IP地址(以點分十進(jìn)制格式表示);

  port用于指定一個端口號,,擁有被請求資源的服務(wù)器主機(jī)監(jiān)聽該端口的TCP連接,。

  如果port是空,則使用缺省的端口80,。當(dāng)服務(wù)器的端口不是80的時候,,需要顯式指定端口號。

  abs_path指定請求資源的URI(Uniform Resource Identifier,,統(tǒng)一資源定位符),,如果URL中沒有給出abs_path,,那么當(dāng)它作為請求URI時,必須以“/”的形式給出,。通常這個工作瀏覽器就幫我們完成了,。

 

  瀏覽器與服務(wù)器連接的一般過程:

  (以sohu網(wǎng)站為例):

 

                         

URL與URI

  URI純粹是一個符號結(jié)構(gòu),,用于指定構(gòu)成Web資源的字符串的各個不同部分,。

  URL是一種特殊類型的URI,它包含了用于查找某個資源的足夠的信息,。

  其他的URI,,例如:mailto:[email protected],則不屬于URL,,因為它里面不存在根據(jù)該標(biāo)識符來查找的任何數(shù)據(jù),。這種URI稱為URN(通用資源名)。

 

HTTP請求

  客戶端通過發(fā)送HTTP請求向服務(wù)器請求對資源的訪問,。

  HTTP請求由三部分組成,,分別是:請求行,消息報頭,,請求正文,。

  請求行以一個方法符號開頭,后面跟著請求URI和協(xié)議的版本,,以CRLF作為結(jié)尾,。

  請求行以空格分隔。除了作為結(jié)尾的CRLF外,,不允許出現(xiàn)單獨的CR或LF字符,,格式如下:

  Method Request-URI HTTP-Version CRLF

  Method表示請求的方法,Request-URI是一個統(tǒng)一資源標(biāo)識符,,標(biāo)識了要請求的資源,,HTTP-Version表示請求的HTTP協(xié)議版本,CRLF表示回車換行,。

 

  例如:

  GET /test.html HTTP/1.1 (CRLF)

 

HTTP請求方法

 

GET方法

  GET方法用于獲取由Request-URI所標(biāo)識的資源的信息,,常見形式是:

  GET Request-URI HTTP/1.1

  當(dāng)我們通過在瀏覽器的地址欄中直接輸入網(wǎng)址的方式去訪問網(wǎng)頁的時候,瀏覽器采用的就是GET方法向服務(wù)器獲取資源,。

 

POST方法

  POST方法用于想服務(wù)器發(fā)送請求,,這點和GET方法沒有區(qū)別。但是POST方法要求服務(wù)器接收附在請求后面的數(shù)據(jù),。

  POST方法在表單提交的時候用的最多,。

  采用POST方法提交表單的例子

  POST /login.jsp HTTP/1.1 (CRLF)

  Accept: image/gif (CRLF) (…)

  Host: www.sample.com (CRLF) (…)

  …

  Cache-Control: no-cache (CRLF)

  (CRLF)

  username=hello&password=123456

  當(dāng)我們在HTML中提交表單時,瀏覽器會根據(jù)你的提交方法是get還是post,,采用相應(yīng)的在HTTP協(xié)議中的GET或POST方法,,向服務(wù)器發(fā)出請求,。

  注意,在HTML文檔中,,書寫get和post,,不區(qū)分大小寫,但HTTP協(xié)議中的GET和POST只能是大寫形式,。

 

HEAD方法

  HEAD方法與GET方法幾乎是一樣的,,它們的區(qū)別在于HEAD方法只是請求消息報頭,而不是完整的內(nèi)容,。

  對于HEAD請求的回應(yīng)部分來說,,它的HTTP頭部中包含的信息與通過GET請求所得到的信息是相同的。

  利用這個方法,,不必傳輸整個資源的內(nèi)容,,就可以得到Request-URI所標(biāo)識的資源的信息。

  這個方法通常用于測試超鏈接的有效性,,是否可以訪問,以及最近是否更新等,。

 

HTTP響應(yīng)

  在接收和解釋請求消息后,,服務(wù)器會返回一個HTTP響應(yīng)消息。

  與HTTP請求類似,,HTTP響應(yīng)也是由三個部分組成,,分別是:狀態(tài)行,消息報頭,,相應(yīng)正文,。

  狀態(tài)行由協(xié)議版本,數(shù)字形式的狀態(tài)代碼,,相應(yīng)的狀態(tài)描述組成,,各元素之間以空格分隔,除了結(jié)尾的CRLF(回車換行)序列外,,不允許出現(xiàn)CR或LF字符,。格式如下:

  HTTP-Version Status-Code Reason-Phrase CRLF

  HTTP-Version表示服務(wù)器HTTP協(xié)議的版本,Status-Code表示服務(wù)器發(fā)回的響應(yīng)代碼,,Reason-Phrase表示狀態(tài)代碼的文本描述,,CRLF表示回車換行。

  例如:

  HTTP/1.1 200 OK (CRLF)

 

HTTP響應(yīng)——狀態(tài)代碼與狀態(tài)描述

  狀態(tài)代碼由三位數(shù)字組成,,表示請求是否被理解或被滿足,,狀態(tài)描述給出了關(guān)于狀態(tài)代碼的簡短文本描述。

  狀態(tài)代碼的第一個數(shù)字定義了響應(yīng)的類別,,后面兩個數(shù)字沒有具體的分類,。

 

  第一個數(shù)字有五種可能的取值:

  1xx:指示信息——表示請求已接收,,繼續(xù)處理

  2xx:成功——表示請求已經(jīng)被成功接收,理解,,接受

  3xx:重定向——要完成請求必須進(jìn)行更進(jìn)一步的操作

  4xx:客戶端錯誤——請求有語法錯誤或請求無法實現(xiàn)

  5xx:服務(wù)器端錯誤——服務(wù)器未能實現(xiàn)合法的請求

  如:

 


 

  狀態(tài)行由協(xié)議版本,,數(shù)字形式的狀態(tài)代碼,相應(yīng)的狀態(tài)描述組成,,各元素之間以空格分隔,,除了結(jié)尾的CRLF(回車換行)序列外,不允許出現(xiàn)CR或LF字符,。格式如下:

  HTTP-Version Status-Code Reason-Phrase CRLF

 

HTTP消息

  HTTP消息由客戶端到服務(wù)器的請求和服務(wù)器到客戶端的響應(yīng)組成,。

  請求消息和響應(yīng)消息都是由開始行,消息報頭(可選),,空行(只有CRLF的行),,消息正文(可選)組成。

  對于請求消息,,開始行就是請求行,,對于相應(yīng)消息,開始行就是狀態(tài)行,。

  實驗工具:Telnet

  HTTP協(xié)議與TELNET協(xié)議都是基于TCP協(xié)議,。

 

參考資料

  圣思園Java Web培訓(xùn)視頻教程。

  HTTP狀態(tài)碼查詢:http:///

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多