一.OSI 的七層模型

二、握手
1.簡(jiǎn)單理解
1)C:你收到了嗎 --> S:我收到了,你能收到嗎? --> C:我能收到

三、Http 報(bào)文簡(jiǎn)介

- 請(qǐng)求首部字段
Accept:用戶代理可處理的媒體類(lèi)型
Accept-Charset:優(yōu)先的字符集
Accept-Language:優(yōu)先的語(yǔ)言(自然語(yǔ)言)
Accept-Encoding:優(yōu)先的內(nèi)容編碼
If-Modified-Since:比較資源的更新時(shí)間
If-Range:資源未更新時(shí)發(fā)送實(shí)體 Byte 的范圍請(qǐng)求
Cookie: 設(shè)置Cookie


- 響應(yīng)首部字段
Cache-Control:控制緩存的行為
1)public
2)private
3)no-cache:這里是要緩存,比較特殊
4)max-age:比較特殊
4)no-store(不緩存)
set-Cookie: 設(shè)置Cookie(下面會(huì)單獨(dú)講)
Location:令客戶端重定向至指定 URI
Expires:緩存的過(guò)期策略)實(shí)體主體過(guò)期的日期時(shí)間
Last-Modified:(資源的最后修改日期時(shí)間304:文件沒(méi)修改,服務(wù)器直接返回(前提服務(wù)器做了)
Status Code: 響應(yīng)的狀態(tài)碼
1xx: Infomational (信息狀態(tài)碼) ,接收的請(qǐng)求正在處理
2xx: Succeed(成功),請(qǐng)求正常處理完畢,如 200,204
3xx: Redirection(重定向),需要進(jìn)行附加操作,一般是沒(méi)有響應(yīng)數(shù)據(jù)返回的,如 304(Not,modified)307
4xx: Client Error (客戶端的錯(cuò)誤),服務(wù)器無(wú)法處理請(qǐng)求,如 404,405
5xx: Server Error (服務(wù)端的錯(cuò)誤),服務(wù)器處理請(qǐng)求出錯(cuò),如 500,502
3.Cookie、Session 和 Token
1) 它們都是用作持久化處理的,目的是讓客戶與服務(wù)端相認(rèn)識(shí)。請(qǐng)求默認(rèn)是不持久的無(wú)狀態(tài),互不認(rèn)識(shí)。
2) Cookie: 是存放在客戶端的信息,服務(wù)器通過(guò)響應(yīng)頭 Set-Cookie 字段給客戶端,cookie過(guò)期會(huì)被清除。沒(méi)過(guò)期會(huì)在下次訪問(wèn)網(wǎng)站將cookie帶給服務(wù)器
3) Session: 是存放在服務(wù)器上面的客戶端臨時(shí)信息,用戶離開(kāi)網(wǎng)站是會(huì)被清除的。
4) Token(App)"令牌":用戶身份的驗(yàn)證,有點(diǎn)類(lèi)似于 Cookie ,相對(duì)來(lái)說(shuō)更安全,一般流程:
1): 客戶端向服務(wù)端申請(qǐng) Token
2): 服務(wù)端收到請(qǐng)求,會(huì)去驗(yàn)證用戶信息,簽發(fā)一個(gè) Token 給客戶端,服務(wù)端自己也會(huì)保存 Token
3):客戶端收到服務(wù)端簽發(fā)的 Token 會(huì)保存起來(lái),每次請(qǐng)求帶上 Token
4):服務(wù)器收到其他請(qǐng)求,會(huì)去驗(yàn)證客戶端的 Token , 如果成功返回?cái)?shù)據(jù),不成功不做其他處理
四、HTTP緩存
1.Cache-Control(緩存策略):Public、private、no-cache、max-age 、no-store(不緩存)
2.Expires(緩存的過(guò)期策略):指名了緩存數(shù)據(jù)有效的絕對(duì)時(shí)間,告訴客戶端到了這個(gè)時(shí)間點(diǎn)(比照客戶端時(shí)間點(diǎn))后本地緩存就作廢了,在這個(gè)時(shí)間點(diǎn)內(nèi)客戶端可以認(rèn)為緩存數(shù)據(jù)有效,可直接從緩存中加載展示。
五、HTTP和HTTPS區(qū)別
1.Https = Http + 加密 + 驗(yàn)證 + 完整
2.Http 的缺點(diǎn):
數(shù)據(jù)是沒(méi)有加密傳輸,可能會(huì)遭遇竊聽(tīng);
不驗(yàn)證通信方的身份,可能會(huì)遭遇偽裝;
無(wú)法驗(yàn)證報(bào)文的完整性,可能會(huì)遭遇篡改。
