ÈËÉú¾ÍÊDz«ÖйúÇø

1.1£º»¥ÁªÍøÍ¨Ñ¶µÄ»ùʯ  £¬ÄãÕæµÄÏàʶËüÂð£¿_01
ȪԴ£ºÖ¤È¯Ê±±¨Íø×÷ÕߣºÐ»Ìï2026-03-05 04:41:48
wwwzqhsauikdwjbfkjabfwqr

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

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

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

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

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

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£©µÄÎÊÌâ  £¬ÀíÂÛÉÏ¿ÉÒÔÏÔÖøÌáÉýÐÔÄÜ ¡£

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

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

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

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

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

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

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µÄ¾«Á·ÐÔ·´¶ø¿ÉÄÜÊÇÒ»ÖÖÓÅÊÆ ¡£

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

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

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

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

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

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

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

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

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Êý¾ÝµÈ ¡£

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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״̬Â룩  £¬ÒÔ×èÖ¹²»?ÐëÒªµÄÉÏ´« ¡£

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