本文主要參考慕課網(wǎng)Jokcy老師課程HTTP協(xié)議原理+實(shí)踐
請(qǐng)支持正版,抵制盜版令杈,維護(hù)每一位辛苦付出的人的合法權(quán)益走敌!
本章關(guān)鍵詞:cors、緩存逗噩、cookie掉丽、session跌榔、Redirect、CSP
開(kāi)始更新http基礎(chǔ)相關(guān)內(nèi)容捶障,先發(fā)一部分僧须,本系列會(huì)很快完結(jié),后續(xù)內(nèi)容待定项炼,可能是并發(fā)內(nèi)容担平,也可能數(shù)據(jù)結(jié)構(gòu)
一、認(rèn)識(shí)HTTP客戶端
-
最常用的HTTP客戶端:瀏覽器
二锭部、CORS跨域請(qǐng)求的限制與解決
- 服務(wù)端返回的時(shí)候暂论,返回頭加入:Access-Control-Allow-Origin:'*'
這個(gè)是瀏覽器提供的功能,瀏覽器會(huì)判斷跨域的返回頭是否有Access-Control-Allow-Origin空免,否則瀏覽器會(huì)屏蔽返回內(nèi)容
瀏覽器允許在標(biāo)簽中加載鏈接(如src)跨域
- 跨越其他解決方案和http協(xié)議沒(méi)太大關(guān)系空另,暫時(shí)未列出
三、CORS跨域限制以及預(yù)請(qǐng)求驗(yàn)證
- 跨越的時(shí)候允許的方法
GET HEAD POST
- 允許的Content-Type
text/plain multipart/form-data application/x-www-form-urlencoded
- 預(yù)請(qǐng)求
Access-Control-Allow-Headers 允許的請(qǐng)求頭
四蹋砚、緩存頭Cache-Control的含義和使用
1.特性
- 可緩存性
public/ private/ no-cache
- 到期
max-age=<seconds>/s-maxage=<seconds>/max-stale=<seconds>
- 重新驗(yàn)證
must-revalidate/proxy-revalidate
- 其他
no-store/no-transform
五扼菠、緩存驗(yàn)證Last-Modified和Etag的使用
1.Last-Modified
- 上次修改時(shí)間
- 配合If-Modified-Since或者If-Unmodified-Since使用
- 對(duì)比上次修改時(shí)間以驗(yàn)證資源是否需要更新
2.Etag
- 數(shù)據(jù)簽名
- 配合If-Match或者If-Non-Match使用
- 對(duì)比資源的簽名判斷是否使用緩存
六、cookie和session
1.cookie
- 定義:
是在服務(wù)端返回?cái)?shù)據(jù)的時(shí)候通過(guò)Set-Cookie設(shè)置到瀏覽器坝咐,保存到瀏覽器里面的內(nèi)容 - 下次請(qǐng)求會(huì)自動(dòng)帶上
- 鍵值對(duì)循榆,可以設(shè)置多個(gè)
- 屬性
max-age和expires設(shè)置過(guò)期時(shí)間
Secure只在https的時(shí)候發(fā)送
HttpOnly無(wú)法通過(guò)document.cookie訪問(wèn)
2.session
- 使用最多的是使用cookie保存session,但是session的實(shí)現(xiàn)方法不止這一種