HTTP筆記

HTTP協(xié)議(超文本傳輸協(xié)議)

簡(jiǎn)介

1.http協(xié)議是用于web服務(wù)器傳輸超文本瀏覽器的傳輸協(xié)議

2.http協(xié)議是基于TCP/IP通信協(xié)議傳遞數(shù)據(jù)和建立連接


工作原理

1.http協(xié)議工作于C/S架構(gòu),瀏覽器通過(guò)url向服務(wù)器發(fā)送請(qǐng)求,服務(wù)器收到請(qǐng)求后,會(huì)返回響應(yīng)到客戶端

2.http默認(rèn)端口80,可以進(jìn)行更改

3.http是無(wú)連接協(xié)議,即每次連接只處理一個(gè)請(qǐng)求,服務(wù)器處理完請(qǐng)求且收到應(yīng)答后,斷開連接,可以減少傳輸時(shí)間

4.http是無(wú)狀態(tài)協(xié)議,處理事務(wù)時(shí)不記憶,所以如果后續(xù)事務(wù)需要前面信息,需要重傳。

5.http流程:

sad


消息結(jié)構(gòu)

1.http的客戶端 (web瀏覽器)向服務(wù)端發(fā)送請(qǐng)求

2.http的服務(wù)端 (web服務(wù)器)向客戶端返回響應(yīng)

3.http是通過(guò)URI進(jìn)行傳輸數(shù)據(jù)和建立連接

4.請(qǐng)求的結(jié)構(gòu)包括

請(qǐng)求行

請(qǐng)求方法字段(GET/POST ) url字段(例:/data/info.html) HTTP協(xié)議版本(http1.0/http1.1)

請(qǐng)求頭部 包含許多參數(shù),比如說(shuō)(常用):

Accept 瀏覽器允許的MIME類型

Referer 客戶端聲明從哪個(gè)資源訪問(wèn)服務(wù)器

User-Agent 包含發(fā)送請(qǐng)求的用戶信息,瀏覽器類型

Content-Type 內(nèi)容類型

Host 要訪問(wèn)的主機(jī)名

Connection 判斷處理完請(qǐng)求是否繼續(xù)連接

Cookie 客戶機(jī)通過(guò)這個(gè)頭可以向服務(wù)器帶數(shù)據(jù)

空行 告訴服務(wù)器頭部到此結(jié)束

請(qǐng)求數(shù)據(jù) 如果是GET,無(wú)數(shù)據(jù) 如果是POST,放入數(shù)據(jù) 數(shù)據(jù)間用&相連

如圖:


5.響應(yīng)的結(jié)構(gòu)包括

響應(yīng)行 包括http協(xié)議版本(同上) http狀態(tài)碼(成功是200,其余后面會(huì)寫) 描述(例ok表示響應(yīng)成功)

響應(yīng)頭 同請(qǐng)求頭部

響應(yīng)數(shù)據(jù) 返回對(duì)應(yīng)數(shù)據(jù),例:請(qǐng)求是html頁(yè)面,返回就是html文檔

如圖:


請(qǐng)求方法
方法名 用途
GET 獲取指定的頁(yè)面信息,返回實(shí)體
HEAD 與GET類似,但主要獲取報(bào)頭
POST 向指定資源發(fā)送數(shù)據(jù)進(jìn)行處理請(qǐng)求,請(qǐng)求包含在請(qǐng)求體中,POST請(qǐng)求可能會(huì)導(dǎo)致新的資源的建立和/或已有資源的修改。
DELETE 請(qǐng)求服務(wù)器刪掉指定頁(yè)面
PUT 向服務(wù)器發(fā)送數(shù)據(jù)并修改數(shù)據(jù)指定的內(nèi)容
OPTIONS 允許查看服務(wù)器性能
TRACE 回顯數(shù)據(jù),用于測(cè)試

狀態(tài)碼

a.分類:

狀態(tài)碼 用途
1** 繼續(xù)操作信息,服務(wù)器收到請(qǐng)求,需要請(qǐng)求者繼續(xù)執(zhí)行操作
2** 成功,操作被收到并處理
3** 重定向,需要進(jìn)一步操作才能完成請(qǐng)求
4** 客戶端錯(cuò)誤,可能是語(yǔ)法錯(cuò)誤或發(fā)送請(qǐng)求錯(cuò)誤
5** 服務(wù)端錯(cuò)誤,服務(wù)器處理請(qǐng)求錯(cuò)誤

b.具體分類:

1系

101 服務(wù)器收到請(qǐng)求,需要請(qǐng)求者繼續(xù)執(zhí)行操作
102 更換高版本http協(xié)議(http1.0轉(zhuǎn)1.1)

2系

200 成功,服務(wù)器收到請(qǐng)求并處理
201 成功請(qǐng)求并創(chuàng)建了新的資源
202 請(qǐng)求成功。但返回的meta信息是一個(gè)副本
203 服務(wù)器已成功處理了請(qǐng)求,但返回的信息可能來(lái)自另一來(lái)源。
204 服務(wù)器成功處理了請(qǐng)求,但沒有返回任何內(nèi)容
205 服務(wù)器成功處理了請(qǐng)求,但沒有返回任何內(nèi)容。與 204 響應(yīng)不同,此響應(yīng)要求請(qǐng)求者重置文檔視圖
206 服務(wù)器處理部分GET請(qǐng)求

3系

300 請(qǐng)求資源包括多個(gè)位置,服務(wù)器提供操作列表供請(qǐng)求者選擇
301 永久重定向 資源被永久移動(dòng)到新的uri,包括返回信息和請(qǐng)求使用新的uri
302 臨時(shí)重定向 資源臨時(shí)移動(dòng)到新的uri,訪問(wèn)時(shí)仍然為舊uri
303 查看其它地址。與301類似。使用GET和POST請(qǐng)求查看
304 請(qǐng)求的資源未修改,不返回內(nèi)容
305 使用代理訪問(wèn)請(qǐng)求網(wǎng)頁(yè)
307 臨時(shí)重定向。與302類似。使用GET請(qǐng)求重定向

4系

400 語(yǔ)法錯(cuò)誤
401 需要身份驗(yàn)證
403 資源不可用
404 找不到資源
405 請(qǐng)求方法對(duì)資源不可用
406 資源已找到,但MIME類型與Accept請(qǐng)求頭指定的不符
407 需要代理服務(wù)器授權(quán)
408 在服務(wù)器許可的等待時(shí)間內(nèi),客戶一直沒有發(fā)出任何請(qǐng)求??蛻艨梢栽谝院笾貜?fù)同一請(qǐng)求。
409 請(qǐng)求與資源狀態(tài)沖突
410 服務(wù)器無(wú)法重定向
411 請(qǐng)求中無(wú)Content-Length頭
412 文檔太大,服務(wù)器需要Retry-enter頭
414 URI太長(zhǎng)

5系

500 服務(wù)器出狀況
501 服務(wù)器不支持請(qǐng)求中的某功能
502 服務(wù)器返回非法應(yīng)答
503 服務(wù)器未應(yīng)答
504 能及時(shí)地從遠(yuǎn)程服務(wù)器獲得應(yīng)答
505 服務(wù)器不支持http版本

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.1 TCP/IP協(xié)議組 TCP/IP協(xié)議(傳輸控制協(xié)議)由網(wǎng)絡(luò)層的IP協(xié)議和傳輸層的TCP協(xié)議組成 IP層負(fù)責(zé)...
    F麥子閱讀 2,922評(píng)論 0 25
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,596評(píng)論 19 139
  • 一、概念(載錄于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434閱讀 8,742評(píng)論 6 152
  • 1.OkHttp源碼解析(一):OKHttp初階2 OkHttp源碼解析(二):OkHttp連接的"前戲"——HT...
    隔壁老李頭閱讀 21,604評(píng)論 24 176
  • 第一章:Web及網(wǎng)絡(luò)基礎(chǔ) TCP/IP是互聯(lián)網(wǎng)相關(guān)的各類協(xié)議族的總稱,包含TCP、UDP、HTTP、FTP、IP、...
    loneyzhou閱讀 456評(píng)論 0 1

友情鏈接更多精彩內(nèi)容