¡¡¡¡Ê×ÏÈ£¬ÎÒÃÇÏÈÀ´½éÉÜÒ»ÏÂHTTP2.0´«ÊäÐÒ飬HTTP2.0´«ÊäÐÒéͨ¹ý¶þ½øÖÆ´«Êä¡¢¶à·¸´Óá¢HeaderѹËõ¡¢Server PushµÈÌØÐÔ´ó´óµØÌáÉýÁËHTTP1.xµÄÐÔÄÜ£¬µ«ÊÇÓÉÓÚHTTP2.0´«ÊäÐÒéÊÇ»ùÓÚTCPÐÒéʵÏֵģ¬TCP±¾ÉíÌØÐÔµ¼ÖÂÆä±ØÈ»´æÔÚÒ»¶¨µÄÆ¿¾±¼°È±ÏÝ¡£
¡¡¡¡HTTP2.0ȱÏÝ£º
¡¡¡¡¢ÙHead-Of-Line Blocking(¶ÓÍ·×èÈû)£ºHTTP2.0´«ÊäÐÒé¶à¸öÇëÇó¶¼ÊÇÔÚÒ»¸öTCPÁ¬½ÓÖнøÐеģ¬Èç¹ûTCP´«Êäʱ³öÏÖ¶ª°ü£¬ÄÇôÕû¸öTCP¾ÍÒªµÈ´ýÖØ´«£¬ÕâÑù¾Í»áµ¼Ö¸ÃTCPÁ¬½ÓÖеÄËùÓÐÇëÇó±»×èÈû¡£¾Ù¸öÀý×Ó£¬¼ûÏÂͼ£º
¡¡¡¡
¡¡¡¡
¡¡¡¡´ÓÉÏͼ¿ÉÒÔ¿´µ½·¢ËͶËÒ»¹²·¢ËÍÁËËÄ°üpacket£¬ÆäÖÐpacket 3ÔÚÍøÂç²ã¶ªÊ§ÁË£¬¼´Ê¹packet4±»½ÓÊÕ·½µÄÄں˽ÓÊÕµ½£¬µ«ÒòΪÔÚÄÚºËÖÐÆäÊý¾Ý²¢²»ÊÇÁ¬ÐøµÄ£¬µ¼Ö½ÓÊն˵ÄÓ¦ÓòãÎÞ·¨¶ÁÈ¡£¬Ö»Óеȵ½packet3ÖØ´«ºó£¬Ó¦Óòã²Å¿ÉÒÔ´ÓÄÚºËÖжÁÈ¡Êý¾Ý¡£
¡¡¡¡¢ÚTCPºÍTLSÎÕÊÖʱÑÓ£º
¡¡¡¡TCPÐÒéÐèҪͨ¹ýÈý´ÎÎÕÊÖÀ´½¨Á¢TCPÁ¬½ÓÈ·±£Í¨ÐŵĿɿ¿ÐÔ(1.5¸öRTT)£¬TLS_V1.2ÐÒé»áÔÚTCPÐÒéÖ®ÉÏͨ¹ýËÄ´ÎÎÕÊÖ½¨Á¢TSLÁ¬½Ó±£Ö¤Í¨ÐŵݲȫÐÔ(2¸öRTT)£¬HTTPÐÒé»áÔÚTCPÓëTLSÉÏ·¢ËÍÇëÇó²¢½ÓÊÕÏìÓ¦(1¸öRTT)¡£
¡¡¡¡ÕâÒâζ×Å,¼ÙÈçÎÒÃÇÏëÒª·ÃÎÊÃÀ¹úµÄ·þÎñÆ÷£¬RTTԼΪ250msʱ£¬ÄÇô´ËʱHTTPSÇëÇóµÄºÄʱ´ó¸ÅҪΪ1s×óÓÒ£¬Õâ¾Í±È½Ï¸ßÁË¡£
¡¡¡¡¢ÛÁ¬½ÓǨÒÆÐèÒªÖØÐÂÁ¬½Ó£º
¡¡¡¡Ò»¸öTCPÁ¬½ÓÊÇÓÉÔ´IPµØÖ·¡¢Ô´¶Ë¿Ú¡¢Ä¿±êIPµØÖ·ÒÔ¼°Ä¿±ê¶Ë¿ÚÀ´È·¶¨µÄ¡£Õâ±íʾÈç¹û¶Ë¿Ú»òÕßIPµØÖ··¢Éú±ä¶¯£¬¾ÍÐèÒªÖØÐÂÈÃTCPºÍTLS½øÐÐÁ¬½Ó¡£Õâ²»ÊÊÓÚÉ豸Çл»ÍøÂçµÄ³¡¾°¡£
¡¡¡¡ÉÏÃæÕâÈý¸öÎÊÌâÆäʵ¶¼ÊÇTCPÐÒé¹ÌÓеÄÎÊÌ⣬ÎÞÂÛHTTP/2Ó¦ÓòãÔõÑù½øÐÐÉè¼Æ£¬¶¼¸Ä±ä²»ÁËÕâЩȱÏÝ£¬ÒªÏë½â¾öÆä¸ù±¾£¬¾ÍÐèÒª½«´«Êä²ãÐÒéTCP¸ü»»ÎªUDP£¬¶øHTTP 3.0¾ÍÊÇÕâÑù×öµÄ!
¡¡¡¡
¡¡¡¡
¡¡¡¡ÎÒÃÇÖªµÀUDPÊÇÒ»ÖÖ¼òµ¥¡¢²»¿É¿¿µÄ´«ÊäÐÒé¡£µ±È»HTTP 3.0Ò²²»½ö½öÖ»Êǽ«´«ÊäÐÒéÓÉTCPÌ滻ΪUDP£¬Ëü»¹»ùÓÚUDPÔÚÓ¦ÓòãʵÏÖÒ»¸ö½Ð×öQUICµÄÐÒ飬Õâ¸öÐÒé¾ßÓÐÓëTCPÀàËƵÄÁ¬½Ó¹ÜÀí¡¢ÓµÈû¿ØÖƵÈÌØÐÔ£¬¿ÉÒÔ½«UDP±äµÃ¡°¿É¿¿¡±¡£
¡¡¡¡ÏÂÃæ½éÉÜQUICÐÒéµÄÓŵ㣺
¡¡¡¡¢ÙÎÞ¶ÓÍ·×èÈû£º
¡¡¡¡QUICʹÓõĴ«ÊäÐÒéÊÇUDP£¬Æä²»¹ØÐÄÊý¾Ý°üµÄ˳Ðò»òÕßÊý¾Ý°ü¶ªÊ§£¬µ«ÊÇQUIC»á±£Ö¤Êý¾Ý°üµÄ¿É¿¿ÐÔ£¬Ã¿¸öÊý¾Ý°ü¶¼»áÓÐÒ»¸öΨһ±êʶ£¬µ±Ä³¸östreamµÄÒ»¸öÊý¾Ý°ü¶ªÊ§¡£Õâ¸östreamµÄÆäËûÊý¾Ý°ü¼´Ê¹µ½´ïÁËHTTP£¬Ò²²»»á±»¶ÁÈ¡£¬Ö±µ½QUICÖØ´«¶ªÊ§µÄÊý¾Ý¡£
¡¡¡¡ÓëHTTP/2²»Í¬µÄÊÇÆäËûstream²»»áÒò´ËÊܵ½Ó°Ïì¡£
¡¡¡¡¢ÚÁ¬½Ó½¨Á¢¸ü¿ì£º
¡¡¡¡QUICÄÚ²¿°üº¬ÁËTLS_V1.3£¬ËüÔÚÊý¾ÝÖ¡ÖлáЯ´øTLSÀïµÄÐÅÏ¢¡£²¢ÇÒQUIC²»ÐèÒªÏñHTTP/2ͨ¹ýTCP+TLSÎÕÊÖ£¬ËüµÄÎÕÊÖ¹ý³Ì½öÐèÒª1RTT£¬ÎÕÊÖµÄÄ¿µÄÔÚÓÚÈ·ÈÏË«·½µÄÁ¬½ÓID¡£Òò´ËQUIC½öÐèÒ»¸öRTT¾Í¿ÉÒÔͬʱÍê³ÉÁ¬½Ó½¨Á¢Óë¼ÓÃÜÃÜÔ¿¡£ÉõÖÁËüÔÚµÚ¶þ´ÎÁ¬½Óʱ£¬Ó¦ÓÃÊý¾Ý°ü¿ÉÒÔÓëQUICÎÕÊÖÐÅÏ¢Ò»²¢·¢ËÍ£¬´ïµ½0-RTTµÄЧ¹û¡£
¡¡¡¡¢ÛÖ§³ÖÁ¬½ÓǨÒÆ£º
¡¡¡¡QUICÐÒéûÓÐÓÃIPµØÖ·ºÍ¶Ë¿ÚÀ´È·¶¨Á¬½Ó£¬¶øÊÇͨ¹ýÁ¬½ÓIDÀ´±ê¼ÇͨÐÅÁ½¶Ë£¬¼´Ê¹É豸µÄÍøÂç·¢Éú±ä»¯ºó£¬µ¼ÖÂIPµØÖ·±ä»¯£¬Ö»ÒªÈÔ±£ÓÐÉÏÏÂÎÄÐÅÏ¢(ÀýÈçÁ¬½ÓID¡¢TLSÐÅÏ¢)£¬¾Í¿ÉÒÔÎ޷츴ÓÃÔÁ¬½Ó¡£
¡¡¡¡HTTP 3.0 ÀûÓÃQUIC×÷Ϊµ×²ãÖ§³ÅÐÒ飬ÆäÈÚºÏUDPÐÒéµÄËٶȡ¢ÐÔÄÜÓëTCPµÄ°²È«¿É¿¿£¬½â¾öÁËHTTP 2.0ÖÐÒýÈëµÄһЩȱµã£¬ÓÅ»¯ÁË»¥ÁªÍøµÄ´«ÊäÌåÑé¡£ÏàÐÅÔÚδÀ´HTTP 3.0µÄʱ´ú½«»áµ½À´!