1. 程式人生 > 其它 >《HTTP協議原理+實踐》學習記錄

《HTTP協議原理+實踐》學習記錄

2-3 HTTP的三次握手

3-2 CORS跨域請求的限制與解決

JSONP 就是實現類似於src跳過CORS驗證

//因為瀏覽器允許 script,link 等標籤載入路徑
<script src="http://127.0.0.1:8887"></script>

3-3 CORS跨域限制以及預請求驗證

//指定允許其他域名訪問
'Access-Control-Allow-Origin' : '*', 

//響應用於一個預檢請求指示哪個HTTP標頭將通過提供Access-Control-Expose-Headers使實際的請求時
'Access-Control-Allow-Headers' : x-Test-Cors',

//允許訪問的方式
'Access-Control-Allow-Methods' : 'POST,PUT,Delete',

//指定上面幾個設定執行後, 多少時間內不進行OPTION預驗證
‘Access-Control-Max-Age' : '1000' 

3-4 快取頭Cache-Control的含義和使用

可快取性

public 指示響應可能被任何快取快取。

private 指示該響應是針對單個使用者的,並且不能由共享快取儲存。私有快取可以儲存該響應。

no-cache 在釋放快取副本之前,強制快取記憶體將請求提交給原始伺服器進行驗證。

*only-if-cached 表示不檢索新資料。客戶端只希望獲得快取的響應,並且不應該聯絡原始伺服器以檢視是否存在新的副本。

到期

max-age=<seconds> 指定資源被視為新鮮的最長時間。相反Expires,這個指令是相對於請求的時間而言的。

s-maxage=<seconds>

覆蓋max-ageExpires標題,但它只適用於共享快取(例如,代理)並被私有快取忽略。

max-stale[=<seconds>]表示客戶願意接受超過其到期時間的響應。或者,您可以以秒為單位指定一個值,指示響應不能過期的時間。

min-fresh=<seconds>表示客戶想要的響應至少在指定的秒數內仍然是新鮮的。

stale-while-revalidate=<seconds>指示客戶端願意接受陳舊的響應,同時在後臺非同步檢查新的響應。秒值指示客戶願意接受陳舊響應的時間。

stale-if-error=<seconds>