HTTP細(xì)解

一.OSI 的七層模型


圖片.png

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


圖片.png

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


圖片.png
  1. 請(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
圖片.png

圖片.png
  1. 響應(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ì)遭遇篡改。
圖片.png
最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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