1. 程式人生 > >減少網站跳轉時間,增強網站資料安全——HSTS 詳解

減少網站跳轉時間,增強網站資料安全——HSTS 詳解

近年來隨著 Google、Apple、百度等公司不斷推動 HTTPS 普及,全網 HTTPS 已是大勢所趨。目前多數網站都已經支援 HTTPS 訪問,但是在由 HTTP 轉向 HTTPS 路程中,不少網站依然會面臨很多問題。

通常使用者準備訪問某個網站時,不會在輸入的域名前面加上 http:// 或者 https://,需要瀏覽器自動填充,而瀏覽器預設填充的都是 http://,需要網站採用 301/302 跳轉的方式,由 HTTP 跳轉到 HTTPS。 
301 跳轉 
301 跳轉 
由於 301/302 跳轉增加了瀏覽器與伺服器的互動,增長使用者訪問與等待時間,會影響使用者體驗,並且跳轉的過程容易發生劫持,遭受第三方攻擊。

當用戶訪問到不安全的 HTTPS 網址時,瀏覽器雖然會提示使用者訪問的網站不安全,但是還是允許使用者在瞭解安全風險之後繼續訪問,導致使用者面臨資料洩密的風險。 
HTTP 劫持 
HTTP 劫持 
網站不安全提醒 
網站不安全提醒

HSTS 強制開啟 HTTPS 保障資料安全 
HSTS(HTTP Strict Transport Security,RFC6797),即 HTTP 嚴格安全傳輸,是國際網際網路工程組織 IETF 正在推行一種新的 Web 安全協議。

網站採用 HSTS 後,使用者訪問時無需手動在位址列中輸入 HTTPS,瀏覽器會自動採用HTTPS 訪問網站地址,從而保證使用者始終訪問到網站的加密連結,保護資料傳輸安全。同時只要瀏覽器曾經與伺服器建立過一次安全連線,之後瀏覽器會強制使用 HTTPS,即使連結被換成了 HTTP。

當連結非 HTTPS 時,使用者也無法忽略瀏覽器不安全提示,無法繼續訪問不安全連結,可以進一步保護使用者的資料安全。 
連結不安全提醒 
連結不安全提醒

開啟 HSTS 後,在 ssllabs 上進行測試,網站的安全等級會從A升級至A+ 
開啟前等級為:A 
開啟後等級變為:A+ 
開啟後等級變為:A+ 
Chrome、Safari、Firefox等瀏覽器都已經開始相繼支援 HSTS,下圖為各大瀏覽器對HSTS的支援情況(對於不支援的瀏覽器,又拍雲會忽略此響應頭,對使用者的訪問無影響): 
瀏覽器支援情況 
瀏覽器支援情況

總結 
對於那些安全性要求較高的網站,啟用 HSTS 無疑是不錯的選擇。當用戶訪問網站域名時,都能夠讓使用者使用 HTTPS 來請求網站資源,可以更加有效地保護網站和使用者的資料安全,並且減少使用者等待 301/302 的跳轉時間,帶來更好的使用者體驗。

又拍雲 HTTPS 憑藉全球200+節點及伺服器,實現應用層通訊加密訪問,同時使用多種加速技術,減少HTTPS 延遲載入,通過對請求進行壓縮、優先順序排列等方式,降低網頁載入時間。 


來自:upyun.com