»Æ½ð³ÇÍøÕ¾

1.1£º»¥ÁªÍøÍ¨Ñ¶µÄ»ùʯ £¬ÄãÕæµÄÏàʶËüÂð£¿_01
ȪԴ£ºÖ¤È¯Ê±±¨Íø×÷ÕߣºÀî»ÛÁá2026-03-05 18:36:10
wwwzqhsauikdwjbfkjabfwqr

HTTP/1.1µÄÍ»ÆÆ£º³¤ÆÚÅþÁ¬Óë¹ÜµÀ»¯

Ïà½ÏÓÚÆäǰÉíHTTP/1.0 £¬HTTP/1.1ÔÚÐÔÄܺÍЧÂÊÉϾÙÐÐÁËÏÔÖøµÄˢР£¬ÆäÖÐ×î½¹µãµÄÁ½¸öÌØÕ÷¾ÍÊdz¤ÆÚÅþÁ¬£¨PersistentConnections£©ºÍ¹ÜµÀ»¯£¨Pipelining£©¡£

³¤ÆÚÅþÁ¬£¨PersistentConnections£©£ºÔÚHTTP/1.0ÖÐ £¬ä¯ÀÀÆ÷ͨ³£»áΪÿ¸öÇëÇó½¨ÉèÒ»¸öеÄTCPÅþÁ¬ £¬²¢ÔÚÇëÇóÍê³Éºó¹Ø±Õ¸ÃÅþÁ¬¡£ÕâÖÖ·½·¨´øÀ´ÁË´ó×ÚµÄÅþÁ¬½¨ÉèºÍ¹Ø±Õ¿ªÏú £¬´ó´ó½µµÍÁËͨѶЧÂÊ¡£HTTP/1.1ÒýÈëÁËKeep-Alive»úÖÆ £¬ÔÊÐí¿Í»§¶ËºÍ·þÎñÆ÷ÔÚÍê³ÉÒ»´ÎÇëÇó-ÏìÓ¦ºó £¬¼á³ÖTCPÅþÁ¬µÄ?·­¿ª×´Ì¬ £¬ÒÔ±ãºóÐøµÄÇëÇóÄܹ»ÖØÓÃÕâ¸öÅþÁ¬¡£

ÕâÏÔÖøïÔÌ­ÁËTCPÎÕÊֵĿªÏú £¬ÌáÉýÁËÍøÒ³µÄ¼ÓÔØËÙÂÊ £¬ÓÈÆäÊÇÔÚ¼ÓÔØ°ü?º¬´ó×ÚС×ÊÔ´µÄÍøÒ³Ê±¡£

¹ÜµÀ»¯£¨Pipelining£©£ºÔÚ³¤ÆÚÅþÁ¬µÄ»ù´¡ÉÏ £¬HTTP/1.1½øÒ»²½ÒýÈëÁ˹ܵÀ»¯ÊÖÒÕ¡£ËüÔÊÐí¿Í»§¶ËÒ»´ÎÐÔ·¢ËͶà¸öHTTPÇëÇó £¬¶øÎÞÐèµÈ?´ý?ǰһ¸öÇëÇóµÄÏìÓ¦¡£·þÎñÆ÷Ôòƾ֤ÎüÊÕµ½µÄÇëÇó˳Ðò£¨ËäÈ»ÏìÓ¦·×Æç¶¨°´Ë³Ðò·µ»Ø£© £¬ÒÀ´Î?´¦Öóͷ£²¢·¢ËÍÏìÓ¦¡£Õâ×èÖ¹ÁË¡°¶ÓÍ·ÛÕ±Õ¡±£¨Head-of-LineBlocking£©µÄÎÊÌâ £¬ÀíÂÛÉÏ¿ÉÒÔÏÔÖøÌáÉýÐÔÄÜ¡£

Cookie£º°üÀ¨·þÎñÆ÷֮ǰ·¢Ë͸ø¿Í»§¶ËµÄcookieÐÅÏ¢¡£Referer£ºÖ¸Ê¾ÁËÌᳫÇëÇóµÄË­ÈËÒ³ÃæµÄURL¡£ÇëÇóÕýÎÄ£¨RequestBody£©£ºÔÚijЩÇëÇóÒªÁ죨ÈçPOST£©ÖÐ £¬ÓÃÓÚЯ´øÒª·¢Ë͸ø·þÎñÆ÷µÄÊý¾Ý¡£

HTTPÏìÓ¦£¨HTTPResponse£©£º·þÎñÆ÷¶Ô¿Í»§¶ËÇëÇóµÄ»ØÓ¦ £¬°üÀ¨ÁËÇëÇóµÄ´¦Öóͷ£Ð§¹û¡£Ò»¸öµä·¶µÄHTTPÏìÓ¦Ò²°üÀ¨¼¸¸öÒªº¦²¿·Ö£º

״̬ÐУ¨StatusLine£©£ºÕâÊÇÏìÓ¦µÄµÚÒ»ÐÐ £¬°üÀ¨ÁËHTTPЭÒé°æ±¾¡¢×´Ì¬ÂëºÍ״̬ÐÂÎÅ¡£×´Ì¬Â루StatusCodes£©£ºÕâÊÇÒ»¸öÈýλÊýµÄÊý×Ö £¬ÓÃÓÚָʾÇëÇóµÄ´¦Öóͷ£Ð§¹û¡£ËüÃDZ»·ÖΪÎå´óÀࣺ1xxInformational£ºÇëÇóÒÑÎüÊÕ £¬¼ÌÐø´¦Öóͷ£¡£

2xxSuccess£ºÇëÇóÒÑÀÖ³ÉÊÕµ½¡¢Ã÷È·ºÍ½ÓÊÜ¡£200OK£º×î³£¼ûµÄÀÖ³É״̬Âë £¬ÌåÏÖÇëÇó³É?¹¦¡£201Created£ºÌåÏÖÇëÇóÀÖ³É £¬²¢ÇÒ½¨ÉèÁËÒ»¸öеÄ×ÊÔ´¡£204NoContent£ºÌåÏÖÇëÇóÀÖ³É £¬µ«·þÎñÆ÷ûÓзµ»ØÈκÎÄÚÈÝ¡£3xxRedirection£ºÐèÒª¿Í»§¶Ë½ÓÄɽøÒ»²½µÄ²Ù×÷²Å»ªÍê³ÉÇëÇó¡£

HTTP/1.1µÄ³Ö?Ðø¼ÛÖµ

Ö»¹ÜHTTP/2ºÍHTTP/3ÒÑÖð½¥ÆÕ¼° £¬µ«HTTP/1.1²¢Î´±»ÍêÈ«ïÔÌ­ £¬ÆäÖ÷ÒªÐÔÒÀÈ»ÌåÏÖÔÚ£º

ÆÕ±éµÄ¼æÈÝÐÔ£º¾ø´ó´ó¶¼ÏÖÓÐϵͳ¡¢×°±¸ºÍÍøÂç»ù´¡ÉèÊ©¶¼¶ÔHTTP/1.1ÓÐÓÅÒìµÄÖ§³Ö¡£¹ØÓÚһЩÀϾÉϵͳ»ò×ÊÔ´ÊÜÏÞµÄ×°±¸ £¬HTTP/1.1ÒÀÈ»ÊÇÊ×Ñ¡¡£µ÷ÊԵı㵱ÐÔ£ºHTTP/1.1µÄÎı¾ÃûÌÃʹµÃÔÚ¿ª·¢ºÍµ÷ÊÔÀú³ÌÖÐ £¬Ê¹ÓÃ×¥°ü¹¤¾ß£¨ÈçWireshark£©Äܹ»Ö±¹ÛµØÉó²éÇëÇóºÍÏìÓ¦ÄÚÈÝ £¬Àû±ãÎÊÌâµÄ¶¨Î»¡£

ѧϰ»ù´¡£ºÃ÷È·HTTP/1.1ÊÇÉîÈëÃ÷È·HTTP/2ºÍHTTP/3µÄ»ù´¡¡£ÕÆÎÕÁËHTTP/1.1µÄ?Ô­Àí £¬¾ÍÄܸüºÃµØÃ÷ȷа汾ЭÒéµÄË¢ÐÂÖ®´¦ºÍÉè¼ÆË¼Ð÷¡£Ìض¨µÄÓ¦Óó¡¾°£ºÔÚijЩ¶ÔʵʱÐÔÒªÇ󲻸ß £¬»òÕß¶Ô·þÎñÆ÷×ÊÔ´ÒªÇ󼫵͵ij¡¾°Ï £¬HTTP/1.1µÄ¾«Á·ÐÔ·´¶ø¿ÉÄÜÊÇÒ»ÖÖÓÅÊÆ¡£

301MovedPermanently£ºÌåÏÖ×ÊÔ´Òѱ»?ÓÀÊÀÒÆ¶¯µ½ÐµÄURL¡£302Found£¨»òMovedTemporarily£©£ºÌåÏÖ×ÊÔ´ÔÝÊ±ÒÆ¶¯µ½ÐµÄURL¡£304NotModified£ºÓÃÓÚ»º´æ £¬ÌåÏÖ¿Í»§¶ËµÄ×ÊԴûÓÐת±ä £¬ÎÞÐèÖØÐÂÏÂÔØ¡£

4xxClientError£º¿Í»§¶Ë¹ýʧ £¬ÇëÇó°üÀ¨²»×¼È·µÄÓï·¨»òÎÞ·¨Öª×ã¡£400BadRequest£ºÇëÇóÎÞЧ¡£401Unauthorized£ºÇëÇóÐèÒªÓû§ÈÏÖ¤¡£403Forbidden£º·þÎñÆ÷¾Ü¾øÖ´ÐÐÇëÇó £¬×ÝÈ»ÈÏÖ¤Àֳɡ£404NotFound£ºÇëÇóµÄ×ÊÔ´²»±£´æ¡£

5xxServerError£º·þÎñÆ÷¹ýʧ £¬·þÎñÆ÷ÔÚ´¦Öóͷ£ÇëÇóʱ±¬·¢¹ýʧ¡£500InternalServerError£º·þÎñÆ÷ÄÚ²¿¹ýʧ¡£503ServiceUnavailable£º·þÎñÆ÷ÔÝʱÎÞ·¨´¦Öóͷ£ÇëÇó¡£×´Ì¬ÐÂÎÅ£¨ReasonPhrase£©£º¶Ô״̬ÂëµÄ¼òËæ±Ê×ÖÐÎò £¬Èç"OK"¡¢"NotFound"¡£

HTTP/1.1µÄЧÂÊÆ¿¾±ÓëÑݽø

Ö»¹ÜHTTP/1.1´øÀ´Á˳¤ÆÚÅþÁ¬ºÍ¹ÜµÀ»¯µÈÖ÷ҪˢР£¬µ«Ëæ×Å»¥ÁªÍøÓ¦ÓõÄÖØ´ó»¯ºÍÓû§¶ÔÏìÓ¦ËÙÂÊÒªÇóµÄÌá¸ß £¬Æä¾ÖÏÞÐÔÒ²Öð½¥Õ¹ÏÖ¡£

¶ÓÍ·ÛÕ±Õ£¨Head-of-LineBlocking,HOLBlocking£©£ºËäÈ»¹ÜµÀ»¯Ö¼ÔÚ½â¾ö´ËÎÊÌâ £¬µ«ÔÚʵ¼ùÖÐ £¬TCPЭÒé×Ô¼º¹ÌÓеĶÓÍ·ÛÕ±ÕÎÊÌâÒÀÈ»±£´æ¡£ÈôÊÇÒ»¸öTCPÅþÁ¬ÖеÄij¸öÊý¾Ý°üɥʧ £¬Õû¸öÅþÁ¬¶¼»áÔÝÍ£ £¬Ö±µ½¸ÃÊý¾Ý°ü±»ÖØÐ´«Êä¡£

×ÝÈ»ºóÐøµÄÊý¾Ý°üÒѾ­µÖ´ï £¬Ò²±ØÐèÆÚ´ýÇ°ÃæµÄÊý¾Ý°ü»Ö¸´Õý³£²Å»ª¼ÌÐø´«Êä £¬ÕâÑÏÖØÓ°ÏìÁËÐÔÄÜ¡£ÔÚHTTP/1.1µÄ?¹ÜµÀ»¯ÖÐ £¬ÈôÊÇÒ»¸öÇëÇóµÄ´¦Öóͷ£ºÄʱ½Ï³¤ £¬ÄÇôºóÐøµÄÇëÇó×ÝÈ»ÒѾ­×¼±¸ºÃ £¬Ò²±ØÐèÆÚ´ýÇ°ÃæµÄÇëÇóÍê³É²Å»ª±»·þÎñÆ÷ÏìÓ¦ £¬´Ó¶øÐγɶÓÍ·ÛÕ±Õ¡£

ÅþÁ¬ÊýÄ¿Óë×ÊÔ´ÏûºÄ£ºËäÈ»³Ö?¾ÃÅþÁ¬ïÔÌ­ÁËTCPÎÕÊÖ´ÎÊý £¬µ«Ôڸ߲¢·¢³¡¾°Ï £¬´ó×ڵIJ¢·¢TCPÅþÁ¬ÈÔÈ»»áÏûºÄ·þÎñÆ÷´ó×ÚµÄÄÚ´æºÍCPU×ÊÔ´ £¬ÏÞÖÆÁË·þÎñÆ÷µÄ´¦Öóͷ£ÄÜÁ¦¡£

¶þ½øÖÆÓëÎı¾Ð­ÒéµÄ»ìÏý£ºHTTP/1.1ÊÇ»ùÓÚÎı¾µÄЭÒé £¬Æä±¨ÎÄÒ×ÓÚÔĶÁºÍµ÷ÊÔ £¬µ«Ò²´æ?ÔÚ´«ÊäЧÂʲ»Èç¶þ½øÖÆÐ­ÒéµÄÎÊÌâ¡£

DELETE£ºÓÃÓÚɾ³ý·þÎñÆ÷ÉϵÄÖ¸¶¨×ÊÔ´¡£HEAD£ºÀàËÆÓÚGET £¬µ«?Ö»·µ»ØÏìÓ¦µÄ?Í·²¿ÐÅÏ¢ £¬²»·µ»ØÏìÓ¦Ìå £¬³£ÓÃÓÚ¼ì²é?×ÊÔ´µÄÔªÊý¾Ý¡£OPTIONS£ºÓÃÓÚÅÌÎÊÄ¿µÄ?×ÊÔ´µÄ?ͨѶѡÏî¡£CONNECT£ºÓÃÓÚÓë´úÀí·þÎñÆ÷½¨ÉèËíµÀ £¬Í¨³£ÓÃÓÚSSL/TLS¼ÓÃÜÅþÁ¬¡£

TRACE£ºÓÃÓÚ»ØÏÔ·þÎñÆ÷ÊÕµ½µÄÇëÇó £¬Ö÷ÒªÓÃÓÚÕï¶Ï¡£ÇëÇóURI£¨RequestURI£©£ºÖ¸Ã÷Îú¿Í»§¶ËÏëÒª»á¼ûµÄ·þÎñÆ÷ÉϵÄ×ÊÔ´ £¬¿ÉÒÔÊÇÏà¶Ô·¾¶»ò¾ø¶Ô·¾¶¡£HTTPЭÒé°æ±¾£¨HTTPVersion£©£ºÔÚ´ËÇ龳Ϡ£¬¾ÍÊÇHTTP/1.1¡£ÇëÇóÍ·²¿£¨RequestHeaders£©£ºÌṩ¹ØÓÚÇëÇóµÄÌØÊâÐÅÏ¢ £¬Èç¿Í»§¶ËÀàÐÍ¡¢½ÓÊܵÄÄÚÈÝÀàÐÍ¡¢»º´æÖ¸ÁîµÈ¡£

³£¼ûµÄÍ·²¿?×Ö¶ÎÓУºHost£ºÖ¸¶¨ÁË·þÎñÆ÷µÄÓòÃû £¬¹ØÓÚÐéÄâÖ÷»úºÜÊÇÖ÷Òª¡£User-Agent£ºÅú×¢¿Í»§¶ËµÄÉí·Ý £¬Èçä¯ÀÀÆ÷ÀàÐͺͰ汾¡£Accept£º¸æËß·þÎñÆ÷¿Í»§¶ËÄܹ»½ÓÊÜÄÄЩýÌåÀàÐÍ£¨Èçtext/html¡¢application/json£©¡£

HTTP/1.1£ºÅþÁ¬ÌìϵÄÎÞÉùÓïÑÔ

ÔÚÎÒÃÇÿһ´Îµã»÷Á´½Ó¡¢Ë¢ÐÂÒ³Ãæ¡¢ÉÏ´«Í¼Æ¬µÄ±³ºó £¬¶¼Òþ²Ø×ÅÒ»¸öÖÁ¹ØÖ÷ÒªµÄЭÒ顪¡ªHTTP/1.1¡£ËüÓÌÈ绥ÁªÍøÍ¨Ñ¶µÄÎÞÉùÓïÑÔ £¬Ä¬Ä¬µØÅþÁ¬×ÅÊýÒÔÒڼƵÄ×°±¸ £¬Ö§³ÖÆðÎÒÃǸ»ºñ¶à²ÊµÄÊý×ÖÉúÑÄ¡£¹ØÓÚ´ó´ó¶¼Óû§¶øÑÔ £¬HTTP/1.1¿ÉÄÜÖ»ÊÇÒ»¸öÄ£ºýµÄ¿´·¨ £¬»òÕß½ö½öÊÇä¯ÀÀÆ÷µØÖ·À¸ÖеÄÒ»´®×Ö·û¡£

½ñÌì £¬¾ÍÈÃÎÒÃÇÒ»Æð²¦¿ªÃÔÎí £¬ÉîÈë̽ÌÖÕâ¸ö»¥ÁªÍøÍ¨Ñ¶»ùʯµÄÉñÃØ¡£

ÇëÇó-ÏìӦģʽ£º¶Ô»°µÄ»ùʯ

HTTP/1.1µÄ½¹µãÊÂÇé·½·¨ÊÇÇëÇó-ÏìÓ¦£¨Request-Response£©Ä£Ê½¡£Ã¿Ò»´Î¿Í»§¶ËÓë·þÎñÆ÷µÄ?½»»¥ £¬¶¼Ê¼ÓÚÒ»´ÎÇëÇó £¬ÖÕÓÚÒ»´ÎÏìÓ¦¡£

HTTPÇëÇó£¨HTTPRequest£©£º¿Í»§¶ËÏò·þÎñÆ÷·¢Ë͵ÄÖ¸Áî £¬°üÀ¨Á˿ͻ§¶ËÏëÒª×öʲôÒÔ¼°ÐèҪʲôÐÅÏ¢¡£Ò»¸öµä·¶µÄHTTPÇëÇó°ü?º¬ÒÔϼ¸¸öÒªº¦²¿·Ö£º

ÇëÇóÐУ¨RequestLine£©£ºÕâÊÇÇëÇóµÄµÚÒ»ÐÐ £¬°ü?º¬ÁËÇëÇóÒªÁì¡¢ÇëÇóURI£¨Í³Ò»×ÊÔ´±êʶ·û£©ºÍHTTPЭÒé°æ±¾¡£ÇëÇóÒªÁ죨HTTPMethods£©£ºÕâÊÇHTTPÇëÇóµÄ½¹µã £¬¸æËß·þÎñÆ÷Ï£ÍûÖ´ÐеÄ?²Ù×÷¡£×î³£¼ûµÄÇëÇóÒªÁì°üÀ¨£ºGET£ºÓÃÓÚ´Ó·þÎñÆ÷»ñÈ¡Êý¾Ý¡£

ÀýÈç £¬µ±Äã»á¼ûÒ»¸öÍøÒ³Ê± £¬ä¯ÀÀÆ÷¾Í·¢ËÍÒ»¸öGETÇëÇóÀ´»ñÈ¡HTMLÎļþ¡£POST£ºÓÃÓÚÏò·þÎñÆ÷Ìá½»Êý¾Ý £¬Í¨³£?ÓÃÓÚ½¨ÉèÐÂ×ÊÔ´»ò¸üÐÂÏÖÓÐ×ÊÔ´¡£ÀýÈç £¬ÄãÌá½»Ò»¸ö±íµ¥Ê± £¬¾Í»áʹÓÃPOSTÇëÇó¡£PUT£ºÓÃÓÚ¸üзþÎñÆ÷ÉϵÄÏÖÓÐ×ÊÔ´ £¬ÈôÊÇ×ÊÔ´²»±£´æ £¬Ôò¿ÉÄܽ¨Éè¡£

Last-Modified£º×ÊÔ´µÄ×îºóÐÞËûÈÕÆÚ £¬ÓÃÓÚʵÏÖIf-Modified-Since»º´æÑéÖ¤¡£Set-Cookie£ºÓÃÓÚÔÚÏìÓ¦ÖÐÉèÖÃCookie £¬¿Í»§¶Ë»á½«ÆäÉúÑÄÔÚÍâµØ £¬²¢?ÔÚºóÐøÇëÇóÖз¢ËͻطþÎñÆ÷ £¬ÊµÏֻỰ¹ÜÀí¡¢Óû§¸ú×ٵȹ¦Ð§¡£Location£ºµ±·þÎñÆ÷·µ»ØÖض¨Ïò״̬Â루Èç301¡¢302£©Ê± £¬LocationÍ·²¿»á°üÀ¨ÐµÄ?URL £¬¿Í»§¶Ë»áƾ֤´ËURLÌᳫеÄÇëÇó¡£

Server£ºÖ¸Ê¾·þÎñÆ÷ʹÓõÄÈí¼þ £¬ÓÐʱҲ¿ÉÄܰüÀ¨°æ±¾ÐÅÏ¢¡£

Í·²¿ÐÅÏ¢µÄÖǻۣºÐÅÏ¢µÄת´ïÕß

HTTPÍ·²¿ÐÅÏ¢£¨Headers£©ÊÇHTTP/1.1ЭÒéÖÐÖÁ¹ØÖ÷ÒªµÄ×é³É²¿·Ö £¬ËüÃÇÓÌÈçͨѶ˫·½×ª´ïµÄ¡°ÏßË÷¡±ºÍ¡°Ö¸Á £¬°üÀ¨Á˸»ºñµÄÐÅÏ¢ £¬Ö¸µ¼×ÅÇëÇóµÄ·¢ËÍ¡¢´¦Öóͷ£ºÍÏìÓ¦µÄÌìÉú¡£

ÇëÇóÍ·²¿£¨RequestHeaders£©µÄ½ø½×£º³ýÁËÎÒÃÇÖ®Ìõ¼þµ½µÄHost¡¢User-Agent¡¢Accept¡¢Cookie¡¢Referer £¬HTTP/1.1»¹ÒýÈëÁ˸ü¶àÓÐÓõÄÇëÇóÍ·²¿? £¬ÀýÈ磺

If-Modified-SinceºÍIf-None-Match£ºÕâÊÇHTTP/1.1ÔÚ»º´æ¿ØÖÆ·½ÃæµÄÖ÷ÒªÔöÇ¿¡£¿Í»§¶Ë¿ÉÒÔ·¢ËÍÕâЩͷ²¿ £¬¼û¸æ·þÎñÆ÷ËüÍâµØ»º´æµÄ×ÊÔ´ÊÇ»ùÓÚÄĸöÐÞ¸Äʱ¼ä£¨If-Modified-Since£©»òÕßETag£¨ÊµÌå±êÇ© £¬If-None-Match£©ÌìÉú?µÄ¡£

ÈôÊÇ·þÎñÆ÷·¢Ã÷×ÊÔ´×Ô¸Ãʱ¼äÒÔÀ´Î´±»ÐÞ¸Ä £¬»òÕßETagÆ¥Åä £¬Ëü»á·µ»ØÒ»¸ö304NotModifiedÏìÓ¦ £¬¼û¸æ¿Í»§¶ËʹÓÃÍâµØ?»º´æ¼´¿É £¬´ó´ó½ÚÔ¼ÁË´ø¿íºÍ´¦?Àíʱ¼ä¡£Expect£ºÓÃÓÚָʾ¿Í»§¶ËÆÚÍû·þÎñÆ÷Ö´ÐеÄÌØ¶¨ÐÐΪ £¬ÀýÈçExpect:100-continue £¬ÌåÏÖ¿Í»§¶ËÔÚ·¢ËÍ´ó?µÄÇëÇóÕýÎÄ֮ǰ £¬Ï£ÍûÏÈ»ñµÃ·þÎñÆ÷µÄ¡°¼ÌÐø¡±ÏìÓ¦£¨100Continue״̬Â룩 £¬ÒÔ×èÖ¹²»ÐëÒªµÄÉÏ´«¡£

ÔÚÏÖʵӦÓÃÖÐ £¬ÓÉÓÚ·þÎñÆ÷ºÍ¿Í»§¶ËʵÏÖÒÔ¼°ÍøÂç״̬µÄ²î±ð £¬¹ÜµÀ?»¯²¢·Ç×ÜÄÜ´øÀ´Ô¤ÆÚµÄÐÔÄÜÌáÉý £¬ÓÐʱÉõÖÁ»áÒýÈëеÄÎÊÌâ £¬ÕâÒ²ÊÇØÊºóHTTP/2½ÓÄɶà·¸´Óã¨Multiplexing£©À´½â¾ö¶ÓÍ·ÛÕ±ÕµÄ?Ôµ¹ÊÔ­ÓÉÖ®Ò»¡£

HTTP/1.1µÄÕâЩˢР£¬Ê¹µÃ»¥ÁªÍøµÄͨѶԽ·¢¸ßЧ¡¢ÎȹÌ £¬Ò²ÎªØÊºóµÄWebÊÖÒÕÉú³¤µÓÚ¨Á˼áʵµÄ»ù´¡¡£Ã÷È·ÕâЩ»ùÀ´Ô´Àí £¬ÊÇÎÒÃǽøÒ»²½Ì½Ë÷»¥ÁªÍøÉñÃØµÄµÚÒ»²½¡£

HTTP/1.1µÄÉî¶ÈÆÊÎö£º¹¹½¨¸ßЧWebͨѶµÄÒªº¦

ÔÚÉÏÒ»²¿·Ö £¬ÎÒÃÇÒѾ­¶ÔHTTP/1.1µÄ»ù±¾¿´·¨¡¢Ä£×Ó¡¢ÇëÇó-ÏìӦģʽÒÔ¼°³¤ÆÚÅþÁ¬ºÍ¹ÜµÀ»¯µÈ½¹µãÌØÕ÷ÓÐÁËÆðÔ´µÄÊìϤ¡£ÏÖÔÚ £¬ÈÃÎÒÃǼÌÐøÉîÈë £¬´Ó¸üϸÄåµÄ?½Ç¶ÈÆÊÎöHTTP/1.1µÄÊÂÇé»úÖÆ £¬ÒÔ¼°ËüÔÚÏÖ´úWeb¿ª·¢ÖеÄÒâÒåÓëÌôÕ½¡£

¿Í»§¶Ë-·þÎñÆ÷Ä£×Ó£º»¥ÁªÍøµÄ¾­µä¼Ü¹¹

HTTP/1.1×ñÕÕ¾­µäµÄ¿Í»§¶Ë-·þÎñÆ÷£¨Client-Server£©Ä£×Ó¡£ÔÚÕâ¸öÄ£×ÓÖÐ £¬¿Í»§¶Ë£¨Í¨³£ÊÇÎÒÃǵÄä¯ÀÀÆ÷£©ÌᳫÇëÇó £¬·þÎñÆ÷£¨ÍйÜÍøÒ³¡¢Ó¦ÓóÌÐòµÄÅÌËã»ú£©ÔòÏìÓ¦ÕâЩÇëÇó¡£ÕâÖÖÇåÎúµÄ·Ö¹¤Ê¹µÃ»¥ÁªÍøµÄ?¹¹½¨ºÍά»¤±äµÃ¸ßЧ¶øÓÐÐò¡£

¿Í»§¶Ë£¨Client£©£º¿ÉÒÔÊÇÄãµçÄÔÉϵÄÍøÒ³ä¯ÀÀÆ÷¡¢ÊÖ»úÉϵÄAPP £¬ÉõÖÁÊÇÎïÁªÍø×°±¸?¡£ËüµÄ?Ö÷ÒªÖ°ÔðÊÇÏò·þÎñÆ÷·¢ËÍHTTPÇëÇó £¬²¢?ÎüÊÕ¡¢ÆÊÎö·þÎñÆ÷·µ»ØµÄÏìÓ¦¡£·þÎñÆ÷£¨Server£©£º¿ÉÒÔÊÇWeb·þÎñÆ÷£¨ÈçApache¡¢Nginx£©¡¢Ó¦Ó÷þÎñÆ÷ £¬»òÕßÊý¾Ý¿â·þÎñÆ÷¡£

ËüÈÏÕæÎüÊÕÀ´×Ô¿Í»§¶ËµÄÇëÇó £¬¾ÙÐд¦Öóͷ££¨Èç²éÕÒÎļþ¡¢Ö´ÐдúÂë¡¢ÅÌÎÊÊý¾Ý£© £¬È»ºó½«´¦Öóͷ£Ð§¹û·â×°³ÉHTTPÏìÓ¦·¢Ëͻؿͻ§¶Ë¡£

×ܽ᣺ͨÍù¸ü¸ßÐ§ÍøÂçµÄõè¾¶

HTTP/1.1ЭÒé £¬×÷Ϊ»¥ÁªÍøÍ¨Ñ¶µÄÒ»×ùÖ÷ÒªÀï³Ì±® £¬ÒÔÆäÇåÎúµÄ¿Í»§¶Ë-·þÎñÆ÷Ä£×Ó¡¢ÎÞаµÄÇëÇó-ÏìÓ¦»úÖÆ £¬ÒÔ¼°³¤ÆÚÅþÁ¬ºÍ¹ÜµÀ»¯µÈ?Òªº¦ÌØÕ÷ £¬¹¹½¨ÁËÖ§³ÖÎÒÃÇÒ»Ñùƽ³£WebÌåÑéµÄͨѶ¹Ç¼Ü¡£Ëü²»µ«ÊÇÅþÁ¬Óû§ÓëÐÅÏ¢µÄÇÅÁº £¬¸üÊÇÍÆ¶¯WebÊÖÒÕÒ»Ö±ÏòËÞÊÀ³¤µÄÖ÷ÒªÁ¦Á¿¡£

ͨ¹ý¶ÔHTTP/1.1µÄÉîÈëÃ÷È· £¬ÎÒÃDz»µ«Äܹ»¸üºÃµØÕÆÎÕWebͨѶµÄʵÖÊ £¬Ò²ÄÜΪδÀ´µÄÍøÂçÊÖÒÕÉú³¤´òϼáʵµÄ»ù´¡?¡£¼´±ãÔÚHTTP/2ºÍHTTP/3ÈÕÒæÆÕ¼°µÄ½ñÌì £¬HTTP/1.1µÄ¼ÛÖµÒÀÈ»½ûÖ¹ºöÊÓ¡£Ëü´ú±í×Å»¥ÁªÍøÍ¨Ñ¶µÄÒ»´ÎÖØ´ó±¼ÌÚ £¬ÊÇÎÒÃÇͨÍù¸ü¸ßЧ¡¢¸üÖÇÄÜÍøÂçʱ´úµÄÒ»¼¶õè¾¶¡£

X-Forwarded-For£ºËäÈ»²»ÊÇHTTP/1.1±ê×¼½ç˵µÄÍ·²¿ £¬µ«±»ÆÕ±éʹÓà £¬ÓÃÓڼͼԭʼ¿Í»§¶ËµÄIPµØÖ· £¬µ±ÇëÇó¾­Óɶà¸ö´úÀí·þÎñÆ÷ʱÓÈΪÖ÷Òª¡£Content-TypeºÍContent-Length£ºÓëÇëÇóÕýÎÄÅäºÏʹÓà £¬Ö¸Ã÷ÎúÕýÎĵÄýÌåÀàÐͺ;Þϸ £¬·þÎñÆ÷ÐèҪƾ֤ÕâЩÐÅÏ¢À´×¼È·ÆÊÎöºÍ´¦Öóͷ£ÎüÊÕµ½µÄÊý¾Ý¡£

ÏìӦͷ²¿£¨ResponseHeaders£©µÄ¾«ÃÏìӦͷ²¿Í¬ÑùÐÅÏ¢Á¿ÖØ´ó £¬Ó°Ïì×ſͻ§¶ËÈçÄÇÀïÖ÷þÎñÆ÷·µ»ØµÄÊý¾Ý¡£

Content-TypeºÍContent-Length£ºÓëÇëÇóÖеÄ×÷ÓÃÀàËÆ £¬¼û¸æ¿Í»§¶ËÏìÓ¦ÌåµÄÀàÐͺ;Þϸ¡£Cache-Control£ºÕâÊÇÒ»¸öǿʢµÄ»º´æ¿ØÖÆÖ¸Áî £¬¿ÉÒÔÖ¸¶¨Èçpublic£¨ÔÊÐíËùÓлº´æ£©¡¢private£¨Ö»ÔÊÐí¿Í»§¶ËÍâµØ»º´æ£©¡¢no-cache£¨ÐèÒª¾ÙÐÐÑéÖ¤²Å»ª»º´æ£©¡¢no-store£¨Õ¥È¡»º´æ£©¡¢max-age£¨»º´æµÄ×î´óÉúÑÄʱ¼ä£©µÈ¡£

Expires£ºÌṩÁË»º´æ?µÄ¾ø¶ÔÓâÆÚʱ¼ä £¬ÓëCache-ControlÖеÄmax-ageÅäºÏʹÓà £¬µ«Cache-Controlͨ³£¾ßÓиü¸ßµÄÓÅÏȼ¶¡£ETag£ºÊµÌåµÄΨһ±êʶ·û £¬ÓÃÓÚʵÏÖETag»º´æÑéÖ¤¡£·þÎñÆ÷¿ÉÒÔÌìÉúÒ»¸öETagÖµ £¬¿Í»§¶ËÔÚºóÐøÇëÇóÖÐͨ¹ýIf-None-MatchÍ·²¿·¢Ë͸ÃÖµ £¬·þÎñÆ÷ÒÔ´ËÅжÏ×ÊÔ´ÊÇ·ñ±¬·¢×ª±ä¡£

ÏìӦͷ²¿£¨ResponseHeaders£©£ºÌṩ¹ØÓÚÏìÓ¦µÄÌØÊâÐÅÏ¢ £¬Èç·þÎñÆ÷ÀàÐÍ¡¢ÄÚÈݳ¤¶È¡¢ÄÚÈÝÀàÐÍ¡¢»º´æÕ½ÂÔµÈ?¡£³£¼ûµÄÍ·²¿×Ö¶ÎÓУºServer£ºÅú×¢·þÎñÆ÷Èí¼þµÄÀàÐͺͰ汾¡£Content-Type£ºÖ¸Ã÷ÏìÓ¦ÌåµÄýÌåÀàÐÍ£¨Èçtext/html¡¢image/jpeg£©¡£

Content-Length£ºÖ¸Ã÷ÏìÓ¦ÌåµÄ³¤¶È£¨ÒÔ×Ö½ÚΪµ¥Î»£©¡£Set-Cookie£ºÖ¸Ê¾·þÎñÆ÷·¢Ë͸ø¿Í»§¶ËµÄcookie¡£Cache-Control£ºÖ¸Ê¾¿Í»§¶ËÔõÑù»º´æÏìÓ¦¡£ÏìÓ¦ÕýÎÄ£¨ResponseBody£©£º·þÎñÆ÷·µ»ØµÄÏÖʵÊý¾Ý £¬ÈçHTMLÎļþ¡¢Í¼Æ¬¡¢JSONÊý¾ÝµÈ¡£

ÔðÈα༭£º Àî»ÛÁá
ÉùÃ÷£ºÖ¤È¯Ê±±¨Á¦ÕùÐÅÏ¢ÕæÊµ¡¢×¼È· £¬ÎÄÕÂÌá¼°ÄÚÈݽö¹©²Î¿¼ £¬²»×é³ÉʵÖÊÐÔͶ×ʽ¨Òé £¬¾Ý´Ë²Ù×÷Σº¦×Ôµ£
ÏÂÔØ¡°Ö¤È¯Ê±±¨¡±¹Ù·½APP £¬»ò¹Ø×¢¹Ù·½Î¢ÐŹ«ÖںŠ£¬¼´¿ÉËæÊ±Ïàʶ¹ÉÊж¯Ì¬ £¬¶´²ìÕþ²ßÐÅÏ¢ £¬ÕÆÎղƲú»ú»á¡£
ÍøÓÑ̸ÂÛ
µÇ¼ºó¿ÉÒÔ½²»°
·¢ËÍ
ÍøÓÑ̸ÂÛ½ö¹©Æä±í´ïСÎÒ˽¼Ò¿´·¨ £¬²¢²»Åúע֤ȯʱ±¨Ì¬¶È
ÔÝÎÞ̸ÂÛ
ΪÄãÍÆ¼ö
S{T}ͨÆÏµÚÈý¼¾¶È¿÷Ëð2527ÍòÔª£¬ÓªÊÕ½µ39.6%
ÍøÕ¾µØÍ¼