對於任何網站,正確配置 HTTP 標頭非常重要。 關於頭條新聞的主題已經寫了很多文章。 這裡我們總結了累積的經驗和RFC文件。 有些標題是強制性的,有些已經過時,有些可能會引起混亂和矛盾。 我們做了一個腹袋
- 設定標準標頭的值;
- 添加您自己的自訂標頭;
- 指定HTTP協定版本:1.0、1.1、2(檢查是否支援HTTP/2);
- 指定請求方法、逾時時間和傳送到伺服器的postdata;
- 如果伺服器回應包含 Last-Modified 或 ETag,beanbag 也會檢查對 If-Modified-Since、If-None-Match 要求的回應的正確性。
我們不會假裝自己是最終的真理。 當然,對於個別內容和個別項目,可能會有偏差。 但這項服務會準確地告訴您應該注意什麼,並且它可能對您編輯標題很有用。 下面列出了驗證服務關注的事項。 為什麼會這樣,讀一下
必需的標頭
- 日期
- Content-Type 表示文字內容的字元集,最好是utf-8
- 文字內容的內容編碼壓縮
過時且不必要的標頭
- 具有詳細 Web 伺服器版本的伺服器
- X-Power-By
- X_ASPNET-版本
- 過期
- 附註
- P3P
- 通過
- 兼容X-UA
安全所需的標頭
- X-內容類型選項
- X-XSS-保護
- 嚴格的運輸安全
- 推薦人政策
- 特徵策略
- Content-Security-Policy 或 Content-Security-Policy-Report-Only 用於停用內嵌腳本和樣式。
用於緩存的標頭
對於具有長快取壽命的靜態內容是強制性的,對於具有短快取壽命的動態內容來說是非常理想的。
- 最後修改
- 標籤
- 緩存控制
- 變化
- 伺服器正確回應標頭非常重要:If-Modified-Since 和 If-None-Match
HTTP / 2
伺服器現在應該支援 HTTP/2。 預設情況下,該服務透過 HTTP/2 檢查伺服器的操作。 如果您的伺服器不支援 HTTP/2,則選擇 HTTP/1.1。
來源: www.habr.com