五千多字脓豪,圖文并茂詳解HTTP報(bào)文格式、請(qǐng)求響應(yīng)頭忌卤、cookie以及HTTPS加密方式

  • 靚仔靚女們大家好扫夜,我們又見面了,:java小杰要加油驰徊,這周來分享一篇關(guān)于HTTP協(xié)議相關(guān)的文章
  • 看完此文可以對(duì)
    • HTTP報(bào)文格式笤闯、HTTP各種請(qǐng)求頭HTTP響應(yīng)碼棍厂、 cookie屬性以及HTTPS為什么安全(涉及到三種加密方式) 有個(gè)清晰的認(rèn)知
  • 全文五千來字颗味,強(qiáng)烈建議收藏,鞏固基礎(chǔ)
  • 若文中涉及到的知識(shí)點(diǎn)有所偏差的話牺弹,還請(qǐng)大佬們指出浦马,小杰感激不盡时呀,沖沖沖!~
  • 話不多說晶默,直接開搞

HTTP簡介

  • 超文本傳輸協(xié)議(Hypertext Transfer Protocol退唠,HTTP)是一個(gè)簡單的請(qǐng)求-響應(yīng)協(xié)議,它通常運(yùn)行在TCP之上荤胁。它指定了客戶端可能發(fā)送給服務(wù)器什么樣的消息以及得到什么樣的響應(yīng)
  • 現(xiàn)在主要應(yīng)用 http1.1 協(xié)議
  • http是無狀態(tài)協(xié)議瞧预,不會(huì)保存多次請(qǐng)求之間的關(guān)系,使用cookie做狀態(tài)管理
  • 持久連接節(jié)省通信量(HTTP1.1和部分HTTP1.0)
  • 通過請(qǐng)求方法告知服務(wù)器意圖仅政,get,post

HTTP報(bào)文

  • 用于HTTP協(xié)議交互的信息叫做HTTP報(bào)文
  • 報(bào)文由報(bào)文首部報(bào)文主體來組成垢油,其中由空行分割
  • 請(qǐng)求報(bào)文響應(yīng)報(bào)文報(bào)文結(jié)構(gòu)不一樣,其中最大的區(qū)別就是在報(bào)文首部中圆丹,各有各的特定的首部
image
  • 報(bào)文首部:服務(wù)器或者客戶端需要處理的請(qǐng)求或者響應(yīng)的內(nèi)容及其屬性
  • 報(bào)文主體:被發(fā)送的數(shù)據(jù)

HTTP請(qǐng)求報(bào)文結(jié)構(gòu)

  • 客戶端發(fā)送的報(bào)文叫做請(qǐng)求報(bào)文
image
  • 請(qǐng)求行:包含用于請(qǐng)求的方法滩愁,請(qǐng)求URI和HTTP版本
  • 請(qǐng)求首部字段:請(qǐng)求報(bào)文里特有的字段(后文會(huì)提到)
  • 通用首部字段:請(qǐng)求報(bào)文和響應(yīng)報(bào)文都會(huì)用到的首部
  • 實(shí)體首部字段:針對(duì)請(qǐng)求報(bào)文的實(shí)體部分使用的首部
  • 其他:可能包含HTTP的RFC里未定義的首部(如Cookie等)

HTTP響應(yīng)報(bào)文結(jié)構(gòu)

  • 服務(wù)端發(fā)送的報(bào)文叫做響應(yīng)報(bào)文
image
  • 狀態(tài)行:包含表明響應(yīng)結(jié)果的狀態(tài)碼,原因短語和HTTP版本
  • 響應(yīng)首部字段:響應(yīng)報(bào)文里特有的字段(后文會(huì)提到)
  • 通用首部字段:請(qǐng)求報(bào)文和響應(yīng)報(bào)文都會(huì)用到的首部
  • 實(shí)體首部字段:針對(duì)響應(yīng)報(bào)文的實(shí)體部分使用的首部
  • 其他:可能包含HTTP的RFC里未定義的首部(如Set-Cookie等)

注:若HTTP首部字段重復(fù)了的話辫封,不同的瀏覽器處理機(jī)制不一樣

  • 有些瀏覽器會(huì)優(yōu)先處理第一次出現(xiàn)的字段
  • 有些瀏覽器會(huì)優(yōu)先處理最后一次出現(xiàn)的字段

HTTP響應(yīng)碼

2xx 成功

2xx的響應(yīng)結(jié)果就代表請(qǐng)求被正常處理了

  • 200 OK:表示客戶端發(fā)來的請(qǐng)求被服務(wù)器正常處理了
  • 204 Not Content:請(qǐng)求被成功處理硝枉,但是返回的響應(yīng)報(bào)文不包含實(shí)體的主體部分
  • 206 Partial Content:客戶端進(jìn)行范圍請(qǐng)求,而服務(wù)器重新執(zhí)行了這部分的GET請(qǐng)求

3xx 重定向

3xx的響應(yīng)結(jié)果就表明瀏覽器需要執(zhí)行某些特殊的處理以正確處理請(qǐng)求

  • 301 Moved Permanently:永久重定向倦微。表示請(qǐng)求的資源已經(jīng)被分配了新的URI妻味,以后應(yīng)該使用新的URI
  • 302 Found:臨時(shí)重定向。代表資源只是暫時(shí)的移動(dòng)了以后還可能會(huì)移動(dòng)為新的URI
  • 303 See Other:由于請(qǐng)求對(duì)應(yīng)的資源存在著另一個(gè)URI欣福,應(yīng)使用GET方法定向獲取請(qǐng)求的資源
  • 304 Not Modified:客戶端發(fā)送附帶條件(請(qǐng)求首部中if開頭的屬性中的一種)的請(qǐng)求的時(shí)候责球,服務(wù)端允許訪問資源,但是那些請(qǐng)求并沒有滿足拓劝,直接返回304雏逾,即服務(wù)端資源未改變,可以直接使用客戶端未過期的緩存郑临,304返回時(shí)栖博,不包含任何響應(yīng)的主體部分(雖然被劃分為3xx里,但是和重定向沒有任何關(guān)系)

4xx 客戶端錯(cuò)誤

4xx的響應(yīng)結(jié)果就表明客戶端是發(fā)生錯(cuò)誤的原因所在

  • 400 Bad Requset:請(qǐng)求報(bào)文中存在語法錯(cuò)誤厢洞,請(qǐng)修改請(qǐng)求內(nèi)容后再發(fā)送請(qǐng)求
  • 401 Unauthorized:客戶端未認(rèn)證授權(quán)
  • 403 Forbidden:服務(wù)端禁止客戶端訪問此資源
  • 404 Not Found:URL寫錯(cuò)了仇让,找不到此路徑

5xx 服務(wù)器錯(cuò)誤

5xx的響應(yīng)結(jié)果就表明服務(wù)器本身發(fā)生錯(cuò)誤

  • 500 Internal Server Error:服務(wù)器內(nèi)部故障,可能是bug導(dǎo)致的
  • 503 Service Unavaliable:服務(wù)器暫時(shí)不可用(停機(jī)維護(hù)或者超負(fù)載)犀变,如果事先知道解除這種情況所需的時(shí)間妹孙,最好寫入響應(yīng)頭中的Retry-After這個(gè)字段再返回給客戶端

HTTP報(bào)文首部

HTTP1.1 規(guī)定了 以下47種首部字段

通用首部 (共9種)

首部字段 解釋
1. Cache-Control 控制緩存的行為
2. Connection 逐跳首部、連接的管理
3. Date 創(chuàng)建報(bào)文的日期和時(shí)間
4. Pragma 報(bào)文指令
5. Trailer 報(bào)文末端的首部一覽
6. Transfer-Encoding 指定報(bào)文主體的傳輸編碼方式
7. Upgrade 升級(jí)為其他協(xié)議
8. Via 代理服務(wù)器的相關(guān)信息
9. Warning 錯(cuò)誤通知

下面我們來看挑幾個(gè)重要的屬性來看下~

  1. Connection 他有兩個(gè)作用
  • 控制不再轉(zhuǎn)發(fā)給代理的首部字段
GET / HTTP/1.1
Upgrade: HTTP/1.1    // 就會(huì)把次字段刪除后再從代理服務(wù)器轉(zhuǎn)發(fā)出去
Connection: Upgrade   // 不再轉(zhuǎn)發(fā)的首部字段名
image
  • 管理持久鏈接(這個(gè)比較常見)
    • HTTP/1.1默認(rèn)連接都是持久連接Connction: Keep-Alive
    • 當(dāng)服務(wù)器想斷開的時(shí)候获枝,需要指定Connction: close
  1. Pragme :是HTTP/1.1之前版本遺留的字段蠢正,僅僅是為了與HTTP/1.0向后兼容而定義
    • Pragm:no-cache :通用首部字段,在請(qǐng)求頭中省店,表示所有的中間服務(wù)器不返回緩存的資源
    • 可是所有的中間服務(wù)器都以HTTP/1.1為基準(zhǔn)的話嚣崭,可以直接采用 Cache-Control:no-cache
    • 所以一般會(huì)發(fā)送兩個(gè)字段Cache-Control:no-cache Pragm:no-cache

請(qǐng)求報(bào)文首部 (共19種)

首部字段 解釋
1.Accrpt 用戶代理可處理的媒體類型
2.Accrpt-Charset 優(yōu)先的字符集
3.Accept-Encoding 優(yōu)先的內(nèi)容編碼
4.Accept-Language 優(yōu)先的語言(自然語言)
5.Authorization web認(rèn)證信息
6.Expect 期待服務(wù)器的特定行為
7.From 用戶的電子郵箱地址
8.Host 請(qǐng)求資源所在服務(wù)器
9.If-Match 比較實(shí)體標(biāo)記(ETag)
10.If-Modified-Since 比較資源的更新時(shí)間
11.If-None-Match 比較實(shí)體標(biāo)記(與If-Match相反)
12.If-Range 資源未更新時(shí)發(fā)送實(shí)體Byte的范圍請(qǐng)求
13.If-Unmodified-Since 比較資源的更新時(shí)間(與If-Modified-Since相反)
14.Max-Forwards 最大傳輸逐跳數(shù)
15.Proxy-Authorization 代理服務(wù)器要求客戶端的認(rèn)證信息
16.Range 實(shí)體的字節(jié)范圍要求
17.Referer 對(duì)請(qǐng)求中URI的原始獲取方
18.TE 傳輸編碼的優(yōu)先級(jí)
19.User-Agent HTTP客戶端程序的信息
  1. If-Match:只有當(dāng) If-Match 字段值跟 ETag 值匹配一致時(shí)笨触,服務(wù)器才會(huì)接受請(qǐng)求
    • 它會(huì)告知服務(wù)器匹配資源所用的實(shí)體標(biāo)記(ETag)值,這時(shí)服務(wù)器無法使用弱ETag值
    • 僅當(dāng)兩者一致時(shí)才會(huì)執(zhí)行請(qǐng)求雹舀,否則返回412 Precondition Failed的響應(yīng)
    • 還可以使用 * 號(hào)指定If-Match的字段值芦劣,如果這樣的話,那么服務(wù)器將會(huì)忽略ETag的值说榆,只要資源存在就處理請(qǐng)求虚吟。
  2. If-Modified-Since
    • 若資源更新時(shí)間確實(shí)在此字段指定時(shí)間之后的話,則處理該請(qǐng)求签财,否則返回304 Not Modified
    • 用于確認(rèn)代理或客戶端擁有本地資源的有效性串慰,若想獲取資源的更新日期時(shí)間的話可以通過確認(rèn)首部字段Last-Modified來確定
  3. If-None-Match
    • 只有在If-None-Match的字段值與ETag值不一致時(shí),才可以處理該請(qǐng)求唱蒸,與前文中提到的If-Match作用相反
  4. If-Range
    • 他告知服務(wù)器若指定的If-Range字段值(ETag值或者時(shí)間)和請(qǐng)求資源的ETag值或時(shí)間一致時(shí)邦鲫,則作為范圍請(qǐng)求處理,否則神汹,返回全體資源
  5. If-Unmodified-Since
    • 指定的請(qǐng)求資源只有在字段值內(nèi)指定的日期時(shí)間之后未發(fā)生更新庆捺,才會(huì)執(zhí)行這個(gè)請(qǐng)求,否則屁魏,返回412 Precondition Failed狀態(tài)響應(yīng)滔以,與If-Modified-Since作用相反
  6. Max-Forwards
    • 每次請(qǐng)求轉(zhuǎn)發(fā)時(shí)數(shù)值減一,直到0時(shí)返回響應(yīng)
    • 有可能這個(gè)請(qǐng)求經(jīng)過了多臺(tái)服務(wù)器代理轉(zhuǎn)發(fā)蚁堤,如果突然間請(qǐng)求出現(xiàn)了什么問題導(dǎo)致轉(zhuǎn)發(fā)失敗醉者,而客戶端不知道,此時(shí)就可以用此屬性來定位問題披诗,這個(gè)時(shí)候我們就可以掌握一個(gè)出問題的轉(zhuǎn)發(fā)路徑,從而方便進(jìn)一步的排查問題立磁。
  7. Range:
    • 對(duì)于只需要獲取部分資源的范圍請(qǐng)求呈队,Range字段可以指定獲取資源范圍Range: bytes=10001-20000
    • 例子中表示請(qǐng)求獲取從第10001字節(jié)到20000字節(jié)的資源
    • 服務(wù)器處理請(qǐng)求后會(huì)返回206 Partial Content的響應(yīng)。無法處理時(shí)唱歧,則會(huì)返回狀態(tài)碼200 OK的響應(yīng)及其全部資源

響應(yīng)報(bào)文首部 (共9種)

首部字段名 解釋
1.Accept-Ranges 是否接受字節(jié)范圍請(qǐng)求
2.Age 推算資源創(chuàng)建經(jīng)過時(shí)間
3.ETag 資源的匹配信息
4.Location 令客戶端重定向至指定URI
5.Proxy-Authenticate 代理服務(wù)器對(duì)客戶端的認(rèn)證信息
6.Retry-After 對(duì)再次發(fā)起請(qǐng)求的時(shí)機(jī)要求
7.Server HTTP服務(wù)器的安裝信息
8.Vary 代理服務(wù)器緩存的管理信息
9.WWW-Authenticate 服務(wù)器對(duì)客戶端的認(rèn)證信息
  1. Accept-Ranges
    • Accept-Ranges:bytes 可以處理范圍請(qǐng)求
    • Accept-Ranges:none 不可以處理范圍請(qǐng)求
  2. Age
    • 可以告知客戶端宪摧,源服務(wù)器多久之前創(chuàng)建了資源,單位是秒
    • 若創(chuàng)建該響應(yīng)的是緩存服務(wù)器颅崩,則Age值是指緩存后的響應(yīng)再次發(fā)起發(fā)起認(rèn)證到認(rèn)證完成的時(shí)間值几于。代理創(chuàng)建響應(yīng)時(shí)必須加上首部字段Age
  3. ETag

    它是一種可將資源以字符串形式做唯一標(biāo)識(shí)的方式,服務(wù)器會(huì)為每份資源分配對(duì)應(yīng)的ETag值,資源被更新時(shí)沿后,ETag值也會(huì)被更新沿彭,并沒有統(tǒng)一的算法規(guī)則,而是由服務(wù)器來分配

    • 強(qiáng)ETag:無論實(shí)體發(fā)生多么細(xì)微的變化都會(huì)改變其值
    • ETag:只用于提示資源是否相同尖滚,只有資源發(fā)生了根本的改變才會(huì)改變ETag值喉刘,這時(shí)會(huì)在字段值最開始加W/,
      ETag:W/"XXX"
  4. Location
    • 使用該響應(yīng)字段可以將響應(yīng)接收方引導(dǎo)至某個(gè)與請(qǐng)求的URI位置不同的資源
    • 基本上瞧柔,該字段配合3XX,Redirection的響應(yīng)睦裳,提供重定向的URI
  5. Vary

    首部字段vary可對(duì)緩存進(jìn)行控制造锅,源服務(wù)器會(huì)向代理服務(wù)器傳達(dá)關(guān)于本地緩存使用方法的命令

    • 當(dāng)代理服務(wù)器接收到服務(wù)器返回包含Vary指定項(xiàng)的響應(yīng)后,僅對(duì)請(qǐng)求中含有相同Vary指定首部字段的請(qǐng)求返回緩存
    • 即使對(duì)相同資源發(fā)起請(qǐng)求廉邑,但是由于Vary指定的首部字段不相同哥蔚,因此必須從源服務(wù)器重新獲取資源
    • 例如下面這個(gè),如果使用的Accept-Language:en-us字段的值相同蛛蒙,那么直接從緩存返回響應(yīng)肺素,否則從源服務(wù)器請(qǐng)求資源后再返回響應(yīng)
      image

實(shí)體報(bào)文首部 (共10種)

首部字段名 解釋
1.Allow 資源可支持的HTTP方法
2.Content-Encoding 實(shí)體主體適用的編碼方式
3.Content-Language 實(shí)體主體的自然語言
4.Content-Length 實(shí)體主體的大小(單位:字節(jié))
5.Content-Location 代替對(duì)應(yīng)資源的URI
6. Content-MD5 實(shí)體主體的報(bào)文摘要
7. Content-Range 實(shí)體主體的位置范圍
8. Content-Type 實(shí)體主體的媒體類型
9.Expires 實(shí)體主體過期的日期時(shí)間
10.Last-Modified 資源的最后修改日期時(shí)間

其他字段(cookie等)

  • cookie宇驾,我們下面單獨(dú)講這個(gè)

cookie

  • 注 : 文中例子中的各種請(qǐng)求倍靡,報(bào)文,均來自 京東物流官網(wǎng)
  • ps:小杰個(gè)人挺喜歡JDL的標(biāo)語的课舍,有速度塌西,更有溫度,祝JDL越來越好筝尾!
image

set-cookie

屬性 解釋
NAME=VALUE 賦予Cookie的名稱和其值(必需項(xiàng))
expires = DATE Cookie的有效期(若不指定則默認(rèn)為瀏覽器關(guān)閉為止)
path=PATH 將服務(wù)器上的文件目錄作為Cookie的適用對(duì)象(若不指定則默認(rèn)為文檔所在的文件目錄)
domin=域名 作為Cookie適用對(duì)象的域名(若不指定則默認(rèn)為創(chuàng)建Cookie的服務(wù)器域名)
Secure 僅在HTTPS安全通信時(shí)才會(huì)發(fā)送Cookie
HttpOnly 加以限制捡需,使Cookie不能被JS腳本訪問,主要目的是為了防止跨站腳本攻擊(Cross Site Scripting筹淫,XSS)對(duì)cookie的竊取

谷歌瀏覽器控制臺(tái)查看cookie

image
  • cookie中的thorJSESSIONID這兩個(gè)key的后HttpOnly屬性被打上了√站辉,就表明,此key無法被js腳本訪問损姜,防止跨站腳本攻擊(Cross Site Scripting饰剥,XSS)對(duì)cookie的竊取
    我們來看下再console控制臺(tái)輸入document.cookie
    得出的cookie無法找到這兩個(gè)key
image
image
image

因?yàn)檫@個(gè)屬性JSESSIONID比較重要,存儲(chǔ)的是sessionId摧阅,這個(gè)要是被別人拿到的話汰蓉,別人就可以冒充我在網(wǎng)站上做某些事情了,像我自己一樣請(qǐng)求某些數(shù)據(jù)了

postman 模擬拿到cookie后發(fā)送請(qǐng)求

image
image

我把網(wǎng)頁上的cookie拿下來棒卷,放到postman里測(cè)試顾孽,發(fā)現(xiàn)和我自己在網(wǎng)站上請(qǐng)求數(shù)據(jù)是一樣的

cookie存儲(chǔ)的地方,清理緩存到底是清理什么比规?

清理緩存主要就是清理cookie,抹去自己登陸痕跡以及瀏覽器中的資源緩存若厚,重新請(qǐng)求網(wǎng)站資源

image
image
image

HTTP 與 HTTPS

HTTP不足

  • 通信使用明文(不加密),內(nèi)容可能會(huì)被篡改
  • 不驗(yàn)證通信方的身份蜒什,因此有可能遭遇偽裝
  • 無法證明報(bào)文的完整性测秸,所以有可能已遭遇篡改

HTTPS結(jié)構(gòu)

HTTPS是身披SSL(Secure Socket Layer)外殼的HTTP

image
  • 在采用SSL后,HTP就擁有了HTTPS的加密、證書和完整性保護(hù)這些功能
  • 想要了解HTTPS是怎么加密的乞封,得先了解下下面兩種提到的加密技術(shù)

對(duì)稱加密原理

  • 客戶端和服務(wù)端約定好用同一把密鑰
  • 這把密鑰可以對(duì)數(shù)據(jù)進(jìn)行加密/解密
image
  • 客戶端和服務(wù)端之間的共享密鑰的傳送問題也是一個(gè)問題做裙,如果能夠安全傳送不被截獲的話,那豈不是數(shù)據(jù)也可以安全的傳送到不被截獲?雞生蛋蛋生雞的問題。
  • 圖中客戶端和服務(wù)端傳輸加密數(shù)據(jù)的時(shí)候冰垄,如果雙方的共享密鑰泄露的被黑客截取到的話邢滑,黑客就可以用它來解開這加密的數(shù)據(jù),所以對(duì)稱加密不安全

非對(duì)稱加密原理(公開密鑰加密)

  • 一共有兩把密鑰(是一對(duì)),一個(gè)公開密鑰,一個(gè)私人密鑰
  • 公開密鑰加密的數(shù)據(jù),只有對(duì)應(yīng)的私鑰才可以解密吧碾,
  • 私鑰加密的數(shù)據(jù),公鑰也可以解密
image
  • 問題就是墓卦,從服務(wù)端發(fā)送給客戶端數(shù)據(jù)時(shí)無法保證數(shù)據(jù)的安全性倦春,因?yàn)榇藭r(shí)有可能黑客截獲到了公鑰,對(duì)私鑰加密的數(shù)據(jù)進(jìn)行了解密
  • 服務(wù)器端為什么不發(fā)送用公鑰加密的數(shù)據(jù)落剪?因?yàn)榭蛻舳藳]有私鑰睁本,無法解密。

混合加密原理

聰明的大佬們用兩種加密算法混合了一下

  • 客戶端一開始向服務(wù)端傳輸?shù)氖侵也溃霉_密鑰加密的共享密鑰呢堰!
  • 這樣的話,服務(wù)端收到這個(gè)加密的數(shù)據(jù)后用自己的私鑰密鑰解密后得到的就是共享密鑰凡泣,以后和客戶端交互時(shí)都用這個(gè)共享密鑰就可以啦枉疼,因?yàn)楹诳褪菬o法獲得這個(gè)共享密鑰的,畢竟公開密鑰加密的數(shù)據(jù)鞋拟,只有對(duì)應(yīng)的私鑰才可以解密骂维,而這個(gè)私鑰一開始就在服務(wù)端手里而不在黑客手里
image

我曾經(jīng)以為這樣就萬無一失了,文章也就到此結(jié)束了严卖,可以和血包殺手愉快的timi了席舍,可是,你有沒有聽說過哮笆,中間人攻擊

中間人攻擊

黑客攔截”用公開加密密鑰機(jī)密后的共享密鑰“后不是解密不了嗎汰扭,好稠肘,那我就不攔截這個(gè)了,我攔截第一個(gè)請(qǐng)求好吧萝毛,我攔截服務(wù)端傳給你的公開密鑰项阴,我攔截到了,我再給你個(gè)假的,(像極了《讓子彈飛》中环揽,張麻子與馬邦德的關(guān)系略荡,出任鵝城縣長)。從根上就偽裝成你歉胶,以后就等于我是個(gè)中間人(中轉(zhuǎn)站)汛兜,所有的請(qǐng)求,數(shù)據(jù)都要經(jīng)過我通今,那我就可以記錄下來其中你的敏感數(shù)據(jù)粥谬,可怕。

image
  • 其實(shí)中間人攻擊還要有好多種辫塌,以后有機(jī)會(huì)寫一寫漏策,我們先大概了解下是什么意思就好~

數(shù)字證書

  • 所以現(xiàn)在問題又到了這里,我無法確保這個(gè)公鑰是服務(wù)端發(fā)給我的臼氨,還是中間人發(fā)給我的掺喻?可這世上沒有用錢解決不了的問題,雖然我確保不了储矩,可是有人可以確保感耙,就是得花錢,我們可以使用由數(shù)字證書認(rèn)證機(jī)構(gòu)(CA)和其他相關(guān)機(jī)構(gòu)頒發(fā)的公開密鑰證書
  • 數(shù)字證書認(rèn)證機(jī)構(gòu)處于客戶端和服務(wù)器雙方都信賴的第三方機(jī)構(gòu)的立場上椰苟。有興趣的同學(xué)可以自行去了解下~
  • 所以HTTPS靠非對(duì)稱性加密及數(shù)字證書保證了安全性

寫在最后

總結(jié)

  • 此文章從HTTP報(bào)文結(jié)構(gòu)開始抑月,到HTTP首部,到返回狀態(tài)碼舆蝴,到cookie谦絮,再延伸到HTTPS加密方式,每一部分都進(jìn)行了詳細(xì)的介紹洁仗,希望對(duì)大家有用层皱!

絮絮叨叨

  • 如果大家覺得這篇文章對(duì)自己有一點(diǎn)點(diǎn)幫助的話,歡迎關(guān)注此號(hào) java小杰要加油
  • 原創(chuàng)不易赠潦,實(shí)需鼓勵(lì)

若文章有誤歡迎指出叫胖,靚仔靚女們,我們下篇文章見她奥,關(guān)注我瓮增,開啟我們的故事

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市哩俭,隨后出現(xiàn)的幾起案子绷跑,更是在濱河造成了極大的恐慌,老刑警劉巖凡资,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件砸捏,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)垦藏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門梆暖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人掂骏,你說我怎么就攤上這事轰驳。” “怎么了芭挽?”我有些...
    開封第一講書人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵滑废,是天一觀的道長。 經(jīng)常有香客問我袜爪,道長蠕趁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任辛馆,我火速辦了婚禮俺陋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘昙篙。我一直安慰自己腊状,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開白布苔可。 她就那樣靜靜地躺著缴挖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪焚辅。 梳的紋絲不亂的頭發(fā)上映屋,一...
    開封第一講書人閱讀 49,741評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音同蜻,去河邊找鬼棚点。 笑死,一個(gè)胖子當(dāng)著我的面吹牛湾蔓,可吹牛的內(nèi)容都是我干的瘫析。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼默责,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼贬循!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起桃序,我...
    開封第一講書人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤甘有,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后葡缰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年泛释,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了滤愕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡怜校,死狀恐怖间影,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情茄茁,我是刑警寧澤魂贬,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站裙顽,受9級(jí)特大地震影響付燥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜愈犹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一键科、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧漩怎,春花似錦勋颖、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至叁执,卻和暖如春茄厘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背徒恋。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來泰國打工蚕断, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人入挣。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓亿乳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親径筏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子葛假,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容