日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

QUIC/HTTP2相关资料整理

發布時間:2024/4/11 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QUIC/HTTP2相关资料整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

網絡基礎技術

The Transport Layer Security (TLS) Protocol Version 1.2
Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
TLS v1.3規范

QUIC

QUIC主頁
QUIC概要設計文檔

QUIC傳輸格式的詳細設計文檔

Google的QUIC協議:可以將web的TCP轉為UDP
Caddy – 最簡單的支持 HTTP/2 的網頁服務器
Caddy
Caddy FAQ
Caddy QUIC WiKi
怎樣讓網站支持QUIC
現在怎么為自己網站開啟 QUIC?

HTTP/2

HTTP/2規范
HPACK規范
ALPN規范
NPN規范
OkHttp對與NPN協議協商的支持

SPDY主頁
HTTP/2 GitHub主頁
Known implementations of HTTP/2
Netty支持HTTP/2 over cleartext TCP
HTTP/2 資料匯總 | JerryQu 的小站
HTTP 2.0的那些事

未來已到——HTTP/2

HTTP/2 - Design and Goals

High Performance Networking HTTP1 HTTP2

Even Faster Images using HTTP2 and Progressive JPEGs

I’ve turned h2 on… now what?

HTTP/2 Push: The details

https://www.google.com
https://www.aliyun.com
https://www.youtube.com
https://www.facebook.com
https://twitter.com

When will nginx add support for QUIC?

Jaco Toledo, I have experience with HTML, CSS, PHP and MYSQL1.2k Views

Don't think nginx will support quic anytime soon.If you're interested in playing with QUIC today you'll need to build the test QUIC server and client that are part of the Chromium project, get Google Chrome Canary and enable QUIC in chrome://flags.
Written 8 Feb

Zhifeng Mi1.1k Views

nginx is working on TCP level 7
and quic is based on UDP
so I don't see any chance nginx will support quic.
And actually, you just need to develop a udp to tcp proxy to pass the data to nginx.
Now in Chrome if you enable quic, Chrome will start a proxy to send data to the
web server so if you don't want to modify the whole architect in your server side.
develop a upd to tcp proxy to support quic will be enough.
Written 27 Dec 2015 · View Upvotes

總結:
不太可能期待nginx去支持QUIC協議,在nginx中應用QUIC協議的方法是開發UDP到TCP的代理,由代理作為nginx服務器和終端進行通信時的橋梁。

What REST API Services Can Expect from HTTP/2

One of the hottest topics for discussion today is the new HTTP/2 that is the most substantial protocol update since 1999, the year when the HTTP/1.1 version was released.

Among the key improvements brought by HTTP/2 are multiplexed streams, header compression, server push, and a binary protocol instead of textual one. These and other positive changes allowed to achieve good web pages loading results, including those having lots of additional files attached to them (e.g. styles, scripts, images, fonts, etc.). But what effect is this going to have upon REST APIs and their work?

The first thing to talk about is the format of data transmission. As it has been mentioned above, a binary format has substituted a textual one which is good news for servers but not for developers. The latter one is convenient for program debugging but the binary one is still a good innovation, as it is much easier for a computer to process such data. Consequently, the binary format will contribute to lightening some of the server processor load, which would be helpful for heavily loaded REST APIs.

The protocol is compatible with the HTTP/1.1 version. Status codes, methods and headers did not overcome any changes. The only thing that did change is the way of transmitting data via TCP connection.

HTTP/2 is much more effective when it comes to processing a large number of requests. One of the biggest HTTP/1.1 problems is that separate requests are expensive. The reason for this is that many TCP connections are created, and these are established due to the “3-way handshake” method. Then some time has to pass for “slow start” algorithm to make the connection effectively fast. HTTP/2 is devoid of such a drawback thanks to multiplexed streams. This allows to make several HTTP requests as if they were made concurrently. Therefore, all the styles, scripts and images will load faster and users will certainly notice the speed increase. Although in REST APIs there is no need to load a few files simultaneously, multiplexing will let to perform a number of concurrent server requests more effectively due to one TCP connection being used for all these requests. This will also lighten the server load, as there will be no necessity to allocate resources to maintain more than one TCP connection, which will save some memory though the work of processor will be a little bit more intensive.

One more improvement that came with HTTP/2 is header compression. API requests usually have much less headers than ordinary web pages. That is why the benefits it may bring are most likely to be minor.

“Server push” technology made it possible for server to initiate data transmission. Here is an example. A client requests a web page. The web server processes the request and, as a result, gets an idea of what resources the client needs additionally and thus can send them right after the response with the document. This way, the client does not need to send additional request to get the additional resources mentioned above. Unfortunately, it is difficult to find a RESTful API service where this technology can be truly useful.

Though many changes brought with HTTP/2 were created to speed web browsing up, some of themcan be used in the world of REST APIs as well. It is possible to achieve greater efficiency at a lower cost if the HTTP/2 strong points are taken into consideration when designing an application.

總結:
HTTP/2的主要特性:

  • 多路復用流。降低多個文件傳輸時建立TCP連接及TCP慢啟動的開銷,降低服務器維護TCP連接的開銷從而降低服務器負載,節省內存。
  • 首部壓縮。
  • 服務器推送。
  • 二進制的協議。方便計算機對數據的處理,降低服務器CPU的負載。但對開發者調試不利。
  • 請求優先級。
  • 其它。
  • HTTP/2能夠給Web頁加載帶來好處的特性:
    幾乎全部特性都能給Web頁加載帶來性能提升。

    HTTP/2特性給REST API服務帶來的影響:

  • 二進制的數據傳輸格式。對于負載較重的REST API服務比較有用。
  • 多路復用流。對于一次性發送大量請求的Web加載比較有意義。對于REST API服務,依然可以帶來一定的好處,降低服務器負載,節省內存。
  • 首部壓縮。對于REST API服務而言,通常首部的數據量都不是特別大,此項特性帶來的好處并不大。
  • 服務器推送對REST API服務的意義并不大。
  • Chrome不再支持SPDY

    Transitioning from SPDY to HTTP/2
    Thursday, February 11, 2016

    Last year we announced our intent to end support for the experimental protocol SPDY in favor of the standardized version, HTTP/2. HTTP/2 is the next-generation protocol for transferring information on the web, improving upon HTTP/1.1 with more features leading to better performance. Since then we've seen huge adoption of HTTP/2 from both web servers and browsers, with most now supporting HTTP/2. Over 25% of resources in Chrome are currently served over HTTP/2, compared to less than 5% over SPDY. Based on such strong adoption, starting on May 15th — the anniversary of theHTTP/2 RFC — Chrome will no longer support SPDY. Servers that do not support HTTP/2 by that time will serve Chrome requests over HTTP/1.1, providing the exact same features to users without the enhanced performance of HTTP/2.

    At the same time, Chrome will stop supporting the TLS protocol extension NPN, which allows servers to negotiate SPDY and HTTP/2 connections with clients. NPN has been superseded by the TLS extension ALPN, published by the IETF in 2014. ALPN is already used 99% of the time to negotiate HTTP/2 with Chrome, and the remaining servers can gain ALPN support by upgrading their SSL library.

    We are looking forward to HTTP/2 continuing to gain adoption, bringing us an even faster web.

    Update: To better align with Chrome's release cycle, SPDY and NPN support will be removed with the release of Chrome 51.

    Posted by Bence Béky, Network Protocol Engineer and HTTP/2 Enthusiast

    總結:
    采用HTTP/2的Web服務器和瀏覽器非常多。Chrome訪問的資源中有25%使用HTTP/2傳輸,而使用SPDY的資源不足5%。

    Chrome在5月15日起,也就是正式版HTTP/2 RFC發布一周年的時候,不再支持SPDY了。不支持HTTP/2的服務器將用HTTP/1.1協議訪問。
    同時也將不再支持HTTP/2和SPDY的NPN協商,而只支持ALPN協商。Chrome中已經有99%的時間在使用ALPN協商。ALPN通常可以通過升級使用的SSL庫來實現。

    總結

    以上是生活随笔為你收集整理的QUIC/HTTP2相关资料整理的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。