headers:web
Cache-Control瀏覽器
1.Pragma。 設置頁面是否緩存,爲Pragma則緩存,no-cache則不緩存。緩存
(1)max-age=600。 表示文件在本地應該緩存,且有效時長是600秒(從發出請求算起)。在接下來600秒內,若是有請求這個資源,瀏覽器不會發出 HTTP 請求,而是直接使用本地緩存的文件。服務器
(2)no-cache。實際上她是會被緩存的,只不過每次在向客戶端(瀏覽器)提供響應數據時,==緩存都要向服務器評估緩存響應的有效性==websocket
(3)no-store
響應不被緩存的意思。網絡
Last-Modified / If-Modified-Since
(1)Last-Modified: 標示這個響應資源的最後修改時間。web服務器在響應請求時,告訴瀏覽器資源的最後修改時間。dom
(2)If-Modified-Since:
當資源過時時(使用Cache-Control標識的max-age),發現資源具備Last-Modified聲明,則再次向web服務器請求時帶上頭 If-Modified-Since,表示請求時間。若服務端請求資源的最後修改時間較新,則響應資源內容(HTTP 200);若最後修改時間較舊,則響應HTTP 304,告知瀏覽器繼續使用所保存的cache。socket
Etag/If-None-Match: Etag/If-None-Match也要配合Cache-Control使用。
(1)Etag: web服務器響應請求時,告訴瀏覽器當前資源在服務器的惟一標識(生成規則由服務器以爲)xss
(2)If-None-Match: 當資源過時時(使用Cache-Control標識的max-age),發現資源具備Etage聲明,則再次向web服務器請求時帶上頭If-None-Match (Etag的值)。服務器與被請求資源的相應校驗串進行比對,決定返回200或304。tcp
既生Last-Modified何生Etag?
HTTP1.1中Etag的出現主要是爲了解決幾個Last-Modified比較難解決的問題:
(1) Last-Modified標註的最後修改只能精確到秒級,若是某些文件在1秒鐘之內,被修改屢次的話,它將不能準確標註文件的修改時間。
(2) 若是某些文件會被按期生成,當有時內容並無任何變化,但Last-Modified卻改變了,致使文件無法使用緩存。
(3) 有可能存在服務器沒有準確獲取文件修改時間,或者與代理服務器時間不一致等情形。
Last-Modified與ETag是能夠一塊兒使用的,服務器會優先驗證ETag,一致的狀況下,纔會繼續比對Last-Modified,最後才決定是否返回304。
HTTP: Status 200 – 服務器成功返回網頁 301 永久轉移 302 臨時轉移 304 not modified 400 bad request 401 not auth 403 forbidden 500 內部錯誤 HTTP: Status 404 – 請求的網頁不存在 HTTP: Status 503 – 服務不可用
想`
是一個基於tcp的網絡協議,實現了服務端與客戶端的互相通信,服務器能夠主動向客戶端通信
跨站腳本攻擊是指服務端未對用戶輸入作驗證
使得HTML直接執行用戶輸入的惡意腳本
僞造用戶請求,好比訪問a網站以後,用戶訪問了惡意的b網站,b網站迴向a網站發送惡意請求
避免使用get進行敏感操做使用token令牌