Http
HSTS HTTP Strict-Transport-Security 是否必須與任何響應文件一起發送?
我必須向執行 Tomcat 6 應用程序伺服器的網站添加安全措施。其中之一是添加 HTTP Strict-Transport-Policy 標頭。我通過添加一個過濾器來做到這一點,該過濾器又將此標頭添加到任何響應中。但是有 apache 網路伺服器(在應用程序伺服器前面)提供的靜態內容,我無權訪問。所以我的問題是:我必須照顧這個嗎?是否有必要在每個提供的文件(.css、.js 等)中返回此標頭?據我了解此標頭,它告訴瀏覽器“嘿,如果您閱讀此內容,請僅通過 HTTPS 訪問此域以供下一個”。
HSTS 適用於整個域,因此在您的所有響應中設置它應該可以解決問題。
不,您不必在每個響應中都發送標頭。在RFC中,第 6.1.1 節:
REQUIRED “max-age” 指令指定在接收到 STS 頭欄位之後的秒數,在此期間 UA 將主機(從其接收消息)視為已知 HSTS 主機。
因此,標頭被明確設計為用於整個域,並被記憶體。為了保護沒有此標頭的靜態資產,您必須讓瀏覽器訪問首先發送標頭的路由,然後在 max-age 值到期之前再次發送。