• 互聯網
  • 建站經驗
  • 網站優化
  • 百度競價
  • 網站推廣
  • 電子商務
  • 網站運營
  • 移動互聯
經典案例
最新動態
  • 我是如何尋找seo圖標素材
  • 網站關鍵詞選擇的四大步
  • 搜索引擎眼中的原創文章
  • 為獨立移動網站提供更完
  • 薦2014年春節網站優化安排
  • 淺析快照對排名的影響
  • 網站頁的收錄與快照并不
  • 淺析做好電商網站外鏈需
  • 為什么說電商網站做SEO會
  • 談談網站SEO的幾個重點
IE79 大型網站HTTPS實踐三:基于協議和配置的優化

大型網站HTTPS實踐三:基于協議和配置的優化

發布于:2015-05-14 14:43來源:網絡整理 作者: 縱易網絡點擊:70次

堡垒之夜名字大全英文 www.ncxmx.icu

1 前言

上文講到 。

本文就為大家介紹 HTTPS 在訪問速度,計算性能,安全等方面基于協議和配置的優化。

2 HTTPS 訪問速度優化

2.1 Tcp fast open

HTTPS 和 HTTP 使用 TCP 協議進行傳輸,也就意味著必須通過三次握手建立 TCP 連接,但一個 RTT 的時間內只傳輸一個 syn 包是不是太浪費?能不能在 syn 包發出的同時捎上應用層的數據?其實是可以的,這也是 tcp fast open 的思路,簡稱 TFO。具體原理可以參考 rfc7413。

遺憾的是 TFO 需要高版本內核的支持,linux 從 3.7 以后支持 TFO,但是目前的 windows 系統還不支持 TFO,所以只能在公司內部服務器之間發揮作用。

2.2 HSTS

前面提到過將用戶 HTTP 請求 302 跳轉到 HTTPS,這會有兩個影響:

1、不安全,302 跳轉不僅暴露了用戶的訪問站點,也很容易被中間者支持。

2、降低訪問速度,302 跳轉不僅需要一個 RTT,瀏覽器執行跳轉也需要執行時間。

由于 302 跳轉事實上是由瀏覽器觸發的,服務器無法完全控制,這個需求導致了 HSTS 的誕生:

HSTS(HTTP Strict Transport Security)。服務端返回一個 HSTS 的 http header,瀏覽器獲取到 HSTS 頭部之后,在一段時間內,不管用戶輸入www.baidu.com還是//www.baidu.com,都會默認將請求內部跳轉成https://www.baidu.com。

Chrome, firefox, ie 都支持了 HSTS(//caniuse.com/#feat=stricttransportsecurity)。

2.3 Session resume

Session resume 顧名思義就是復用 session,實現簡化握手。復用 session 的好處有兩個:

1、減少了 CPU 消耗,因為不需要進行非對稱密鑰交換的計算。

2、提升訪問速度,不需要進行完全握手階段二,節省了一個 RTT 和計算耗時。

TLS 協議目前提供兩種機制實現 session resume,分別介紹一下。

2.3.1 Session cache

Session cache 的原理是使用 client hello 中的 session id 查詢服務端的 session cache, 如果服務端有對應的緩存,則直接使用已有的 session 信息提前完成握手,稱為簡化握手。

Session cache 有兩個缺點:

1、需要消耗服務端內存來存儲 session 內容。

2、目前的開源軟件包括 nginx,apache 只支持單機多進程間共享緩存,不支持多機間分布式緩存,對于百度或者其他大型互聯網公司而言,單機 session cache 幾乎沒有作用。

Session cache 也有一個非常大的優點:

session id 是 TLS 協議的標準字段,市面上的瀏覽器全部都支持 session cache。

百度通過對 TLS 握手協議及服務器端實現的優化,已經支持全局的 session cache,能夠明顯提升用戶的訪問速度,節省服務器計算資源。

2.3.2 Session ticket

上節提到了 session cache 的兩個缺點,session ticket 能夠彌補這些不足。

Session ticket 的原理參考 RFC4507。簡述如下:

server 將 session 信息加密成 ticket 發送給瀏覽器,瀏覽器后續握手請求時會發送 ticket,server 端如果能成功解密和處理 ticket,就能完成簡化握手。

顯然,session ticket 的優點是不需要服務端消耗大量資源來存儲 session 內容。

Session ticket 的缺點:

1、session ticket 只是 TLS 協議的一個擴展特性,目前的支持率不是很廣泛,只有 60% 左右。

2、session ticket 需要維護一個全局的 key 來加解密,需要考慮 KEY 的安全性和部署效率。

總體來講,session ticket 的功能特性明顯優于 session cache。希望客戶端實現優先支持 session ticket。

2.4 Ocsp stapling

Ocsp 全稱在線證書狀態檢查協議 (rfc6960),用來向 CA 站點查詢證書狀態,比如是否撤銷。通常情況下,瀏覽器使用 OCSP 協議發起查詢請求,CA 返回證書狀態內容,然后瀏覽器接受證書是否可信的狀態。

這個過程非常消耗時間,因為 CA 站點有可能在國外,網絡不穩定,RTT 也比較大。那有沒有辦法不直接向 CA 站點請求 OCSP 內容呢?ocsp stapling 就能實現這個功能。

詳細介紹參考 RFC6066 第 8 節。簡述原理就是瀏覽器發起 client hello 時會攜帶一個 certificate status request 的擴展,服務端看到這個擴展后將 OCSP 內容直接返回給瀏覽器,完成證書狀態檢查。

由于瀏覽器不需要直接向 CA 站點查詢證書狀態,這個功能對訪問速度的提升非常明顯。

Nginx 目前已經支持這個 ocsp stapling file,只需要配置 ocsp stapling file 的指令就能開啟這個功能:

  • ssl_stapling on;ssl_stapling_file ocsp.staple;

2.5 False start

(責任編輯:縱易網絡)
tag標簽:站長之家(6108)HTTPS協議(3)HTTPS(2)
------分隔線----------------------------
  • 上一篇:大型網站的HTTPS實踐四:協議層以外的實踐
  • 下一篇:網站更新升級要注意的三大問題
------分隔線----------------------------
[相關文章]
  • Web前端性能優化教程02:使用內容分發網絡
  • 新手遇到這些快照難題 該如何解決?
  • 谷歌要向廣告商展示視頻廣告效果
  • 詳情頁優化那些不得不說的細節
  • 網站上線一個多月依舊不收錄原因何在?
  • 淺析做好電商網站外鏈需要具備哪些條件
  • 網站優化:如何將內容營銷有效植入SEO中?
  • 判讀搜索引擎作弊算法
  • 百度分享哪些SEO外鏈是有效的
  • 關鍵詞排名上不了首頁!SEO技術不行?
  • 論順序在網站優化過程中的重要性
  • 淺談移動搜索流量增加后SEOER該何去何從
  • 谷歌“企鵝算法3.0”的影響到底有多大?
  • SEO新思維:教你如何利用熱點事件搞優化
  • 搜索引擎前三位的網站是如何做優化的?
  • 盤點影響網站收錄量的因素
  • 2014年新站應該如何做SEO優化
  • 企鵝算法or熊貓算法:誰是網站被K元兇?
  • 網站代碼優化:讓網站打開速度飛起來
  • Web前端性能優化教程03:添加Expires頭

點擊這里給我發消息

點擊這里給我發消息

客戶服務熱線

021-69106465

現在就咨詢

在線客服