一样悟、Http協(xié)議
1、概念說明
HTTP超文本傳輸協(xié)議,是用于從萬維網(wǎng)服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議庭猩,基于TCP/IP通信協(xié)議來傳遞數(shù)據(jù):HTML文件窟她、圖片、查詢數(shù)據(jù)等蔼水。HTTP協(xié)議基于客戶端-服務(wù)端架構(gòu)模式震糖。瀏覽器作為HTTP客戶端通過URL向服務(wù)端即WEB服務(wù)器發(fā)送請求。Web服務(wù)器根據(jù)接收到的請求后趴腋,處理完請求后向客戶端發(fā)送響應(yīng)信息吊说。
2、協(xié)議特點
簡單快速:請求服務(wù)器時优炬,只需傳送請求方法和路徑颁井。請求類型常用GET、POST蠢护。由于HTTP協(xié)議簡單雅宾,使得HTTP服務(wù)器的程序規(guī)模小葵硕,因而通信速度很快眉抬。
靈活:HTTP允許傳輸任意類型的數(shù)據(jù)對象贯吓。正在傳輸?shù)念愋陀蒀ontent-Type加以標記。
無連接:無連接的含義是限制每次連接只處理一個請求悄谐。服務(wù)器處理完客戶的請求贤惯,并收到客戶的應(yīng)答后洼专,即斷開連接。采用這種方式可以節(jié)省傳輸時間孵构。
無狀態(tài):HTTP協(xié)議是無狀態(tài)協(xié)議屁商。無狀態(tài)是指協(xié)議對于事務(wù)處理沒有記憶能力。缺少狀態(tài)則后續(xù)處理需要前面的信息颈墅,沒有則需要重新請求蜡镶,這樣可能導(dǎo)致每次連接傳送的數(shù)據(jù)量增大。
支持客戶/服務(wù)器模式
二恤筛、Http請求詳解
1官还、請求的方式
根據(jù)HTTP標準,HTTP請求可以使用多種請求方法毒坛。
HTTP1.0定義了三種請求方法: GET, POST 和 HEAD方法望伦。
HTTP1.1新增了五種請求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
2煎殷、請求參數(shù)說明
Method:常見GET 和 POST屯伞,另外還有DELETE、PUT 等 ;
URI:/servletOneImpl豪直,和Host組成請求的URL ;
HTTP/1.1:傳輸協(xié)議Http劣摇,版本1.1 ;
Host:請求資源所在的主機和端口 ;
Connection:TCP連接默認不關(guān)閉,可以被多個請求復(fù)用 ;
Upgrade-Insecure-Requests:瀏覽器不再顯示 https 頁面中的 http 請求警報 ;
Content-Length:指示實體主體大小弓乙,以字節(jié)為單位十進制數(shù)末融,發(fā)送到接收方。
Cache-Control:max-age=0使用緩存唆貌,但是會立即過期 ;
User-Agent:客戶端瀏覽器類型滑潘、版本、操作系統(tǒng)等信息 ;
Content-Type: 請求或響應(yīng)中锨咙,傳輸資源類型信息 ;
Origin:當前請求出自的站點 ;
Accept:客戶端聲明自己可以接收的資源格式 ;
DNT: 請求禁用用戶追蹤 ;
Referer:告訴服務(wù)器該網(wǎng)頁是從哪個頁面鏈接過來 ;
Accept-Encoding: 聲明瀏覽器支持的編碼類型 ;
Accept-Language: 聲明瀏覽器支持的語言類型 ;
Cookie: 辨識存儲在客戶端的緩存數(shù)據(jù)语卤,通常會加密 ;
3、服務(wù)器響應(yīng)返回狀態(tài)碼
狀態(tài)代碼由三位數(shù)字組成,第一個數(shù)字定義了響應(yīng)的類別粹舵,且有五種可能取值钮孵。
1xx:指示信息 —— 表示請求已接收,繼續(xù)處理眼滤。
2xx:成功 —— 表示請求已被成功接收巴席、理解、接受诅需。
3xx:重定向 —— 要完成請求必須進行更進一步的操作漾唉。
4xx:客戶端錯誤 —— 請求有語法錯誤或請求無法實現(xiàn)。
5xx:服務(wù)器端錯誤 —— 服務(wù)器未能實現(xiàn)合法的請求堰塌。
常見狀態(tài)代碼赵刑、狀態(tài)描述的說明如下。
200 OK:客戶端請求成功场刑。
400 Bad Request:客戶端請求有語法錯誤般此,不能被服務(wù)器所理解。
401 Unauthorized:請求未經(jīng)授權(quán)牵现,這個狀態(tài)代碼必須和 WWW-Authenticate 報頭域一起使用铐懊。
403 Forbidden:服務(wù)器收到請求,但是拒絕提供服務(wù)瞎疼。
404 Not Found:請求資源不存在科乎,舉個例子:輸入了錯誤的URL。
500 Internal Server Error:服務(wù)器發(fā)生不可預(yù)期的錯誤贼急。 503 Server Unavailable:服務(wù)器當前不能處理客戶端的請求喜喂,一段時間后可能恢復(fù)正常。