
知識(shí)目錄.png
HTTP:
超文本傳輸協(xié)議
- 請(qǐng)求/響應(yīng)報(bào)文
- 連接建立流程
- HTTP的特點(diǎn)
1.請(qǐng)求/響應(yīng)報(bào)文

請(qǐng)求報(bào)文.png

響應(yīng)報(bào)文.png
HTTP請(qǐng)求方式:
GET、POST、HEAD、PUT、DELETE、OPTIONS
GET和POST的區(qū)別:
初級(jí)答案:
GET請(qǐng)求參數(shù)以?分割拼接到URL后面,POST請(qǐng)求參數(shù)在Body里面
GET參數(shù)長(zhǎng)度限制在2048個(gè)字符,POST一般沒(méi)有該限制
GET請(qǐng)求不安全,POST請(qǐng)求比較安全
標(biāo)準(zhǔn)答案:

GET和POST的區(qū)別.png
安全性:不應(yīng)該引起server端的任何狀態(tài)變化。例如GET、HEAD、OPTIONS請(qǐng)求方式
冪等性:同一個(gè)請(qǐng)求方法執(zhí)行多次和執(zhí)行一次的效果完全相同。例如PUT、DELETE、GET請(qǐng)求方式
可緩存性:請(qǐng)求是否可以被緩存。例如GET、HEAD請(qǐng)求
都了解哪些狀態(tài)碼,他們的含義是?
1開(kāi)頭:
2開(kāi)頭:200響應(yīng)成功
3開(kāi)頭:301、302發(fā)生了網(wǎng)絡(luò)重定向
4開(kāi)頭:401、404客戶端發(fā)起的請(qǐng)求有問(wèn)題
5開(kāi)頭:501、502server端有問(wèn)題
2.HTTP連接建立流程

屏幕快照 2018-05-11 14.48.40.png
3.HTTP的特點(diǎn)
- 無(wú)連接
可以使用HTTP的持久連接來(lái)彌補(bǔ) - 無(wú)狀態(tài)
可以使用Cookie/Session來(lái)彌補(bǔ)
持久連接

持久連接和非持久連接.png
頭部字段:
- Connection:keep-alive;
客戶端期許采用持久連接 - time:20
持續(xù)連接持續(xù)多長(zhǎng)時(shí)間有效 - max:10
這條連接最多可以發(fā)生多少個(gè)HTTP請(qǐng)求和響應(yīng)對(duì)
怎樣判斷持久連接中一個(gè)請(qǐng)求是否結(jié)束?
- Content-length:1024
- chunked:最后會(huì)有一個(gè)空的chunked
Charles抓包原理:
利用了HTTP請(qǐng)求的中間人攻擊漏洞實(shí)現(xiàn)的

中間人攻擊.png
HTTP和HTTPS有什么區(qū)別?

屏幕快照 2018-05-11 15.08.28.png
IP層就是網(wǎng)絡(luò)層,TCP是傳輸層,HTTP屬于應(yīng)用層,SSL/TLS是位于應(yīng)用層之下、傳輸層之上。
HTTPS連接建立流程是怎樣的?

屏幕快照 2018-05-11 15.23.26.png
會(huì)話秘鑰(相當(dāng)于非對(duì)稱加密中的最終秘鑰):
等于
隨機(jī)數(shù)random s + 隨機(jī)數(shù)random c + 預(yù)主秘鑰生成

屏幕快照 2018-05-11 15.27.32.png
非對(duì)稱加密:

非對(duì)稱加密.png
加密和解密使用的??不一樣
對(duì)稱加密:

對(duì)稱加密.png