2016-01-13 67 views
2

我嘗試HTTP/2,想知道是否有任何的最佳做法進行Web應用程序利用新協議的優勢在兩個:什麼是最好的做法,使Web應用程序,支持HTTP/2

  1. 服務器端和
  2. 客戶端

而且......在哪裏(什麼時候?)我應該開始?什麼是最省力的變化採取HTTP的努力/ 2

更新:

假設:用戶已經在使用支持HTTP/2的瀏覽器。

更新2:

有關這個主題的一些很好的資源:

+0

首先,您應該決定您的目標用戶/客戶是否使用支持http/2的設備/瀏覽器。 – Marged

+0

我假設他們有(最終他們會) – Andy

回答

1

你不需要任何改變你的應用程序去部署HTTP/2:大多數情況下都可以使用。

這就是說,這裏是適用大多是如果你是從頭開始的幾個技巧:

  • 開始使用HTTPS開發應用程序。您在部署應用程序時不希望出現問題,因爲通過http://獲取某些資源(例如Google字體或任何其他CDN資源)不再有效。用一些工具需要五分鐘時間(只需google「HTTPS開發URL五分鐘」)。
  • 請考慮是否要託管通常鏈接到您自己的服務器中的公共CDN的一些資源。如果您不是在CDN上託管整個站點,那麼HTTP/2鏈接到CDN中某些資產的主要性能原因是這些資源可能已經存在於用戶的緩存中。如果不是,則打開一個新的連接takes in average half a second
  • 請勿設置捆綁。設置HTTP/2推送。然後去抓住你最喜歡的模塊管理器。也試試Web組件和PolymerJS。當你不關心捆綁和往返時,它們簡直太棒了。

如果您使用的是使用機器學習自動配置HTTP/2 Push的服務器(例如ShimmerCat),那麼第三個技巧是保持Web頁面的結構可預測。

+0

感謝您的提示。通過保持頁面的結構可預測,你的意思是什麼? – Andy

+1

@Ved假設您正在動態生成頁面,請使用url/my/product/category /?prod_id = 123456。通常,所有這些頁面都將使用一組類似的資源(JS,CSS,圖像,字體,您將其命名)。我正是這個意思。與使用EmberJS的產品相比,使用偶數ID和AngularjS的產品具有主要ID。規律性的唯一原因是允許某些工具通過了解您通常包含在您的網頁中的哪些資產來爲您優化工作。 – dsign

相關問題