導讀
- 移動開發(fā)知識體系總章(Java基礎丐谋、Android、Flutter)
- 什么是HTTP協(xié)議收壕?
- HTTP請求所經(jīng)歷的步驟(高層協(xié)議)
- TCP/IP 建立鏈接的三次握手(底層協(xié)議)
- 請求報文/響應報文格式
- 有哪些請求方式
- get和post的區(qū)別
- http和https的區(qū)別
- 什么是HTTP無狀態(tài)協(xié)議船侧?
- cookies機制和session機制的區(qū)別
- HTTP狀態(tài)碼
1.什么是HTTP協(xié)議?
- 客戶端和服務器端之間數(shù)據(jù)傳輸?shù)母袷揭?guī)范此迅,簡稱為超文本傳輸協(xié)議。
2.HTTP請求所經(jīng)歷的步驟(高層協(xié)議)
- 建立 TCP/IP 鏈接
- Web瀏覽器端發(fā)送(必須建立連接后)
2.1. 發(fā)送請求行
2.3. 發(fā)送請求頭
2.4. 發(fā)送空白行 - Web服務器端響應
3.1. 發(fā)送應答行
3.2. 發(fā)送應答頭
3.3. 發(fā)送響應數(shù)據(jù)
3.4. 發(fā)送空白行 - 關閉TCP連接(可以設置保持打開狀態(tài))
- Web瀏覽器端接收到響應數(shù)據(jù)
3.TCP/IP 建立鏈接的三次握手(底層協(xié)議)
- 即客戶端想服務器發(fā)送一個syn包進入未連接隊列
- 服務器讀取未連接隊列進行回復syn包(進入SYN_RECV狀態(tài))
- 客戶端收到服務器發(fā)送的syn包后再次向服務器發(fā)送確認syn包(進入ESTABLISHED狀態(tài))
可以參考對講機的使用方式:
1旧巾、長江長江耸序,我是黃河,收到請回答鲁猩。
2坎怪、黃河黃河,我是長江廓握,收到請回答搅窿。
3、我是黃河疾棵,(巴拉巴拉)戈钢。
4.請求報文/響應報文格式
5.有哪些請求方式
- get
- post
- put
- delete
- head
-options
6.get和post的區(qū)別
簡單來說:
- GET產(chǎn)生一個TCP數(shù)據(jù)包
- POST產(chǎn)生兩個TCP數(shù)據(jù)包
嚴格來說:
- GET請求痹仙,客戶端會把header和data一并發(fā)送出去是尔,服務器進行響應
- POST請求,客戶端先發(fā)送header开仰,服務器響應100 continue拟枚,客戶端再發(fā)送data
7.http和https的區(qū)別
HTTPS = HTTP + SSL
- https有ca證書,http一般沒有
- http是超文本傳輸協(xié)議众弓,信息是明文傳輸恩溅。https則是具有安全性的ssl加密傳輸協(xié)議
- http默認80端口,https默認443端口谓娃。
8.什么是HTTP無狀態(tài)協(xié)議脚乡?
- 無狀態(tài)就是沒有記憶能力,也就是請求報文中沒有使用Cookie或Session
- 也就是說使用Cookie或Session就是無狀態(tài)協(xié)議解決辦法滨达。
9.cookies機制和session機制的區(qū)別
- cookies數(shù)據(jù)保存在客戶端奶稠,session數(shù)據(jù)保存在服務器端
- cookies可以減輕服務器壓力,但是不安全捡遍,容易進行cookies欺騙
- session較安全锌订,但占用服務器資源
10. HTTP狀態(tài)碼
- 200 請求已成功,請求所希望的響應頭或數(shù)據(jù)體將隨此響應返回画株。
- 201 請求已經(jīng)被實現(xiàn)辆飘,而且有一個新的資源已經(jīng)依據(jù)請求的需要而建立啦辐,且其 URI 已經(jīng)隨Location 頭信息返回
- 202 服務器已接受請求,但尚未處理
- 301 (永久移動) 請求的網(wǎng)頁已永久移動到新位置蜈项。 服務器返回此響應(對 GET 或 HEAD 請求的響應)時芹关,會自動將請求者轉到新位置。
- 302 (臨時移動) 服務器目前從不同位置的網(wǎng)頁響應請求战得,但請求者應繼續(xù)使用原有位置來進行以后的請求充边。
- 303 (查看其他位置) 請求者應當對不同的位置使用單獨的 GET 請求來檢索響應時,服務器返回此代碼常侦。
- 304 (未修改) 自從上次請求后浇冰,請求的網(wǎng)頁未修改過。 服務器返回此響應時聋亡,不會返回網(wǎng)頁內(nèi)容肘习。
- 305 (使用代理) 請求者只能使用代理訪問請求的網(wǎng)頁。 如果服務器返回此響應坡倔,還表示請求者應使用代理漂佩。
- 307 (臨時重定向) 服務器目前從不同位置的網(wǎng)頁響應請求,但請求者應繼續(xù)使用原有位置來進行以后的請求罪塔。
- 401 當前請求需要用戶驗證投蝉。如果當前請求已經(jīng)包含了 Authorization 證書,那么401響應代表著服務器驗證已經(jīng)拒絕了那些證書
- 403 服務器已經(jīng)理解請求征堪,但是拒絕執(zhí)行它瘩缆。與401響應不同的是,身份驗證并不能提供任何幫助佃蚜,而且這個請求也不應該被重復提交
- 404 請求失敗庸娱,請求所希望得到的資源未被在服務器上發(fā)現(xiàn)
- 500 服務器遇到了一個未曾預料的狀況,導致了它無法完成對請求的處理谐算。一般來說熟尉,這個問題都會在服務器的程序碼出錯時出現(xiàn)。
- 501 服務器不支持當前請求所需要的某個功能洲脂。當服務器無法識別請求的方法斤儿,并且無法支持其對任何資源的請求。
- 502 作為網(wǎng)關或者代理工作的服務器嘗試執(zhí)行請求時恐锦,從上游服務器接收到無效的響應往果。
- 503 由于臨時的服務器維護或者過載,服務器當前無法處理請求踩蔚。這個狀況是臨時的棚放,并且將在一段時間以后恢復。