摘要:了解協議的主要目標是改進傳輸性能,實現低延遲和高吞吐量。從另一方面看,的高層協議語義并不會因為這次版本升級而受影響。所有首部值,以及它們的使用場景都不會變。不用為了利用的好處而修改標記。服務器必須運行協議,但大部分用戶都不會因此而受到影響。
了解http2協議
HTTP 2.0 的主要目標是改進傳輸性能,實現低延遲和高吞吐量。從另一方面看,HTTP 的高層協議語義并不會因為這次版本升級而受影響。 所有HTTP 首部、值,以及它們的使用場景都不會變。
現有的任何網站和應用,無需做任何修改都可以在HTTP 2.0 上跑起來。不用為了利用HTTP 2.0 的好處而修改標記。HTTP 服務器必須運行HTTP 2.0 協議,但大部分用戶都不會因此而受到影響
。
編譯nginx的http2模塊通過 `/usr/local/nginx/sbin/nginx -V
` (注意是大寫的V),查看當前nginx是否支持http2:--with-http_v2_module
nginx version: nginx/1.14.0 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) built with OpenSSL 1.0.2o 27 Mar 2018 TLS SNI support enabled configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module --with-stream --with-stream_ssl_module --with-openssl=/usr/local/src/lnmp1.5/src/openssl-1.0.2o
如果沒有的話在編譯nginx時要加上這一行
./configure --user=www --group=www --with-http_v2_module --with-http_ssl_module --with-stream --with-openssl=./openssl-OpenSSL_1_1_0e --with-pcre=./pcre-8.40 --with-pcre-jit --with-zlib=./zlib-1.2.11 make && make install生成證書
可以參考我上一篇博文,申請免費證書。也可以手動生成一個偽證書
cd /usr/local/nginx/conf/ mkdir key && cd key openssl genrsa -des3 -out server.key 1024 openssl req -new -key server.key -out server.csr (根據提示隨意的輸入) openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
最終生成
[root@zhouzhou_01 key]# ll 總用量 8 -rw-r--r-- 1 root samba 0 6月 14 10:41 server.crt -rw-r--r-- 1 root samba 749 6月 14 10:41 server.csr -rw-r--r-- 1 root samba 963 6月 14 10:39 server.key配置nginx
主要配置段如下
server { listen 80; server_name site.com www.site.com; add_header Strict-Transport-Security max-age=31536000; return 301 https://www.site.com$request_uri; } server { listen 443 ssl http2; server_name www.site.com; root /var/www/html/site; index index.php index.html index.htm; access_log /var/log/dnmp/nginx.site.access.log main; error_log /var/log/dnmp/nginx.site.error.log warn; ssl on; ssl_certificate /etc/nginx/conf.d/certs/site/www.site.com.crt; ssl_certificate_key /etc/nginx/conf.d/certs/site/www.site.com.key; ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4"; add_header Strict-Transport-Security max-age=31536000; }驗證
使用Chrome訪問啟用http2的站點。
新開TAB頁,在地址欄中輸入chrome://net-internals/#http2,檢查HTTP/2 sessions下的表格。
確認表格里是否出現了上一步訪問的主機地址。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/40477.html
現在瀏覽器里面很大一部分網頁還在使用HTTP1.1作為主要的網絡通信協議。 但,這傻逼協議是1999年弄出來的. 距今已經有xx年了, 這些年里,美國的IETF 覺得這樣不行.我得出來拯救世界了, 在Chrome的倡導下, 借用Chrome的SPDY 來做為HTTP2的前身,即, HTTP2 是SPDY/3 draft的優優化版. 那,HTTP2 為什么要出現,又解決了HTTP1.1不能解決的什...
摘要:消息與邏輯請求或響應消息對應的完整的一系列幀。聲明數據流依賴關系指出,應盡可能先向父數據流分配資源,然后再向其依賴項分配資源。數據流應先于和獲得完整資源分配和應先于和獲得相同的資源分配和應基于其權重獲得比例分配。 轉載自 | 小米運維(公眾號 ID:MI-SRE)showImg(https://segmentfault.com/img/bVbbesG?w=344&h=344); HTT...
摘要:主要涉及到的協議以及的處理流程。并且中必須建立在協議之上。所以對協議的服務發起請求時,一般瀏覽器會建立條連接,并行的去請求不同的資源。表明該字段是否使用了編碼。 運營研發 張仕華 本文通過一個小例子串一遍nginx處理http2的流程。主要涉及到http2的協議以及nginx的處理流程。 http2簡介 http2比較http1.1主要有如下五個方面的不同: 二進制協議 http1....
閱讀 1061·2023-04-26 02:02
閱讀 2401·2021-09-26 10:11
閱讀 3553·2019-08-30 13:10
閱讀 3743·2019-08-29 17:12
閱讀 719·2019-08-29 14:20
閱讀 2187·2019-08-28 18:19
閱讀 2230·2019-08-26 13:52
閱讀 954·2019-08-26 13:43