Èí¼þ²âÊÔ,²âÊÔ¹¤¾ß,Èí¼þ²âÊÔÅàѵ,ÐÔÄܲâÊÔ,²âÊÔ¹ÜÀí,²âÊÔ¹¤³Ìʦ,²âÊÔÓÃÀý,×Ô¶¯²âÊÔ

TestAge Èí¼þ²âÊÔÂÛ̳'s Archiver

Zee ·¢±íÓÚ 2008-8-18 10:19

HTTP³¬Îı¾´«ÊäЭÒé-HTTP/1.1ÖÐÎİæ

Network Working Group(ÍøÂ繤×÷×é)                             R. Fielding
Request for Comments: 2616                                   UC Irvine
Obsoletes(¹ýʱÆúÓã©: 2068                                    J. Gettys
Category: Standards Track £¨Àà±ð:±ê×¼×é £©                                Compaq/W3C
                                                              J. Mogul
                                                                Compaq
                                                            H. Frystyk
                                                               W3C/MIT
                                                           L. Masinter
                                                                 Xerox
                                                              P. Leach
                                                             Microsoft
                                                        T. Berners-Lee
                                                               W3C/MIT
                                                             June 1999



                ³¬Îı¾´«ÊäЭÒé-HTTP/1.1


˵Ã÷
   ±¾Îĵµ¹æ¶¨ÁË»¥ÁªÍøÉçÇøµÄ±ê×¼×éЭÒ飬²¢ÐèÒªÌÖÂۺͽ¨ÒéÒÔ±ã¸ü¼ÓÍêÉÆ¡£Çë²Î¿¼
¡°»¥ÁªÍø¹Ù·½Ð­Òé±ê×¼¡±£¨STD 1£©À´Á˽ⱾЭÒéµÄ±ê×¼»¯×´Ì¬¡£±¾Ð­Òé²»ÏÞÁ÷´«·¢²¼¡£

°æÈ¨ÉùÃ÷
   Copyright (C) The Internet Society (1999).          All Rights Reserved.
¡¡Copyright  [url]www.cnpaf.net[/url] (2007).          All Rights Reserved.

ÕªÒª

³¬Îı¾´«ÊäЭÒ飨HTTP£©ÊÇÒ»ÖÖΪ·Ö²¼Ê½£¬ºÏ×÷ʽ£¬¶àýÌåÐÅϢϵͳ·þÎñ£¬ÃæÏò
Ó¦ÓòãµÄЭÒé¡£ËüÊÇÒ»ÖÖͨÓõ쬲»·Ö״̬£¨stateless)µÄЭÒ飬³ýÁËÖîÈçÃû³Æ·þÎñºÍ·Ö²¼¶ÔÏó¹ÜÀíϵͳ֮ÀàµÄ³¬Îı¾ÓÃ;Í⣬»¹¿ÉÒÔͨ¹ýÀ©Õ¹ËüµÄÇëÇó·½Ê½£¬´íÎó´úÂëºÍ±¨Í·[47]À´
Íê³ÉÐí¶àÈÎÎñ¡£HTTPµÄÒ»¸öÌØµãÊÇÊý¾Ý±íʾ·½Ê½µÄµäÐÍÐԺͿÉЭÉÌÐÔÔÊÐí¶ÀÁ¢ÓÚ´«ÊäÊý¾Ý
¶ø½¨Á¢ÏµÍ³¡£
HTTPÔÚ1990ÄêWWWÈ«ÇòÐÅÏ¢¸Õ¸ÕÆð²½µÄʱºò¾ÍµÃµ½ÁËÓ¦Óᣱ¾ËµÃ÷ÊéÏêϸ²ûÊöÁËHTTP/1.1
ЭÒ飬ÊÇRFC 2068µÄÐÞ¶©°æ[33]¡£

Ŀ¼£¨ÂÔ£©

1 ÒýÂÛ

1.1 Ä¿µÄ

³¬Îı¾´«ÊäЭÒ飨HTTP£©ÊÇÒ»ÖÖΪ·Ö²¼Ê½£¬ºÏ×÷ʽ£¬¶àýÌåÐÅϢϵͳ·þÎñ£¬ÃæÏòÓ¦ÓòãµÄ
ЭÒé¡£ÔÚ1990ÄêWWWÈ«ÇòÐÅÏ¢¸Õ¸ÕÆð²½µÄʱºò HTTP¾ÍµÃµ½ÁËÓ¦Óá£HTTPµÄµÚÒ»¸ö°æ±¾½Ð×öHTTP/0.9,ÊÇÒ»ÖÖΪ»¥ÁªÍøÔ­Ê¼Êý¾Ý´«Êä·þÎñµÄ¼òµ¥Ð­Òé¡£ÓÉRFC 1945[6]¶¨ÒåµÄHTTP/1.0½øÒ»²½ÍêÉÆÁËÕâ¸öЭÒé¡£ËüÔÊÐíÏûÏ¢ÒÔÀàËÆMIMEµÄ¸ñʽ´«ËÍ£¬°üÀ¨ÓйØÊý¾Ý´«ÊäµÄά»¤ÐÅÏ¢ºÍ¹ØÓÚÇëÇó/Ó¦´ðµÄ¾ä·¨ÐÞÕý¡£µ«ÊÇ£¬HTTP/1.0ûÓгä·Ö¿¼Âǵ½·Ö²ã´úÀí£¬¸ßËÙ»º´æµÄ×÷ÓÃÒÔ¼°¶ÔÎȶ¨Á¬½ÓºÍÐéÄâÖ÷»úµÄÐèÇó¡£²¢ÇÒËæ×Ų»ÍêÉÆµÄ½ø³ÌÓ¦Óõļ¤
Ôö£¬HTTP/1.0ÆÈÇÐÐèÒªÒ»¸öеİ汾,ÒÔ±ãʹÁ½¸öͨÐÅÓ¦ÓóÌÐòÄܹ»È·¶¨±Ë´ËµÄÕæÊµÐÔÄÜ¡£

ÕâÀï¹æ¶¨µÄЭÒé½Ð×ö¡°HTTP/1.1".Õâ¸öЭÒéÓëHTTP/1.0Ïà±È£¬ÒªÇó¸üΪÑϸñ£¬ÒÔÈ·±£¸÷ÏÄܵõ½¿É¿¿ÊµÏÖ¡£

ʵ¼ÊµÄÐÅϢϵͳ³ýÁ˼òµ¥µÄ¼ìË÷Í⣬ҪÇó¸ü¶àµÄ¹¦ÄÜÐÔ£¨functionality)£¬°üÀ¨²éÕÒ(search)£¬Ç°¶Ë¸üÐÂ(front-end update)ºÍ×¢½â(annotation)¡£HTTPÔÊÐí¿ÉÀ©³äµÄ·½·¨¼¯ºÍ±¨Í·¼¯ÒÔָʾÇëÇóµÄÄ¿µÄ[47]¡£ËüÊǽ¨Á¢ÔÚͳһ×ÊÔ´±êʶ·û£¨URI£© [3]ÌṩµÄµØÖ·£¨URL£©[4]ºÍÃû×Ö£¨URN£©ÉÏ[20]£¬ÒÔÖ¸³ö·½·¨Ó¦ÓÃÓÚÄĸö×ÊÔ´µÄ¡£ÏûÏ¢ÒÔÀàËÆÓÚÒ»ÖÖ½Ð×ö¶àÓÃÍ¾ÍøÂçÓʼþÀ©Õ¹£¨MIME£©[7] µÄ»¥ÁªÍøÓʼþµÄ¸ñʽ´«ËÍ¡£

HTTPÒ²ÊÇÓÃÓÚÓû§´úÀíÖ®¼ä¼°´úÀí/Íø¹Øµ½ÆäËûÍøÂçϵͳµÄͨÓÃͨÐÅЭÒ飬ÕâÑùµÄÍøÂçϵͳ¿ÉÄÜÓÉSMTP[16],NNTP[13],FTP[18],Gopher[2]ºÍWAIS[10]ЭÒéÖ§³Ö¡£ÕâÑù£¬HTTPÔÊÐí²»Í¬µÄÓ¦ÓóÌÐò¶Ô×ÊÔ´½øÐлù±¾µÄ³¬Ã½Ìå·ÃÎÊ¡£

1.2 񻂗

±¾ÎĵĹؼü´Ê"MUST", "MUST NOT", "REQUIRED", "SHALL","SHALL NOT","SHOULD",
"SHOULD NOT", "RECOMMENDED", "MAY", ºÍ "OPTIONAL"½«ÓÉRFC 2119[34]½âÊÍ¡£

Ò»Ïî½ø³ÌÈç¹û²»ÄÜÂú×ãЭÒéÌṩµÄÒ»¸ö»ò¶à¸öMUST»òREQUIREDµÈ¼¶µÄÒªÇó£¬ÊDz»·ûºÏÒªÇóµÄ¡£Ò»Ïî½ø³ÌÈç¹ûÂú×ãËùÓÐMUST»ò REQUIREDµÈ¼¶ÒÔ¼°ËùÓÐSHOULDµÈ¼¶µÄÒªÇó£¬Ôò±»³ÆÎª¡°¾ø¶Ô·ûºÏ¡±£¨unconditionally compliant£©µÄ£»ÈôÂú×ãËùÓÐMUSTµÈ¼¶µÄÒªÇ󵫲»ÄÜÂú×ãËùÓÐSHOULDµÈ¼¶µÄÒªÇóÔò±»³ÆÎª¡°²¿·Ö·ûºÏ¡±£¨conditionally compliant£©µÄ¡£

1.3 ÊõÓï

±¾ËµÃ÷Óõ½ÁËÈô¸ÉÊõÓÒÔ±íʾHTTPͨÐÅÖи÷²ÎÓëÕߺͶÔÏó°çÑݵIJ»Í¬½ÇÉ«¡£

Á¬½Ó£¨Connection£©
ΪͨÐŶøÔÚÁ½¸ö³ÌÐò¼ä½¨Á¢µÄ´«Êä²ãÐéÄâµç·¡£

ÏûÏ¢(Message)
HTTPͨÐÅÖеĻù±¾µ¥Ôª¡£ËüÓÉÒ»¸ö½á¹¹»¯µÄ°Ë±ÈÌØ×Ö½ÚÐòÁÐ×é³É£¬ÓëµÚ4Õ¶¨ÒåµÄ¾ä·¨ÏàÆ¥Å䣬²¢Í¨¹ýÁ¬½ÓµÃµ½´«ËÍ¡£

ÇëÇó(Request)
Ò»ÖÖHTTPÇëÇóÏûÏ¢£¬²Î¿´µÚ5յ͍Òå¡£

Ó¦´ð(Response)
Ò»ÖÖHTTPÓ¦´ðÏûÏ¢£¬²Î¿´µÚ6յ͍Òå¡£

×ÊÔ´(Resource)
Ò»ÖÖÍøÂçÊý¾Ý¶ÔÏó»ò·þÎñ£¬¿ÉÒÔÓõÚ3.2½Ú¶¨ÒåµÄURIÃèÊö¡£×ÊÔ´¿ÉÒÔÒÔ¶àÖÖ±íÏÖ·½Ê½
£¨ÀýÈç¶àÖÖÓïÑÔ£¬Êý¾Ý¸ñʽ£¬´óСºÍ½â¾ö·½°¸£©»òÆäËû²»Í¬µÄ;¾¶»ñµÃ¡£

ʵÌå(Entity)
×÷ΪÇëÇó»òÓ¦´ðµÄÓÐЧ¸ººÉ¶ø´«ÊäµÄÐÅÏ¢.Ò»¸öʵÌå°üº¬±¨Í·ÐÎʽµÄά»¤ÐÅÏ¢ºÍÏûÏ¢ÌåÐÎʽµÄÄÚÈÝ,ÓɵÚ7½ÚÏêÊö.

±íʾ·½·¨(Representation)
Ò»¸öÓ¦´ð°üº¬µÄʵÌåÊÇÓÉÄÚÈÝЭÉ̾ö¶¨µÄ,ÈçµÚ12ÕÂËùÊö.Ò»¸öÌØ¶¨µÄÓ¦´ð״̬Ëù¶ÔÓ¦µÄ±íʾ·½·¨¿ÉÄÜÓжà¸ö.

ÄÚÈÝЭÉÌ(Content Negotiation)
ΪÇëÇó·þÎñʱѡÔñÊʵ±±íʾ·½·¨µÄ»úÖÆ£¨mechanism),ÈçµÚ12½ÚËùÊö.ÈκÎÓ¦´ðÀïʵÌåµÄ±íʾ·½·¨¶¼ÊÇ¿ÉЭÉ̵Ä(°üÀ¨³ö´íÓ¦´ð).

±äÁ¿£¨Variant)
ÔÚÈκθø¶¨Ê±¿Ì,ÓëÒ»¸ö×ÊÔ´¶ÔÓ¦µÄ±íʾ·½·¨¿ÉÒÔÓÐÒ»¸ö»ò¸ü¶à.ÿ¸ö±íʾ·½·¨³Æ×÷Ò»¸ö±äÁ¿.ʹÓñäÁ¿Õâ¸öÊõÓï²¢²»±ØÈ»Òâζ×Å×ÊÔ´ÊÇÓÉÄÚÈÝЭÉ̾ö¶¨µÄ.

¿Í»§»ú£¨Client£©
Ϊ·¢ËÍÇëÇó½¨Á¢Á¬½ÓµÄ³ÌÐò.

Óû§´úÀí(User agent)
³õʼ»¯ÇëÇóµÄ¿Í»§¶Ë³ÌÐò.³£¼ûµÄÈçä¯ÀÀÆ÷,±à¼­Æ÷,Ö©Öë(ÍøÂç´©Ô½»úÆ÷ÈË),»òÆäËûµÄÖÕ¶ËÓû§¹¤¾ß.

·þÎñÆ÷(Server)
ͬÒâÁ¬½ÓÒÔ±ãͨ¹ý·¢»ØÓ¦´ðΪÇëÇóÌṩ·þÎñµÄÓ¦ÓóÌÐò.Èκθø¶¨µÄ³ÌÐò¶¼ÓпÉÒÔ¼È×ö¿Í»§¶ËÓÖ×ö·þÎñÆ÷;ÎÒÃÇʹÓÃÕâЩÊõÓï½öÖ¸ÌØ¶¨Á¬½ÓÖгÌÐòÍê³ÉµÄÈÎÎñ,¶ø²»ÊÇָͨ³£ÒâÒåÉϳÌÐòµÄÐÔÄÜ.ͬÑù,ÈκηþÎñÆ÷¶¼¿ÉÒÔ»ùÓÚÿ¸öÇëÇóµÄÐÔÖʰçÑÝÔ­·þÎñÆ÷,´úÀí,Íø¹Ü,»òÕßËíµÀµÈÖî½Çɫ֮һ¡£

Ô­·þÎñÆ÷£¨Origin server)
¸ø¶¨µÄ×ÊԴפÁô»ò´´½¨µÄµØ·½.

´úÀí·þÎñÆ÷£¨ Proxy£©
Ò»¸ö¼È×ö·þÎñÆ÷ÓÖ×ö¿Í»§¶ËµÄÖнé³ÌÐò.,ÆäÓÃ;ÊÇ´ú±íÆäËû¿Í»§·¢ËÍÇëÇó.ÇëÇóÔÚÄÚ²¿µÃµ½·þÎñ,»òÕß¾­¹ýÒ»¶¨µÄ·­ÒëתÖÁÆäËû·þÎñÆ÷.Ò»¸ö´úÀí·þÎñÆ÷±ØÐëÄÜͬʱÂÄÐб¾ËµÃ÷Öпͻ§¶ËºÍ·þÎñÆ÷ÒªÇó.¡°Í¸Ã÷´úÀí¡±£¨transparent proxy£©ÊÇÒ»ÖÖ³ýÁ˱ØÐèµÄÑéÖ¤ºÍ¼ø¶¨Íâ²»ÐÞ¸ÄÇëÇó»òÏàÓ¦µÄ´úÀí.¡°·Ç͸Ã÷´úÀí¡±£¨non-transparent proxy£©ÊÇÒ»ÖÖÐÞ¸ÄÇëÇó»òÓ¦´ðÒÔ±ãΪÓû§´úÀíÌṩ¸½¼Ó·þÎñµÄ´úÀí,¸½¼Ó·þÎñ°üÀ¨Àà×¢ÊÍ·þÎñ,ýÌåÀàÐÍת»»,ЭÒé¼ò»¯,»òÕßÄäÃûÂ˳ýµÈ.³ý·Ç¾­Ã÷È·Ö¸³ö,HTTP´úÀíÒªÇó¶ÔÁ½ÖÖ´úÀí¶¼ÊÊÓÃ.

Íø¹Ø£¨gateway£©
ΪÆäËû·þÎñÆ÷³äµ±ÖнéµÄ·þÎñÆ÷.Óë´úÀí·þÎñÆ÷²»Í¬,Íø¹Ø½ÓÊÕÇëÇó,·Â·ðËü¾ÍÊDZ»ÇëÇó×ÊÔ´ËùÔÚµÄÔ­·þÎñÆ÷;Ìá³öÇëÇóµÄ¿Í»§¿ÉÄܾõ²ì²»µ½ËüÕýÔÚÍ¬Íø¹ØÍ¨ÐÅ.
Ò»¸öÔÚÁ½¸öÁ¬½ÓÖ®¼ä³äµ±Ã¤Ä¿Öм̣¨blind relay)µÄÖмä³ÌÐò.Ò»µ©ÓÐЧ,ËíµÀ±ã²»ÔÙ±»ÈÏΪÊÇHTTPͨÐŵÄÓû§,ËäÈ»ËíµÀ¿ÉÄÜÒѾ­±»HTTPÇëÇó³õʼ»¯ÁË.µ±Á½¶ËµÄÖмÌÁ¬½Ó¶¼¹Ø±ÕµÄʱºò,ËíµÀ²»ÔÙ´æÔÚ.

¸ßËÙ»º´æ£¨Cache£©
Ò»¸ö³ÌÐòÓ¦´ðÐÅÏ¢µÄ±¾µØ´æ´¢ºÍ¿ØÖÆ´ËÐÅÏ¢´æ´¢¡¢¼ìË÷ºÍɾ³ýµÄ×Óϵͳ,Ò»¸ö¸ßËÙ»º³å´æ´¢Æ÷´æ´¢Ó¦´ðΪµÄÊǼõÉÙ¶Ô½«À´Í¬ÑùÇëÇóµÄÓ¦´ðʱ¼äºÍÍøÂç´ø¿íÏûºÄ,ÈÎÒ»¿Í»§»ò·þÎñÆ÷¶¼¿ÉÄܰüº¬Ò»¸ö¸ßËÙ»º´æ,µ«¸ßËÙ»º´æ²»ÄÜÓ¦ÓÃÓÚÒ»¸ö³äµ±ËíµÀµÄ·þÎñÆ÷.

¿É»º´æ£¨Cacheable£©
       Èç¹ûÒ»¸ö¸ßËÙ»º´æÔÊÐí´æ´¢Ó¦´ðÐÅÏ¢µÄÒ»·Ý¿½±´ÔËÓÃÓÚÓ¦´ðºó¼ÌÇëÇóµÄ¿½±´,Ò»¸öÓ¦´ð¾ÍÊǿɻº´æµÄ.ÓÃÀ´È·¶¨HTTPÓ¦´ðµÄ»º´æÄÜÁ¦£¨cacheability£©µÄ¹æÔòÔÚ13½ÚÖÐÓж¨Òå.¼´Ê¹Ò»¸ö×ÊÔ´Êǿɻº´æµÄ,Ò²¿ÉÄܶÔÒ»¸ö¸ßËÙ»º´æÄÜ·ñ½«»º´æ¿½±´ÓÃÓÚÄ³ÌØ¶¨ÇëÇó´æÔÚ¸½¼ÓµÄÔ¼Êø.

Ö±½Ó£¨first-hand£©
      Èç¹ûÒ»¸öÓ¦´ðÖ±½Óµ½À´²¢ÇÒûÓÐÔµÓÚÔ­·þÎñÆ÷,»òÈô¸É´úÀí·þÎñÆ÷µÄ²»±ØÒªµÄÑÓʱ,ÄÇôÕâ¸öÓ¦´ð¾ÍÊÇÖ±½ÓµÄ.Èç¹ûËüµÄÓÐЧÐÔÒѾ­±»Ô­·þÎñÆ÷Ö±½ÓÈÏÖ¤,ÄÇôÕâ¸öÓ¦´ðҲͬÑùÊǵÚÒ»ÊÖµÄ.

Ã÷È·ÖÕֹʱ¼ä£¨explicit expiration time£©   
Ô­·þÎñÆ÷Ô¤ËãÒ»¸öʵÌåÔÚÎÞÐè½øÒ»²½È·ÈϵÄÇé¿öϲ»ÔÙ±»¸ßËÙ»º´æ·µ»ØµÄʱ¼ä.

̽Ë÷ÖÕֹʱ¼ä£¨heuristic expiration time£©     
µ±Ã»ÓÐÍâÔÚµÄÖÕֹʱ¼ä¿ÉÀûÓÃʱ, ÓɸßËÙ»º´æËùÖ¸¶¨µÄÖÕֹʱ¼ä.

ÄêÁ䣨Age£©
     Ò»¸öÓ¦´ðµÄÄêÁäÊÇ´ÓËü±»·¢ËÍ,»ò±»Ô­·þÎñÆ÷³É¹¦È·Èϵ½ÏÖÔÚµÄʱ¼ä.

±£ÏÊÊÙÃü£¨Freshness lifetime£©
Ò»¸öÓ¦´ðÉú³ÉºÍ¹ýÆÚÖ®¼äµÄʱ¼ä³¤¶È.

±£ÏÊ£¨Fresh£©   
Èç¹ûÒ»¸öÓ¦´ðµÄÄêÁ仹ûÓг¬¹ý±£ÏÊÊÙÃü,Ëü¾ÍÊDZ£ÏʵÄ.

³Â¾É£¨Stale£©
     Ò»¸öÓ¦´ðµÄÄêÁäÒѾ­³¬¹ýÁËËüµÄ±£ÏÊÊÙÃü,¾ÍÊdz¾ɵÄ.

ÓïÒå͸Ã÷£¨semantically transparent£©
µ±ËüµÄʹÓóýÁ˸ÄÉÆÐÔÄÜÍâ¼ÈδӰÏìÇëÇó¿Í»§»úҲδӰÏìÔ­·þÎñÆ÷ʱ, ¸ßËÙ»º´æ¶ÔÓÚÄ³ÌØ¶¨µÄÓ¦´ð¾ÍÊǹ¤×÷ÓÚÓïÒå͸Ã÷·½Ê½ÁË.µ±¸ßËÙ»º´æÓïÒå͸Ã÷ʱ,¿Í»§Ç¡ºÃÊÕµ½ÓëÔ­·þÎñÆ÷Ö±½Ó´¦ÀíÇëÇóºóµÃµ½µÄÓ¦´ð£¨³ýÁËÖð¶Îת½ÓµÄ±¨Í·²¿·Ö£©ÍêÈ«ÏàͬµÄÓ¦´ð¡£

ÓÐЧÐÔÅбðÆ÷£¨Validator£©
  Ò»¸öÓÃÀ´²éÕÒÒ»¸ö¸ßËÙ»º´æ¼Ç¼ÊÇ·ñÊÇÒ»¸öʵÌåµÄµÈЧ¿½±´µÄЭÒéÔªËØ(ÀýÈç,Ò»¸öʵÌå±ê¼Ç£¨entity tag£©»ò×îÖÕ¸ü¸Äʱ¼ä£¨Last-Modified time)).

ÉÏÓÎ/ÏÂÓΣ¨upstream/downstream£©
     ÉÏÓκÍÏÂÓÎÃèÊöÁËÏûÏ¢µÄÁ÷¶¯:ËùÓÐÏûÏ¢¶¼´ÓÉÏÓÎÁ÷µ½ÏÂÓÎ.

ÏòÄÚ/ÏòÍ⣨inbound/outbound£©
ÏòÄÚºÍÏòÍâÖ¸µÄÊÇÏûÏ¢µÄÇëÇóºÍÓ¦´ð·¾¶:"ÏòÄÚ"¼´"ÒÆÏòÔ­·þÎñÆ÷","ÏòÍâ"¼´"ÒÆÏòÓû§´úÀí".
¡¡Copyright  [url]www.cnpaf.net[/url] (2007).          All Rights Reserved.

1¡£4 ×ÜÌå²Ù×÷

HTTPЭÒéÊÇÒ»ÖÖÇëÇó/Ó¦´ðЭÒé¡£ ÓëÖ÷»ú½¨Á¢Á¬½Óºó£¬¿Í»§ÒÔÇëÇó·½·¨£¬URIºÍЭÒé°æ±¾µÄÐÎʽÏò·þÎñÆ÷·¢ËÍÇëÇ󣬼ÌÒÔÀàMIMEÐÅÏ¢£¬ÆäÖаüÀ¨ÇëÇóÐ޸ģ¬¿Í»§ÐÅÏ¢ºÍ¿ÉÄܵÄÕýÎÄÄÚÈÝ¡£
·þÎñÆ÷ÓðüÀ¨ÏûϢЭÒé°æ±¾ºÍ³É¹¦»ò´íÎó´úÂëµÄ״̬½øÐÐÓ¦´ð£¬¼ÌÒÔ°üÀ¨·þÎñÆ÷ÐÅÏ¢£¬ÊµÌåά»¤ÐÅÏ¢ºÍ¿ÉÄܵÄʵÌåÄÚÈݵÄÀàMIMEÏûÏ¢¡£HTTPºÍMIMEÖ®¼äµÄ¹ØÏµÈ總¼19.4½ÚËù²ûÊö¡£

´ó²¿·ÖµÄHTTPͨÐÅÓÉÓû§´úÀíÒý·¢£¬ÓÉÓ¦Óõ½Ò»Ð©Ô­·þÎñÆ÷ÉÏ×ÊÔ´µÄÇëÇ󹹳ɡ£×î¼òµ¥µÄÇéÐΣ¬¿ÉÒÔ¾­Óû§´úÀí£¨UA£©ºÍÔ­·þÎñÆ÷£¨O£©Ö®¼äµÄµ¥Ò»Á¬½Ó£¨v£©Íê³É¡£ÇëÇóÁ´------------------------>Óû§´úÀí(UA)-------------------µ¥Ò»Á¬½Ó£¨v)-------------------Ô­·þÎñÆ÷£¨O£© <-----------------------Ó¦´ðÁ´

µ±Ò»¸ö»òÒ»¸öÒÔÉϵÄÖнéÔÚÇëÇó/Ó¦´ðÁ´ÖгöÏÖµÄʱºò£¬»á³öÏÖ¸ü¸´ÔÓµÄÇéÐΡ£³£¼ûµÄÖнéÐÎʽÓÐÈýÖÖ£º´úÀí£¬Íø¹ØºÍËíµÀ¡£´úÀíÊÇÒ»ÖÖתË͹¤¾ß£¬Ëü½ÓÊÕ¾ø¶ÔÐÎʽµÄURIÇëÇó£¬ÖØÐ´È«²¿»ò²¿·ÖÏûÏ¢£¬È»ºó°ÑÖØÐ¸ñʽ»¯ºóµÄÇëÇó·¢Ë͵½URIÈ·¶¨µÄ·þÎñÆ÷ÉÏ¡£Íø¹ØÊÇÒ»ÖÖ½ÓÊÕ¹¤¾ß£¬Ëü³äµ±ÆäËû·þÎñÆ÷µÄÉϲ㣬±ØÒªÊ±½«ÇëÇó·­ÒëΪϲã·þÎñÆ÷µÄЭÒé¡£ËíµÀ²»¸Ä±äÏûÏ¢¶ø³äµ±Á½¸öÁ¬½ÓÖ®¼äµÄÖм̵㣻ËüÓÃÓÚͨÐÅÐèÒª´©¹ýÖн飨Èç·À»ðǽ£©£¬ÉõÖÁÖн鲻ÄÜÀí½âÐÅÏ¢ÄÚÈݵÄʱºò¡£
ÇëÇóÁ´-------------------------------------->UA-----v-----A-----v----- B-----v-----C-----v-----O <-------------------------------------Ó¦´ðÁ´


ÉÏͼÏÔʾÁËÓû§´úÀíºÍÔ­·þÎñÆ÷Ö®¼äµÄÈý¸öÖн飨A£¬BºÍC)¡£ÓÎÀúÕûÌõÁ´µÄÇëÇó»òÓ¦´ðÏûÏ¢Ðèͨ¹ýËĸö¶ÀÁ¢µÄÁ¬½Ó¡£Õâ¸öÌØÐÔºÜÖØÒª£¬ÒòΪijЩ HTTPͨÐÅÑ¡ÏîÖ»ÄÜÓ¦ÓÃÓÚµ½×î½üµÄ·ÇËíµÀÁÚ¾Ó£¬Á´µÄÖÕµãµÄÁ¬½Ó£¬»òÕßÑØ×ÅÁ´µÄËùÓÐÁ¬½Ó¡£Í¼±í¾¡¹ÜÊÇÏßÐԵģ¬Ã¿²¿·Ö¿ÉÄܶ¼ÔÚæÓÚ¶à·ͬʱͨÐÅ¡£ÀýÈ磬B¿ÉÒÔ½ÓÊÕÀ´×Ô²»Í¬ÓÚAµÄÐí¶à¿Í»§µÄÇëÇ󣬲¢ÇÒ£¯»òÕßתË͵½²»Í¬ÓÚCµÄ·þÎñÆ÷£¬Óë´Ëͬʱ£¬Ëü»¹ÔÚ´¦ÀíAµÄÇëÇó¡£


ÈκηÇËíµÀµÄͨÐųÉÔ±¶¼¿ÉÒÔʹÓÃÄÚ²¿µÄ¸ßËÙ»º´æÀ´´¦ÀíÇëÇ󡣸ßËÙ»º´æµÄ×÷ÓÃÊÇÈç¹ûÑØ×ÅÁ´µÄÒ»¸ö³ÉÔ±¶ÔÇëÇó²ÉÓÃÁ˸ßËÙ»º³åµÄÓ¦´ð£¬ÇëÇó/Ó¦´ðÁ´¾Í»á´ó´óËõ¶Ì¡£ÒÔÏÂͼ½â×÷Ϊ½á¹û²úÉúµÄÁ´£¬¼Ù¶¨BÓµÓÐÀ´×ÔO£¨Í¨¹ýC£©µÄÒ»¸ö´ÓǰӦ´ðµÄ±¸·Ý£¬ÇëÇóÉÐδ±»UA»òA»º´æ¡£
ÇëÇóÁ´---------->UA-----v----------A-----v-----B-----C----O <---------Ó¦´ðÁ´

²¢²»ÊÇËùÓеÄÓ¦´ð¶¼ÄÜÓÐЧµØ»º´æ£¬Ò»Ð©ÇëÇó¿ÉÄܺ¬ÓÐÐÞ¸ÄÁ¿£¬¶Ô»º´æ¶¯×÷ÓÐÌØÊâµÄÒªÇó¡£»º´æ¶¯×÷ºÍ»º´æÓ¦´ðµÄHTTPÒªÇó½«ÔÚµÚ13½Ú¶¨Òå¡£

ʵ¼ÊÉÏ£¬Ä¿Ç°ÍòÎ¬ÍøÉÏÓжàÖֽṹºÍÅäÖõĸßËÙ»º´æºÍ´úÀí±»ÊµÑé»òʹÓá£ÕâЩϵͳ°üÀ¨½ÚʡԽÑó´ø¿íµÄÈ«¹ú´úÀí²ã£¬¹ã²¥»ò¶àµãͨÐÅ»º´æ½Ó¿Ú£¬Í¨¹ýCD-ROM·ÖÅä×Ó»º´æÊý¾ÝµÄ»ú¹¹£¬µÈµÈ¡£HTTPϵͳӦÓÃÔÚ¿íÆµ´øÁ¬½ÓµÄÆóÒµ¾ÖÓòÍøÖУ¬Í¨¹ýPDAsµÄµÍºÄÎÞÏßÁ¬½ÓºÍ¶ÏÐøÁ¬½ÓµÄ·ÃÎÊ¡£ HTTP1.1µÄÄ¿±êÊÇÖ§³Ö¸÷ÖÖ¸÷ÑùµÄÓ¦ÓÃÅäÖã¬Òý½øÐ­Òé½á¹¹Âú×ãÄÇЩÐèÒª½Ï¸ß¿É¿¿ÐÔ£¬¿ÉÒÔÅųý¹ÊÕÏ»òÖÁÉÙָʾ¹ÊÕϵÄÍøÂçÓ¦ÓõÄÒªÇó¡£

HTTPͨÐÅÔÚͨ³£·¢ÉúÔÚTCP/£É£ÐÁ¬½ÓÉÏ¡£Ä¬È϶˿ÚÊÇTCP 80,²»¹ýÆäËü¶Ë¿ÚÒ²¿ÉÒÔʹÓá£ÔÚ»¥ÁªÍø»òÆäËûÍøÂçÉÏ£¬Õâ²¢²»·Á°­HTTPÓ¦ÓÃÔÚÆäËûЭÒéµÄ¶¥¶Ë¡£http½ö½öÆÚÍû¿É¿¿µÄ´«Ê䣻ÈκÎÌṩÕâÖÖ±£Ö¤µÄЭÒé¶¼¿ÉÒÔʹÓã»Ð­Òé´«ÊäÊý¾Ýµ¥ÔªµÄHTTP/1.1ÇëÇóºÍÓ¦´ð½á¹¹µÄÓ³ÏóÒѾ­³¬³öÁ˱¾ËµÃ÷ÊéµÄ·¶Î§¡£

ÔÚhttp/1.0ÖУ¬´ó²¿·ÖµÄʵÏÖΪÿ¸öÇëÇó/Ó¦´ð½»»»Ê¹ÓÃÁËÐÂÁ¬½Ó¡£¶øhttp/1.1ÖУ¬Ò»¸öÁ¬½Ó¿ÉÒÔÓÃÓÚÒ»¸ö»ò¸ü¶àÇëÇó/Ó¦´ð½»»»£¬ËäÈ»Á¬½Ó¿ÉÄÜ»áÒòΪ¸÷ÖÖÔ­ÒòÖжϣ¨¼ûµÚ8.1½Ú£©¡£

2 ·ûºÅ¹ßÀýºÍÒ»°ãÓï·¨

2£®1 À©³äBNF

±¾Îĵµ¹æ¶¨µÄËùÓлúÖÆ¶¼ÓÃÁ½ÖÖ·½·¨ÃèÊö£ºÉ¢ÎÄÌ壨prose)ºÍÀàËÆÓÚRFC 822µÄÀ©³äBackus-Naur Form(BNF)¡£ÒªÀí½â±¾ËµÃ÷Ê飬ʹÓÃÕßÐèÊìϤ·ûºÅ±íʾ·¨¡£À©³äBNF°üÀ¨ÏÂÁнṹ£º

Ãû×Ö=¶¨Òå
Ò»Ìõ¹æÔòµÄÃû×Ö½ö½öÊÇÃû×Ö±¾Éí£¨Ã»ÓÐÈκÎ"<"ºÍ">"£©,¸úµÈÓÚºÅ"="ºóÃæµÄ¶¨ÒåÊÇ·ÖÀëµÄ¡£½öµ±Á¬ÐøÏߵĿոñÓÃÀ´±íʾһÌõ³¤ÓÚÒ»ÐеĹæÔòʱ¿Õ°×²ÅÊÇÖØÒªµÄ¡£Ä³Ð©»ù±¾¹æÔòʹÓôóд×Öĸ£¬ÈçSP£¬LWS£¬HT£¬CRLF£¬DIGIT£¬ALPHA£¬µÈµÈ¡£ÎÞÂÛºÎʱ£¬Ö»ÒªËüÃǵĴæÔÚÓÐÀûÓÚʶ±ð¹æÔòÃû×Ö£¬¾Í¿ÉÒÔÔÚ¶¨ÒåµÄ·¶Î§ÄÚʹÓýÇÀ¨ºÅ¡£

¡°ÎÄ×Ö¡±
ÎÄ×ÖÔ­ÎÄʹÓÃÒýºÅ¡£³ýÌØÊâÇé¿ö£¬Ô­ÎĶÔÍâ½ç²»Ãô¸Ð¡£

¹æÔò1 | ¹æÔò2
ÓÉÊúÏß("|"£©·Ö¿ªµÄÔªËØÊÇ¿ÉÑ¡µÄ£¬ÀýÈ磬"yes | no"±íʾyes»òno¶¼ÊǿɽÓÊܵġ£

£¨¹æÔò1 ¹æÔò2£©
ΧÔÚÀ¨ºÅÀïµÄ¶à¸öÔªËØÊÓ×÷Ò»¸öÔªËØ¡£ÕâÑù¡°(elem (foo | bar) elem)¡±ÔÊÐí±ê¼ÇÐòÁС°elem foo elem¡±ºÍelem bar elem¡±¡£

*¹æÔò
Ç°ÃæµÄ×Ö·û"*"±íÊ¾ÖØ¸´¡£ÍêÕûµÄÐÎʽÊÇ"*ÔªËØ",±íÊ¾ÔªËØÖÁÉÙ³öÏִΣ¬ÖÁ¶à³öÏִΡ£Ä¬ÈÏÖµÊÇ0ºÍÎÞÇî´ó£¬ËùÒÔ"*(ÔªËØ)"ÔÊÐíÈκÎÊýÖµ£¬°üÀ¨Á㣻"1*ÔªËØ"ÖÁÉÙÐèÒªÒ»´Î£»"1*2element"ÔÊÐíÒ»´Î»òÁ½´Î¡£


[¹æÔò]
·½À¨ºÅÀïÊÇÈÎÑ¡ÔªËØ£»"[foo bar]"Ï൱ÓÚ"*1(foo bar)".

N ¹æÔò
ÌØÊâµÄÖØ¸´£º¡°(ÔªËØ)¡±Ï൱ÓÚ¡°*(ÔªËØ)¡±£» Ò²¾ÍÊÇ˵£¬(ÔªËØ)ÕýºÃ³öÏÖÁ˴Ρ£ÕâÑù2DIGITÊÇÒ»¸öÁ½Î»Êý×Ö£¬3ALPHAÊÇÒ»¸öÓÉÈý¸ö×Ö·û×é³ÉµÄ×Ö·û´®¡£

#¹æÔò
ÀàËÆÓÚ"*",½á¹¹"#"ÊÇÓÃÀ´¶¨ÒåһϵÁÐÔªËØµÄ¡£ÍêÕûµÄÐÎʽÊÇ"#ÔªËØ,±íʾÖÁÉÙ¸öÔªËØ£¬ÖÁ¶à¸öÔªËØ£¬ÔªËØÖ®¼ä±»Ò»¸ö»ò¶à¸ö¶ººÅ(",")ÒÔ¼°¿ÉÑ¡µÄÏßÐÔ°×É«¿Õ¼ä(LWS)¸ô¿ªÁË¡£Õâ¾ÍʹµÃÁбíµÄÒ»°ãÐÎʽ±äµÃ·Ç³£ÈÝÒ×£»Ïñ
( *LWS element) *( *LWS ","*LWS element ))
¾Í¿ÉÒÔ±íʾΪ
1#element
ÎÞÂÛÔÚÄÄÀïʹÓÃÕâ¸ö½á¹¹£¬¿ÕÔªËØ¶¼ÊÇÔªÐíµÄ£¬µ«ÊDz»¼ÆÈëÔªËØ³öÏֵĴÎÊý¡£»»¾ä»°Ëµ£¬¡°(ÔªËØ), , (ÔªËØ) "ÊÇÔÊÐíµÄ£¬µ«Êǽö½öÊÓΪÁ½¸öÔªËØ¡£Òò´Ë£¬ÔÚÖÁÉÙÐèÒªÒ»¸öÔªËØµÄµØ·½£¬±ØÐë´æÔÚÖÁÉÙÒ»¸ö·Ç¿ÕÔªËØ¡£Ä¬ÈÏÖµÊÇ0ºÍÎÞÇî´ó£¬ÕâÑù£¬¡°#element¡±ÔÊÐíÈκÎÊý×Ö£¬°üÀ¨Á㣻¡°1#element¡±ÖÁÉÙÐèÒª1¸öÔªËØ£»¡°1#2element¡±ÔÊÐí1¸ö»ò2¸öÔªËØ¡£

£»×¢ÊÍ
Ó÷ֺÅÒýµ¼µÄ×¢ÊÍ£¬´Ó¹æÔòÕýÎĵÄÓÒ±ßÒ»¶Î¾àÀ뿪ʼֱµ½ÐÐβ¡£ÕâÊÇ×ö×¢Ê͵ļòµ¥·½·¨£¬×¢ÊÍÓë˵Ã÷ÊÇͬÑùÓÐÓõġ£

Òþº¬ *LWS
±¾ËµÃ÷ÊéËùÃèÊöµÄÓï·¨ÊÇ»ùÓÚ×ֵġ£³ý·ÇÌØ±ð×¢Ã÷£¬ÏßÐԿհ׿ɳöÏÖÔÚÈκÎÁ½¸öÏàÁÚ×ÖÖ®¼ä£¨±ê¼Ç»òÒýÓÃ×Ö·û´®£©£¬ÒÔ¼°ÏàÁÚ×ֺͼä¸ô·ûÖ®¼ä£¬²¢²»¸Ä±äÒ»¸öÓòµÄº¬Òå¡£ÈκÎÁ½¸ö±ê¼ÇÖ®¼ä£¨ÏÂÃæ»á¶Ô"token(±ê¼Ç)"½øÐж¨Ò壩±ØÐëÓÐÖÁÉÙÒ»¸ö·Ö¸î·û£¬·ñÔò½«»á±»Àí½âΪµ¥Ò»±ê¼Ç¡£

2£®2»ù±¾¹æÔò

ÏÂÃæµÄ¹æÔòÃèÊöÁË»ù±¾µÄ½âÎö½á¹¹£¬¹á´©ÓÚ±¾ËµÃ÷ÊéµÄÈ«ÎÄ¡£US-ASCII(ÃÀ¹úÐÅÏ¢½»»»±ê×¼Âë)×Ö·û¹æ¶¨ÊÇÓÉANSI X3.4-1986[21]¶¨ÒåµÄ¡£



       OCTET          = <ÈÎÒâ°Ë±ÈÌØµÄÊý¾ÝÐòÁÐ>
       CHAR           = <ÈÎÒâASCII×Ö·û£¨°Ë½øÖÆ 0-127£©>
       UPALPHA        = <ÈÎÒâ´óд×Öĸ"A"..."Z">
       LOALPHA        = <ÈÎÒâСд×Öĸ"a"..."z">
       ALPHA          = UPALPHA | LOALPHA
       DIGIT          = <ÈÎÒâÊý×Ö0£¬1£¬...9>
       CTL            = <ÈÎÒâ¿ØÖÆ×Ö·û(octets 0 - 31)¼°É¾³ý¼üDEL£¨127£©>
       CR             =
       LF             =
       SP             =
       HT             =
       <">            =


HTTP/1.1½«CR LFµÄ˳Ðò¶¨ÒåΪÈκÎЭÒéÔªËØµÄÐÐβ±êÖ¾£¬³ýÁ˱¨ÎÄÒÔÍ⣨¿íËÉÓ¦Óüû¸½Â¼19.3£©.±¨ÎÄÄÚ²¿µÄÐÐβ±êÖ¾ÊÇÓÉËüµÄ¹ØÁªÃ½ÌåÀàÐͶ¨ÒåµÄ£¬Èç3.7½ÚËùÊö¡£

       CRLF           = CR LF

Èç¹ûÑÓ³¤ÏßÓɿոñ»òË®Æ½ÖÆ±í¿ªÊ¼£¬HTTP/1.1 µÄ±¨Í·ÓòÖµ¿ÉÒÔÕÛµþµ½µ½¸´ºÏÏßÉÏ¡£ËùÓеÄ
ÏßÐÔ¿Õ°×£¬°üÀ¨ÕÛµþ£¬¾ßÓÐͬSPÒ»ÑùµÄÓïÒå¡£½ÓÊÕÕßÔÚ½âÊÍÓòÖµ»ò½«ÏûϢתË͵½ÏÂÓÎʱ¿ÉÒÔÓõ¥¸öSPÌæ´úÈκÎÏßÐԿհס£

       LWS            = [CRLF] 1*( SP | HT )

Îı¾¹æÔò½ö½öÊÊÓÃÓÚÃèÊöÓòµÄÄÚÈݺͲ»»á±»ÏûÏ¢Óï·¨·ÖÎö³ÌÐò½âÊ͵ÄÖµ¡£*TESTµÄ×Ö¿ÉÒÔ
°üº¬ISO-8859-1[22]ÀïµÄ×Ö·û£¬Ò²¿ÉÒÔ°üº¬×Ö·û¹æ¶¨ÀïµÄ×Ö·û[14]¡£

       TEXT           = <³ýCTLsÒÔÍâµÄÈÎÒâOCTET£¬µ«°üÀ¨LWS>

Ò»¸öCRLF½ö½öÔÚ×÷Ϊ±¨Í·ÓòÑÓÐøµÄÒ»²¿·Öʱ²ÅÔÚTEXT¶¨ÒåÀïÔÊÐíʹÓá£

Ê®Áù½øÖÆÊý×Ö×Ö·ûÓÃÔÚÊý¸öЭÒéÔªËØÀï¡£

       HEX            = "A" | "B" | "C" | "D" | "E" | "F"
                      | "a" | "b" | "c" | "d" | "e" | "f" | DIGIT


Ðí¶àHTTP/1.1µÄ±¨Í·ÓòÖµÊÇÓÉLWS»òÌØÊâ×Ö·û·Ö¸ôµÄ×Ö¹¹³ÉµÄ¡£ÕâÐ©ÌØÊâ×Ö·û±ØÐë°üº¬ÔÚÒýÓÃ×Ö·û´®À·½¿ÉÓÃÔÚ²ÎÊýÖµ£¨Èç3.6½Ú¶¨Ò壩Àï¡£

       token  £¨±ê¼Ç£©        = 1*<³ýCTLsÓë·Ö¸î·ûÒÔÍâµÄÈÎÒâ CHAR >
       separators£¨·Ö¸î·û£©    = "(" | ")" | "<" | ">" | "@"
                      | "," | ";" | ":" | "\" | <">
                      | "/" | "[" | "]" | "?" | "="
                      | "{" | "}" | SP | HT

ÓÃÔ²À¨ºÅÀ¨ÆðÀ´µÄ×¢ÊÍ¿ÉÒÔ°üº¬ÔÚһЩHTTP±¨Í·ÓòÀï¡£Ö»ÓÐ×÷ΪÓòÖµ¶¨ÒåµÄÒ»²¿·ÖʱעÊͲÅÊÇÔÊÐíµÄ¡£ÔÚÆäËûÓòÀԲÀ¨ºÅÊÓ×÷ÓòÖµµÄÒ»²¿·Ö¡£

       comment £¨×¢ÊÍ£©= "(" *( ctext | quoted-pair | comment ) ")"
       ctext          = <³ý"(" and ")"ÒÔÍâµÄÈÎÒâTEXT >

Ò»¸öÎı¾×Ö·ûÈôÔÚË«ÒýºÅÀÔòµ±×÷Ò»¸ö×Ö¡£

       quoted-string  = ( <"> *(qdtext | quoted-pair ) <"> )
       qdtext         = <³ý<">ÒÔÍâµÄÈÎÒâTEXT >

·´Ð±Ïß("\")¿ÉÒÔÓÃ×÷µ¥Ò»×Ö·ûÒýÓýṹ£¬µ«½öÔÚÒýÓÃ×Ö·û´®»ò×¢ÊÍÀï¡£

       quoted-pair    = "\" CHAR




3 ЭÒé²ÎÊý

3.1 HTTP°æ±¾
¡¡Copyright  [url]www.cnpaf.net[/url] (2007).          All Rights Reserved.

HTTPʹÓÃ"<Ö÷Òª>.<´ÎÒª>"µÄ±àºÅ·½°¸±íʾЭÒé°æ±¾¡£Ð­ÒéµÄ°æ±¾·½ÕëÊÇÏ£ÍûÔÊÐí·¢ËÍÕß±íʾÏûÏ¢µÄ¸ñʽºÍÐÔÄÜÒÔ±ãÀí½â¸üÉîÒ»²ãµÄHTTPͨÐÅ£¬¶ø²»½ö½öÊǵ±Ç°Í¨ÐÅ»ñµÃµÄÌØÕ÷¡£ÏûÏ¢¹¹¼þµÄÔö¼Ó²»Ó°ÏìͨÐŶ¯×÷£¬»ò½ö½öÔö¼ÓÁËÀ©Õ¹ÓòÖµ£¬°æ±¾ºÅ²¢Ã»ÓÐÒò´Ë±ä»¯¡£Ð­ÒéµÄ¸Ä±äÔö¼ÓÁËÒ»Ð©ÌØÕ÷£¬Ã»ÓиıäÒ»°ãµÄÏûÏ¢½âÎö¹æÔò£¬µ«ÊÇÔö¼ÓÁËÏûÏ¢µÄÓïÒå»òÕß°µº¬ÁË·¢ËÍÕßÐÂÔöµÄÐÔÄÜ£¬Õâʱ<´ÎÒª>Êý×Ö±ãÒªÔö´ó¡£µ±Ð­ÒéµÄÏûÏ¢¸ñʽ¸Ä±äʱ£¬<Ö÷Òª>Êý×ÖÔö´ó¡£

HTTPÏûÏ¢µÄ°æ±¾ÔÚÏûÏ¢µÄµÚÒ»ÐÐHTTP-°æ±¾ÓòÀï±íʾ¡£

       HTTP-Version   = "HTTP" "/" 1*DIGIT "." 1*DIGIT

×¢ÒâÖ÷ÒªºÍ´ÎÒªÊý×Ö±ØÐë¿´×÷ÊÇÁ½¸ö·ÖÀëµÄÕûÊý£¬¶þÕß¶¼¿ÉÒÔÔö¼Óµ½±Èµ¥Î»Êý»¹´ó¡£ÕâÑù£¬HTTP/2.4µÄ°æ±¾±ÈHTTP/2.3µÍ£¬ÒÀ´ÎHTTP/2.3µÄ°æ±¾±ÈHTTP/12.3µÍ¡£Ê×λµÄÁã±Ø¶¨±»½ÓÊÕÕߺöÊÓ£¬Ò»¶¨²»Òª·¢ËÍ¡£

Ò»¸ö·¢ËͰüº¬HTTP°æ±¾"HTTP/1.1"µÄÇëÇó»òÓ¦´ðÏûÏ¢µÄÓ¦Ó㬱ØÐëÖÁÉÙÓÐÌõ¼þµÄ·þ´Ó±¾ËµÃ÷Êé¡£ÖÁÉÙÓÐÌõ¼þ·þ´Ó±¾ËµÃ÷ÊéµÄÓ¦ÓÃÓ¦¸ÃÔÚÏûÏ¢ÀïʹÓÃ"HTTP/1.1"µÄHTTP-°æ±¾£¬ÈκÎÓë HTTP/1.0²»¼æÈݵÄÏûÏ¢Ôò±ØÐëÕâÑù×ö¡£¹ØÓÚºÎʱ·¢ËÍÌØÊâµÄHTTP-°æ±¾Öµ£¬¸ü¶à×ÊÁÏÇë²Î¿´
RFC 2145[36].

Ò»ÏîÓ¦ÓõÄHTTP°æ±¾ÊÇÓ¦ÓÃÖÁÉÙÓÐÌõ¼þ·þ´ÓµÄ×î¸ßHTTP°æ±¾.

´úÀíºÍÍø¹Ø×ªË͵ÄÏûÏ¢µÄЭÒé°æ±¾ÓëÓ¦Óð汾²»Í¬Ê±£¬ÐèҪСÐÄ¡£¼ÈȻЭÒé°æ±¾±íʾ·¢ËÍÕßµÄЭÒéÐÔÄÜ£¬´úÀí/Íø¹ØÒ»¶¨²»ÄÜ·¢Ëͱêʾ°æ±¾¸ßÓÚËü±¾ÉíµÄʵ¼Ê°æ±¾µÄÏûÏ¢¡£Èç¹ûÊÕµ½¸ü¸ß°æ±¾µÄÇëÇ󣬴úÀí/Íø¹Ø±ØÐë½µµÍÇëÇóµÄ°æ±¾£¬»òÕß·¢³ö³ö´íÓ¦´ð£¬»òÕßÇл»µ½ËíµÀ¶¯×÷¡£

ÓÉÓÚ×ÔRFC 2068[33]·¢²¼ºó·¢ÏÖµÄHTTP/1.0´úÀíЭͬ¹¤×÷ÎÊÌ⣬¸ßËÙ»º´æ´úÀí±ØÐë£¬Íø¹Ø¿ÉÒÔ£¬ËíµÀ±ØÐë²»½«ÇëÇóÌáÉýµ½ËüÃÇÖ§³ÖµÄ×î¸ß°æ±¾¡£´úÀí/Íø¹ØµÄÓ¦´ðµÄÖ÷Òª°æ±¾ºÅ±ØÐëͬÇëÇóÏàͬ¡£

×¢£ºHTTP°æ±¾µÄת»»¿ÉÄÜ»á°üº¬Ïà¹Ø°æ±¾±ØÐè»ò½ûÖ¹µÄÍ·ÓòÐ޸ġ£

3.2 ͳһ×ÊÔ´±êʶ·û£¨URI£©

URIsµÄÐí¶àÃû×ÖÒÑΪÈËËùÖª£ºWWWµØÖ·,ͨÓÃÎļþ±êʶ·û£¬Í¨ÓÃ×ÊÔ´±êʶ·û[3]£¬ÒÔ¼°×îºóͳһ×ÊÔ´¶¨Î»Æ÷(URL)[4]ºÍͳһ×ÊÔ´Ãû³Æ (URN)[20]µÄ½áºÏ¡£Ö»ÒªÓëHTTPÏà¹Ø£¬Í³Ò»×ÊÔ´¶¨Î»Æ÷Ö»ÊǸñʽ»¯µÄ×Ö·û´®£¬Ëüͨ¹ýÃû³Æ£¬µØÖ·£¬»òÈκαðµÄÌØÕ÷È·¶¨ÁË×ÊÔ´µÄλÖá£


3.2.1 Ò»°ãÓï·¨


¸ù¾ÝʹÓÃʱµÄÉÏÏÂÎÄ£¬HTTPÀïµÄURI¿ÉÒÔ±íʾ³É¾ø¶ÔÐÎʽ»ò»ùÓÚÒÑÖªµÄURIµÄÏà¶ÔÐÎʽ¡£Á½ÖÖÐÎʽµÄÇø±ðÊǸù¾ÝÕâÑùµÄÊÂʵ£º¾ø¶ÔURI×ÜÊÇÒÔÒ»¸öÕªÒªÃû×Ö×÷Ϊ¿ªÍ·£¬ÆäºóÊÇÒ»¸öðºÅ¡£¹ØÓÚURL¸üÏ꾡µÄÐÅÏ¢Çë²Î¿´"ͳһ×ÊÔ´±êʶ·û(URI):Ò»°ãÓï·¨ºÍÓïÒå",RFC 2396 [42](´úÌæÁËRFCs 1738 [4]ºÍRFC 1808 [11]).±¾ËµÃ÷Êé²ÉÓÃÄÇ·Ý˵Ã÷ÊéÀï¹ØÓÚ"URI-Ë÷Òý","¾ø¶ÔURI","Ïà¶ÔURI","¶Ë¿Ú","Ö÷»ú","¾ø¶Ô·¾¶"ºÍ"ȨÁ¦"µÄ¶¨Òå.

HTTPЭÒé²»¶ÔURIµÄ³¤¶È×÷ÊÂÏȵÄÏÞÖÆ.·þÎñÆ÷±ØÐëÄܹ»´¦ÀíËüÃÇ·þÎñµÄÈκÎ×ÊÔ´µÄURI,²¢ÇÒÓ¦¸ÃÄܹ»´¦ÀíÎÞÏÞ³¤¶ÈµÄURI,Èç¹ûËüÃÇÌṩ¿ÉÒÔ²úÉúÕâÖÖURIµÄ»ùÓÚGETµÄÐÎʽ.

×¢:·þÎñÆ÷ÔÚÒÀÀµ³¤ÓÚ255×Ö½ÚµÄURIʱӦ½÷É÷,ÒòΪһЩ¾ÉµÄ¿Í»§»ò´úÀíʵÏÖ¿ÉÄܲ»Ö§³ÖÕâЩ³¤¶È.

3.2.2 http URL

http·½°¸Í¨¹ýHTTPЭÒ鶨³öÍøÂç×ÊÔ´µÄλÖÃ.±¾½Ú¶¨ÒåÁËÕâÖÖ·½°¸-http URLÌØÊâµÄÓï·¨ºÍÓïÒå.
   http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]

Èç¹û¶Ë¿ÚΪ¿Õ»òδ¸ø³ö,¾Í¼Ù¶¨Îª80.ÓïÒå¼´:ÒÑʶ±ðµÄ×ÊÔ´·ÅÔÚ·þÎñÆ÷ÉÏ,ÔÚÄÇ̨Ö÷»úµÄÄǸö¶Ë¿ÚÉϼàÌýTCPÁ¬½Ó,¶Ô×ÊÔ´µÄÇëÇóµÄURIΪ¾ø¶Ô·¾¶ (5.1.2½Ú). ÎÞÂÛʲô¿ÉÄܵÄʱºò,URLÀïʹÓÃIPµØÖ·¶¼ÊÇÓ¦¸Ã±ÜÃâµÄ(²Î¿´RFC 1900 [24]).Èç¹û¾ø¶ÔµØÖ·Ã»ÓгöÏÖÔÚURLÀï,ËüÓÃ×÷¶Ô×ÊÔ´µÄÇëÇóµÄURIʱ±ØÐë×÷Ϊ"/"¸ø³ö.Èç¹û´úÀíÊÕµ½Ò»¸ö²»Êdzä·Ö×ʸñÓòÃûµÄÖ÷»úÃû,Ò»¶¨²»ÄܸıäÖ÷»úÃû.


3.2.3 URI ±È½Ï

µ±±È½ÏÁ½¸öURIÊÇ·ñÆ¥Åäʱ,¿Í»§Ó¦¸Ã¶ÔÕû¸öURI½øÐÐÇø·Ö´óСд,ÒÔ°Ë×Ö½ÚΪµ¥ÔªµÄ±È½Ï.ÒÔÏÂÇé¿öÀýÍâ:

-Ò»¸öΪ¿Õ»òδ¸ø¶¨µÄ¶Ë¿ÚµÈͬÓÚÄǸöURIË÷ÒýÀïµÄĬÈ϶˿Ú;

-Ö÷»úÃûµÄ±È½Ï±ØÐëÊDz»Çø·Ö´óСдµÄ;

-·½°¸ÃûµÄ±È½Ï±ØÐëÊDz»Çø·Ö´óСдµÄ;

-Ò»¸ö¿Õ¾ø¶Ô·¾¶µÈͬÓÚ¾ø¶Ô·¾¶"/".

   Characters other than those in the "reserved" and "unsafe" sets are equivalent to their ""%" HEX HEX" encoding.
³ýÁË"±£Áô"»ò"ΣÏÕ"¼¯ÀïµÄ×Ö·û(²Î¼ûRFC 2396 [42]) ,×Ö·ûµÈͬÓÚËüÃǵÄ""%" HEX HEX"±àÂë.

ÀýÈç,ÒÔÏÂÈý¸öURIÊǵÈͬµÄ:

      [url]http://abc.com:80/~smith/home.html[/url]
      [url]http://ABC.com/~smith/home.html[/url]
      [url]http://ABC.com:/~smith/home.html[/url]


3.3 ÈÕÆÚ/ʱ¼ä¸ñʽ

3.3.1 ÍêÕûÈÕÆÚ

ÀúÊ·ÉϵÄHTTPÓ¦ÓÃÒ»Ö±ÔÊÐíÈýÖÖ²»Í¬µÄ±íʾÈÕÆÚ/ʱ¼äÓ¡¼ÇµÄ¸ñʽ:

      Sun, 06 Nov 1994 08:49:37 GMT  ; RFC 822, updated by RFC 1123
      Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
      Sun Nov  6 08:49:37 1994       ; ANSI C's asctime() format


µÚÒ»ÖÖ¸ñʽÊÇ×÷ΪInternet±ê×¼Ìá³öÀ´µÄ,Ëü±íʾһ¸öÓÉRFC 1123 [8](RFC 822[9]µÄÉý¼¶°æ±¾)¶¨ÒåµÄ¹Ì¶¨³¤¶ÈµÄ×Ó¼¯.µÚ¶þÖÖ¸ñʽʹÓÃ±È½ÏÆÕ±é,µ«ÊÇ»ùÓÚ·ÏÆúµÄRFC 850 [12],ÐèÒª(Ó¦¸Ã)ÓÃËÄλÊý±íʾÄê·Ý.¶ÔÈÕÆÚÖµ½øÐÐÓï·¨·ÖÎöµÄHTTP/1.1¿Í»§ºÍ·þÎñÆ÷±ØÐë½ÓÊÜËùÓÐÈýÖÖ¸ñʽ(ΪÁËͬHTTP/1.0¼æÈÝ),ËäÈ»ËüÃDZØÐëÖ»²úÉúRFC 1123¸ñʽÒÔÔÚÍ·ÓòÀï±íʾHTTPÈÕÆÚÖµ.

×¢:¹ÄÀøÈÕÆÚÖµµÄ½ÓÊÕÕßÔÚ½ÓÊÜ¿ÉÄÜÓÉ·ÇHTTPÓ¦Ó÷¢À´µÄÈÕÆÚֵʱҪ¼á¶¨,ÕâÖÖ·ÇHTTPÓ¦ÓÃÓÐʱÊÇͨ¹ý´úÀí/Íø¹Øµ½SMTP»òNNTP¼ìË÷»òÕÅÌùÏûÏ¢.

ËùÓеÄHTTPÈÕÆÚ/ʱ¼äÓ¡¼Ç¶¼±ØÐëºÁÎÞÀýÍâµÄÒÔ¸ñÁÖÍþÖÎÆ½¾ùʱ¼ä(GMT)±íʾ.ΪÁËHTTP,GMTÍêÈ«µÈͬÓÚUTC(Эµ÷ÊÀ½çʱ¼ä).ÕâÔÚǰÁ½ÖÖÐÎʽÀïÓÃÈý¸ö×ÖĸµÄÊ±ÇøËõд-GMTµÄÔ̺¬À´±íʾ,²¢ÇÒ¶ÁÈ¡ASCʱ¼ä¸ñʽʱ±ØÐëÏȱ»¼Ù¶¨.HTTPÈÕÆÚÇø·Ö´óСд,³ýÁËÔÚÓï·¨ÖÐ×÷ΪSPÌØ±ð°üÀ¨µÄ LWSÍâ,Ò»¶¨²»ÄܰüÀ¨¶îÍâµÄLWS.
       HTTP-date    = rfc1123-date | rfc850-date | asctime-date
       rfc1123-date = wkday "," SP date1 SP time SP "GMT"
       rfc850-date  = weekday "," SP date2 SP time SP "GMT"
       asctime-date = wkday SP date3 SP time SP 4DIGIT
       date1        = 2DIGIT SP month SP 4DIGIT
                      ; day month year (e.g., 02 Jun 1982)
       date2        = 2DIGIT "-" month "-" 2DIGIT
                      ; day-month-year (e.g., 02-Jun-82)
       date3        = month SP ( 2DIGIT | ( SP 1DIGIT ))
                      ; month day (e.g., Jun  2)
       time         = 2DIGIT ":" 2DIGIT ":" 2DIGIT
                      ; 00:00:00 - 23:59:59
       wkday        = "Mon" | "Tue" | "Wed"
                    | "Thu" | "Fri" | "Sat" | "Sun"
       weekday      = "Monday" | "Tuesday" | "Wednesday"
                    | "Thursday" | "Friday" | "Saturday" | "Sunday"
       month        = "Jan" | "Feb" | "Mar" | "Apr"
                    | "May" | "Jun" | "Jul" | "Aug"
                    | "Sep" | "Oct" | "Nov" | "Dec"

×¢Òâ:HTTP¶ÔÈÕÆÚ/ʱ¼äÓ¡¼Ç¸ñʽµÄÇëÇó½ö½öÓ¦ÓÃÔÚЭÒéÁ÷Àï.¿Í»§ºÍ·þÎñÆ÷²»±ØÎªÁËÓû§¼ò±¨,ÇëÇó¼Ç¼¼°ÆäËû¶øÊ¹ÓÃÕâЩ¸ñʽ.

3.3.2 DeltaÃë

һЩHTTPÍ·ÓòÊÕµ½ÏûÏ¢ºó,ÔÊÐíÒÔÊ®½øÖÆÕûÊýÃë±íʾµÄʱ¼äÖµ.
       delta-seconds  = 1*DIGIT

3.4 ×Ö·û¼¯

HTTPʹÓõĹØÓÚÊõÓï"×Ö·û¼¯"µÄ¶¨ÒåºÍMIMEÖÐËùÃèÊöµÄÒ»Ñù.

±¾ÎĵµÖеÄÊõÓï"×Ö·û¼¯"Ö¸Ò»ÖÖÓÃÒ»¸ö»ò¸ü¶à±í¸ñ½«Ò»¸ö°Ë×Ö½ÚÐòÁÐת»»³ÉÒ»¸ö×Ö·ûÐòÁеķ½·¨.×¢ÒâÁíÒ»·½ÏòµÄÎÞÌõ¼þת»»ÊDz»ÐèÒªµÄ,ÔÚÕâÖÖת»»Àï, ²¢²»ÊÇËùÓеÄ×Ö·û¶¼ÄÜÔÚÒ»¸ö¸ø¶¨×Ö·û¼¯ÀïµÃµ½,²¢ÇÒ×Ö·û¼¯¿ÉÄÜÌṩ¶à¸ö°Ë½øÖÆÐòÁбíʾһ¸öÌØ¶¨×Ö·û.Õâ¸ö¶¨Ò彫ÔÊÐí¸÷ÖÖ×Ö·û±àÂ뷽ʽ,´Ó¼òµ¥µÄµ¥±í¸ñÓ³ÉäÈçUS-ASCIIµ½¸´Ôӵıí¸ñ½»»»·½·¨ÈçISO-2022µÄ¼¼ÊõÀïËùʹÓõÄ.È»¶ø,ÓëMIME×Ö·û¼¯Ãû×ÖÏà¹ØÁªµÄ¶¨Ò屨Ðë³ä·Ö˵Ã÷´Ó°Ë×ֽڱ任µ½×Ö·ûËùʵÏÖµÄÓ³Éä.ÌØ±ðµÄ,ʹÓÃÍⲿÂÖÀªÐÅÏ¢À´¾ö¶¨¾«È·Ó³ÉäÊDz»ÔÊÐíµÄ.

×¢:ÕâÀïʹÓõÄÊõÓï"×Ö·û¼¯"¸üÒ»°ãµÄ±»³Æ×÷Ò»ÖÖ"×Ö·û±àÂë".²»¹ý¼ÈÈ»HTTPºÍMIMEʹÓÃͬÑùµÄ×¢²á±í,¹²ÓÃÊõÓïÊǺÜÖØÒªµÄ.

HTTP×Ö·û¼¯Óò»Çø·Ö´óСдµÄ±ê¼Ç±íʾ.ÍêÈ«±ê¼Ç¼¯ºÏÓÉIANA×Ö·û¼¯×¢²á±í[19]¶¨Òå.
       charset = token

¾¡¹ÜHTTPÔÊÐíÓÃÈÎÒâ±ê¼Ç×÷Ϊ×Ö·û¼¯µÄÖµ,ÈκÎÔÚIANA×Ö·û¼¯×¢²á±íÀïÓÐÔ¤ÏÈÈ·¶¨ÖµµÄ±ê¼Ç±ØÐë±íʾ¸Ã×¢²á±í¶¨ÒåµÄ×Ö·û¼¯.¶ÔÄÇЩIANA¶¨ÒåµÄ×Ö·û¼¯,Ó¦ÓÃÓ¦¸ÃÏÞÖÆÊ¹ÓÃ×Ö·û¼¯.

ʵÏÖÕßÓ¦¸Ã×¢ÒâIETF×Ö·û¼¯µÄÒªÇó[38][41].

3.4.1 ʧ×Ù×Ö·û¼¯

һЩHTTP/1.0Èí¼þ½«Ã»ÓÐ×Ö·û¼¯²ÎÊýµÄÄÚÈÝÀàÐÍÍ·´íÎóµÄÀí½âΪ"½ÓÊÕÕßÓ¦¸Ã²Â²Â."Èô·¢ËÍÕßÏ£Íû±ÜÃâÕâÖÖÇé¿ö,¿ÉÒÔ°üº¬Ò»¸ö×Ö·û¼¯²ÎÊý,¼´Ê¹×Ö·û¼¯ÊÇISO-8859-1;µ±ÖªµÀ²»»áʹ½ÓÊÕÕß»ìÏýʱ,Ò²Ó¦¸ÃÕâÑù×ö.

²»ÐÒµÄÊÇ,һЩ¾ÉµÄHTTP/1.0²»ÄÜÊʵ±´¦ÀíÏêϸµÄ×Ö·û¼¯²ÎÊý.HTTP/1.1½ÓÊÕÕß±ØÐëÖØÊÓ·¢ËÍÕßÌṩµÄ×Ö·û¼¯±ê×¢;µ±×î³õÏÔʾÎĵµÊ±£¬ÄÇЩÌṩ"²Â"×Ö·û¼¯·þÎñµÄÓû§´úÀí±ØÐëʹÓÃÄÚÈÝÀàÐÍÓòÖеÄ×Ö·û¼¯£¬Èç¹ûËüÃÇÖ§³ÖÄǸö×Ö·û¼¯£¬¶ø²»ÊǽÓÊÕÕßµÄÊ×Ñ¡Ïî¡£²Î¿´3.7.1½Ú¡£

3.5 ÄÚÈݱàÂë

ÄÚÈݱàÂëÖµ±íʾһÖÖÒѾ­»ò¿ÉÒÔÓ¦ÓÃÓÚʵÌåµÄ±àÂë±ä»»¡£ÄÚÈݱàÂëÖ÷ÒªÓÃÀ´ÔÊÐíÎĵµÑ¹Ëõ£¬»»¾ä»°Ëµ£¬ÓÐЧµÄ±ä»»¶ø²»ËðʧËüµÄ»ù±¾Ã½ÌåÀàÐ͵ÄÌØÐÔ£¬Ò²²»¶ªÊ§ÐÅÏ¢¡£¾­³£µØ£¬ÊµÌåÒÔ±àÂëÐÎʽ´¢´æ,Ö±½Ó´«ËÍ,Ö»ÄÜÓɽÓÊÕÕßÒëÂë.

       content-coding   = token

ËùÓÐÄÚÈݱàÂëÖµ¶¼ÊDz»Çø·Ö´óСдµÄ.HTTP/1.1ÔÚ½ÓÊÕÒëÂë(14.3½Ú)ºÍÄÚÈÝÒëÂë(14.11½Ú)µÄÍ·ÓòÀïʹÓÃÄÚÈݱàÂëÖµ.¾¡¹Ü¸ÃÖµÃèÊöÁËÄÚÈݱàÂë,¸üÖØÒªµÄÊÇËüÖ¸³öÐèҪʲô±àÂë»úÖÆ
À´³ýÈ¥±àÂë.

»¥ÁªÍø¸³Öµ»ú¹¹(IANA)³äµ±ÄÚÈݱàÂëÖµ±ê¼ÇµÄ×¢²á´¦.×î³õ,×¢²á±í°üº¬ÏÂÁбê¼Ç:

  gzip£¨Ñ¹Ëõ³ÌÐò£©
Ò»ÖÖÓÉÎļþѹËõ³ÌÐò"gzip"(GNU zip)---ÈçRFC 1952ËùÃèÊö---Éú³ÉµÄ±àÂë¸ñʽ.ÕâÖÖ¸ñʽÊÇÒ»ÖÖ32λCRC Lempel-Ziv±àÂë(LZ77).   [ÒëÕß×¢]CRC:Ñ­»·ÈßÓàУÑé

   compress£¨Ñ¹Ëõ£©
ÓÉͨÓÃUNIXÎļþѹËõ³ÌÐò"compress"Éú³ÉµÄ±àÂë¸ñʽ.ÕâÖÖ¸ñʽÊÇÒ»ÖÖ¾ßÓпÉÊÊÓ¦ÐÔµÄLempel-Ziv-Welch±àÂë.
¶ÔδÀ´µÄ±àÂëÀ´Ëµ,ÓóÌÐòÃûʶ±ð±àÂë¸ñʽÊDz»¿ÉÈ¡,ÁîÈËÆøÄÙµÄ.ÔÚÕâÀïËûÃǵÄÓô¦ÊÇ×÷ΪÀúʷʵ¼ùµÄ´ú±í¶ø²»ÊǺõķ½°¸.ΪÁËͬÒÔǰµÄHTTPʵÏÖÏà¼æÈÝ,Ó¦ÓÃÓ¦¸Ã½«"x-gzip"ºÍ"x-compress"·Ö±ðµÈͬÓÚ"gzip"ºÍ"compress".
  
   deflate£¨ËõС£©
RFC 1950 [31]¶¨ÒåµÄ"zlib"¸ñʽÓëRFC 1951 [29]ÃèÊöµÄ"deflate"ѹËõ»úÖÆµÄ×éºÏ.

   Identity£¨±êʶ£©
    ȱʡ(±êʶ)±àÂë;ÎÞÂÛÈçºÎ,²»½øÐÐת»¯µÄÓ¦ÓÃ.ÕâÖÖÄÚÈÝÒëÂë½ö±»ÓÃÓÚ½ÓÊÜÒëÂ뱨ͷ,²¢ÇÒ²»Äܱ»ÓÃÔÚÄÚÈݱàÂ뱨ͷ.

  ÐµÄÄÚÈÝÒëÂëÖµµÄ±ê¼ÇÓ¦¸Ã×¢²á;ΪÁËÔÊÐí¿Í»§ºÍ·þÎñÆ÷¼äµÄ»¥ÓÃÐÔ,ÄÚÈÝÒëÂëÔËËãµÄ¹æ·¶ÐèҪʵÏÖÒ»¸ö¿É±»¹«¿ªÀûÓò¢ÄܶÀÁ¢ÊµÏÖµÄÐÂÖµ,²¢ÇÒÓëÕâ½ÚÖÐÄÚÈÝÒëÂ붨ÒåµÄÄ¿µÄÏàÒ»ÖÂ.

3.6  ´«Êä±àÂë

   ´«Êä±àÂëÖµ±»ÓÃÀ´±íʾһ¸öÒѾ­,Äܹ»,»ò¿ÉÄÜÐèÒªÓ¦ÓÃÓÚÒ»¸öʵÌåµÄ±àÂëת»¯,ΪµÄÊÇÄܹ»È·±£Í¨¹ýÍøÂ簲ȫ´«Êä.ÕⲻͬÓÚÄÚÈÝÒëÂë,´«ÊäÒëÂëÊÇÏûÏ¢µÄÌØÐÔ¶ø²»ÊÇԭʼʵÌåµÄÌØÐÔ.
       transfer-coding = "chunked" | transfer-extension
       transfer-extension      = token *( ";" parameter )

   ²ÎÊý²ÉÓÃÊôÐÔ/Öµ¶ÔµÄÐÎʽ.

       ²ÎÊý                   = ÊôÐÔ  "=" Öµ
       ÊôÐÔ                   = ±ê¼Ç
       Öµ                     = ±ê¼Ç  |   ÒýÓÃ-´®£¨quoted-string£©

   ËùÓд«ÊäÒëÂëÖµÊDz»Ö±¹ÛµÄ.HTTP/1.1ÔÚTEÍ·Óò(14.39½Ú)ºÍ´«ÊäÒëÂëÍ·Óò(14.41½Ú)ÔËÓô«ÊäÒëÂë.

   ÎÞÂÛºÎʱһ¸ö´«ÊäÒëÂë¶¼±»Ó¦ÓÃÓÚÒ»¸öÏûÏ¢Ìå,´«ÊäÒëÂëµÄÉèÖñØÐë°üÀ¨"´ó¿é",³ý·ÇÏûÏ¢±»½áÊøÁ¬½ÓÍ£Ö¹.µ±"´ó¿é"´«ÊäÒëÂë±»Ó¦ÓÃʱ,Ëü±ØÐëÊÇÓ¦ÓÃÓÚÏûÏ¢ÌåµÄ×îºó´«ÊäÒëÂë.ÕâЩ¹æÔòÔÊÐí½ÓÊÜ´Ó¶øÈ·¶¨ÏûÏ¢µÄ´«Ê䳤¶È(4.4½Ú)

   ´«ÊäÒëÂëÓëMINE[7]µÄÄÚÈÝ´«ÊäÒëÂëÖµÏàÀàËÆ,Ëü±»¶¨ÒåÄܹ»ÊµÏÖ´«ËÍ·þÎñÆ÷³¬¹ý7λµÄ¶þ½øÖÆÊý¾ÝµÄ°²È«´«Êä.²»¹ý,°²È«´«Êä¶Ô´¿8λ´«ÊäЭÒéÓв»Í¬µÄ½¹µã.ÔÚHTTPÖÐ,ÏûÏ¢ÌåΨһ²»°²È«µÄÌØÐÔÊÇÈ·¶¨È·ÇеÄÌåµÄ³¤¶ÈµÄÕâ¸öÄѵã(7.2.2½Ú),»òÔÚ¹²Ïí´«ÊäÉϼÓÃܵÄÒªÇó.

   ÍøÂç·ÖÅäÊý×ÖȨÍþ(IANA)µ£ÈÎÁË´«ÊäÒëÂëÖµ±ê¼Ç×¢²á´¦µÄ½ÇÉ«.Æð³õ,×¢²á°üº¬Èçϱê¼Ç:"´ó¿é"(3.6.1½Ú),"Éí·Ý"(3.6.2½Ú),"gzip"(3.5½Ú),"ѹËõ"(3.5½Ú),ºÍ"ËõС"(3.5½Ú).

   ÐµĴ«ÊäÒëÂëÖµ±ê¼ÇÓ¦ºÍеÄÄÚÈÝÒëÂëÖµ±ê¼ÇÒÔÏàͬµÄ·½Ê½×¢²á(3.5½Ú).

·þÎñÆ÷½ÓÊÕµ½Ò»¸ö²»ÄÜÀí½âµÄ´«ÊäÒëÂëʵÌåʱӦ·µ»Ø501(²»ÊµÏÖ),²¢ÇÒÇжÏÁªÏµ.·þÎñÆ÷²»ÄÜÏòHTTP/1.0¿Í»§·¢ËÍ´«ÊäÒëÂë.

3.6.1 ³É¿é´«Êä´úÂ루Chunked Transfer Coding£©

   ³É¿é±àÂë¸ü¸ÄÏûÏ¢Ö÷Ìå,ΪµÄÊǽ«ËüÒÔһϵÁдó¿éµÄÐÎʽ´«ËÍ,ÿһ¸öÁ¬Í¬Ëü×Ô¼º³ß´çµÄָʾÆ÷,±»Ò»¸ö°üº¬ÊµÌåÍ·ÓòµÄ¿ÉËæÒâÑ¡ÔñµÄtrailer¸úËæ.ÕâÔÊÐíÓÐÁ¦Á¿µÄµØÉú²úͬ½ÓÊÜËù±ØÐèµÄÏûÏ¢Ò»Æðת»¯µÄÄÚÈÝ,´Ó¶ø¼ìÑéËüÒѾ­»ñµÃÈ«²¿ÏûÏ¢.
       Chunked-Body   = *chunk(´ó¿é)
       ´ó¿é-ÕýÎÄ           last-chunk(×îºó-´ó¿é)
                        trailer(×·×ÙÕß)
                        CRLF

       chunk          = chunk-size [ chunk-extension ] CRLF
        ´ó¿é          =  ´ó¿é-³ß´ç [ ´ó¿é -À©Õ¹]CRLF
                        chunk-data CRLF
                         ´ó¿é-Êý¾Ý CRLF
       chunk-size     = 1*HEX
       ´ó¿éÊý¾Ý
       last-chunk     = 1*("0") [ chunk-extension ] CRLF
        ×îºó-´ó¿é     = 1*("0") [´ó¿é-À©Õ¹]CRLF            

       chunk-extension= *( ";" chunk-ext-name [ "=" chunk-ext-val ] )
       ´ó¿é-À©Õ¹                ´ó¿é-Íⲿ-Ãû³Æ      ´ó¿é-Íⲿ-Öµ
       chunk-ext-name = token
        ´ó¿é-Íⲿ-Ãû³Æ= ±ê¼Ç
       chunk-ext-val  = token | quoted-string
         ´ó¿é-Íⲿ-Öµ = ±ê¼Ç  |  ÒýÓÃ-´®
       chunk-data     = chunk-size(OCTET)
        ´ó¿é-Êý¾Ý     = ´ó¿é -³ß´ç(°Ëλ×Ó½Ú)
       trailer        = *(entity-header CRLF)
        ×·×ÙÕß        = * (ʵÌå-ÁìÏÈ CRLF)

   ´ó¿é³ß´çÓòÊÇÓÃ16½øÖƱíʾ´ó¿é³ß´çµÄÒ»´®Êý×Ö.³É¿é±àÂëÒÔÈÎÒ»³ß´çΪ0µÄ´ó¿é½áÊø,ºó׺ÒÔtrailer,ÒÔÒ»¸ö¿ÕÐÐÖÕÖ¹.

   trailerÔÊÐí·¢ËÍÕßÔÚÏûϢĩβ°üº¬¸½¼ÓµÄHTTPÍ·Óò.trailerÍ·Óò¿É±»Ó¦ÓÃÓÚ¼òҪ˵Ã÷°üº¬trailerµÄÍ·Óò (14.40½Ú)

   Ò»¸ö·þÎñÆ÷ÔÚÓ¦´ðÖÐÔËÓô«ÊäÒëÂëʱ²»ÄÜÔÚÈκÎÍ·ÓòʹÓÃtrailer,³ý·ÇÒÔÏÂÖÁÉÙÒ»ÌõÎªÕæ:
   a)        ÇëÇó°üÀ¨Ò»¸öTEÍ·Óòʱ±íÃ÷"trailer"ÔÚÓ¦´ðµÄ×ªÒÆÒëÂëÖÐÊǿɱ»½ÓÊܵÄ,¾ÍÏñ14.39½ÚÖÐÃèÊöµÄÄÇÑù;»òÕß
   b) ·þÎñÆ÷ÊÇΪÁËÓ¦´ðµÄԭʼ·þÎñÆ÷,trailerµÄÓòÍêÈ«ÓÉËæÒâµÄÔªÊý¾Ý¹¹³É,Õâ¸ö½ÓÊÕÕß¿ÉÒÔÔÚ²»½ÓÊÜÕâ¸öÔªÊý¾ÝµÄÇé¿öÏÂʹÓÃÏûÏ¢(ÔÚÒ»¸öԭʼ·þÎñÆ÷¿É½ÓÊܵķ½Ê½ÖÐ).ÁíÒ»·½Ãæ,ԭʼ·þÎñÆ÷Ô¸Òâ½ÓÊÜtrailerÓò¿ÉÄÜ»áÔÚͨÍù¿Í»§µÄͨµÀÉϱ»Ä¬Ä¬·ÅÆúµÄÕâÖÖ¿ÉÄÜÐÔ.

   µ±ÏûÏ¢±»Ò»¸öHTTP/1.1´úÀíÈ˽ÓÊܲ¢ÇÒ8ת¼ÄÖÁÒ»¸öHTTP/1.0½ÓÊÜÆ÷ʱ,ÕâÖÖÐèÇó·ÀÖ¹ÁËÒ»¸ö»¥ÓÃÐÔµÄʧÎó.Ëü±ÜÃâÁËÒ»¸öÒÀ¾ÝЭÒ齫ʹÔÚ´úÀíÕßÉϰ²ÖÃÒ»¸ö¿ÉÄÜÎÞÏÞ´óµÄ»º³åÆ÷³ÉΪ±ØÒªµÄÇéÐη¢Éú.

   ¶ÔÒ»¸ö´ó¿éÖ÷Ìå½øÐнâÂë´¦ÀíµÄÀý×ÓÒÑÔÚ¸½Â¼19.4.6ÖÐ×÷¹ý½éÉÜ

  ËùÓÐHTTP/1.1Ó¦ÓóÌÐò±ØÐëÄܽÓÊܺͽâÂë"´ó¿é"´«ÊäÒëÂë,²¢ÇÒ±ØÐëºöÂÔËüÃDz»Àí½âµÄ´ó¿éÀ©Õ¹À©Õ¹Ãû.

3.7 ýÌåÀàÐÍ

   ÎªÁËÌṩ¹«¿ªµÄ,¿ÉÀ©Õ¹µÄÊý¾ÝÊäÈëºÍ¹æ·¶Á÷ͨ,HTTPÔÚĿ¼ÀàÐÍ(14.17½Ú)ºÍÈÏ¿É(14.1½Ú)Í·ÓòÖÐÔËÓÃÍøÂçýÌåÀàÐÍ.

       ýÌåÀàÐÍ       = ÀàÐÍ "/" ÑÇÀàÐÍ*(";" ²ÎÊý  )
       ÀàÐÍ           = ±ê¼Ç
       ÑÇÀàÐÍ       = ±ê¼Ç

   ²ÎÊý¿ÉÄÜÔÚÊôÐÔ/ÖµµÄÐÎʽÉÏ×ñÑ­ÀàÐÍ/ÑÇÀàÐÍ.(Èç3.6½Ú¶¨Òå)

   ÀàÐÍ,ÑÇÀàÐÍ,ºÍ²ÎÊýÊôÐÔÃû³ÆÊDz»Ö±¹ÛµÄ.²ÎÊýÖµÖ±¹ÛÓë·ñ,È¡¾öÓÚ²ÎÊýÃû³ÆµÄÒâÒå.
ÏßÐԵİ×É«¿Õ¼ä(LWS)²»Äܱ»ÓÃÓÚÀàÐͺÍÑÇÀàÐÍÖ®¼ä,Ò²²»ÄÜÓÃÓÚÒ»ÖÖÊôÐÔ¼°ËûµÄÖµÖ®¼ä.Ò»¸ö²ÎÊý´æÔÚÓë·ñ¶ÔýÌåÀàÐ͵Ĵ¦ÀíÓÐ×ÅÖØÒªµÄÒâÒå,È¡¾öÓÚËüÔÚýÌåÀàÐÍ×¢²áÖе͍Òå.

  ×¢ÒâһЩ¾ÉµÄHTTPÓ¦ÓÃÈí¼þ²»ÄÜʶ±ðýÌåÀàÐͲÎÊý.ÏòÒ»¸ö¾ÉµÄHTTPÓ¦ÓÃÈí¼þ´«ËÍÊý¾Ýʱ,Ö»Óе±ÀàÐÍ/ÑÇÀàÐ;«È·¶ÈÐèҪʱ,²ÅÄÜʵÏÖýÌåÀàÐͲÎÊý.

   Ã½ÌåÀàÐÍÖµÒѾ­ÔÚÍøÂç·ÖÅäÊýÂëȨÍþ(IANA[19])×¢²á.ýÌåÀàÐ͵Ä×¢²á³ÌÐòÔÚRFC 1590[17]ÖÐÂÔÊö.ʹÓÃδ¾­×¢²áµÄýÌåÀàÐÍÊDz»»áµÃÐÄÓ¦ÊÖµÄ.

3.7.1 ¹æ·¶»¯ºÍÔ­ÎÄȱʡ

   ÍøÂçýÌåÀàÐÍÒÔÓïÑÔµÄÓïÒôµäÐÍÐÎʽע²á.Ò»¸öͨ¹ýHTTPͨѶ´«ÊäµÄʵÌ屨Ðë±»ÒÔÏÈÓÚ´«Ë͵ÄÊʵ±µÄ¹æ·¶µÄÐÎʽÃè»æ,³ý'text'ÀàÐÎÒÔÍâ,¾ÍÏñ϶ζ¨ÒåµÄÄÇÑù.

   µ±Ôڹ淶µÄÐÎʽÖÐ,'text'ÀàÐ͵ÄýÌåÑÇÀàÐÍÔËÓÃGRLF×÷ΪȫÎÄÐеļä¶Ï.HTTP·ÅËÉÁËÕâ¸öÒªÇó,µ±Ò»¸öÍêÕûʵÌå±»¼ä¶ÏÍê³Éʱ,ÔÊÐíÈ«ÎÄýÌåÒÔ¼òµ¥µÄGR»òLF¶ÀÁ¢×÷ΪһÐеĸô¶ÏµÄ´«Êä. ÔÚͨ¹ýHTTP³ÐÈϵÄÔ­ÎÄýÌåÖÐ,×÷Ϊһ¸öÐеļä¶ÏµÄ´ú±í,HTTPÓ¦ÓóÌÐò±ØÐë½ÓÊÜCRLF,¿ÕµÄCR,ºÍ¿ÕµÄLF. ¶øÇÒ,Èç¹ûÔ­ÎÄÔÚÒ»¸öÌØÐÔÉèÖÃÖб»±íÏÖ,ûÓзֱðÓÃ8λ×Ö½Ú13ºÍ10±íʾCRºÍLF,¾ÍÏñijÖÖ¶àÖØ×Ö½ÚÌØÐÔÉèÖÃ,HTTPÔÊÐíʹÓÃÈκα»ÎªÁ˱íÏÖCRºÍ LFÔÚÐмä¶ÏÖеĵÈͬµÄÌØÐÔÉèÖÃËù¶¨ÒåµÄÈκÎ8λ×Ö½Ú´ÎÐò.Õâ¸ö¹ØÓÚÐмä¶ÏµÄÉìËõÐÔ½ö½öÓ¦ÓÃÓÚÔÙÒ»¸öʵÌåÖеÄÔ­ÎÄýÌå;Ò»¸ö¿ÕµÄCR»òLFÔÚÈÎÒâHTTP ¿ØÖƵĽṹÖж¼²»ÄÜ´úÌæCRLF.(ÀýÈçÍ·ÓòºÍ¶à²¿±ß½ç)

   Èç¹ûÒ»¸öʵÌå°ÑÒ»¸öĿ¼ÒëÂëÒë³ÉµçÂë,ÔÚÏÂÃæµÄÒëÂë±ØÐë±»¶¨Òå³ÉÔÚÉÏÃæÏȱ»ÒëÂëµÄÐÎʽ.

   "charset"²ÎÊýºÍһЩýÌåÀàÐÍÒ»ÆðʹÓÃÓÃÀ´¶¨ÒåÊý¾ÝµÄÌØÐÔÉèÖÃ(3.4½Ú).µ±·¢ËÍÕßûÓÐÌṩÇå³þµÄcharset²ÎÊý,ͨ¹ýHTTP½ÓÊÜʱ"text"ÀàÐ͵ÄýÌåÀàÐ;ͱ»¶¨Òå³ÉÓÐÒ»¸öΪ"ISO-8859-1"µÄĬÈÏcharsetÖµ.ÌØÐÔÉèÖõÄÊý¾Ý²»Í¬ÓÚ"ISO-8859-1"»òËüµÄ×Ó¼¯±ØÐë±»±êÒÔÊʵ±µÄcharsetÖµ. ²Î¼û3.4.1½ÚÖмæÈÝÐÔÎÊÌâ.

3.7.2 ¶à²¿·ÖÀàÐÍ£¨Multipart type)

   MIMEÌṩÁËһϵÁÐ"¶àÖØ²¿·Ö"ÀàÐÍ---ÔÚµ¥¸öÏûÏ¢ÌåÄÚÒ»¸ö»ò¶à¸öʵÌåµÄ°ü×°.ËùÓеĶàÖØ²¿·ÖÀàÐ͹²ÏíÒ»¸ö¹«¹²µÄÐòÁÐ,¾ÍÏñRFC 2046µÄ5.1.1½ÚÖж¨ÒåµÄÄÇÑù.
   ±ØÐë°üÀ¨Ò»¸ö×÷ΪýÌåÀàÐÍÖµÒ»²¿·ÖµÄ±ß½ç²ÎÊý.Õâ¸öÏûÏ¢Ìå×Ô³ÉΪһ¸öÒªËØÐ­Òé,Òò´ËÔÚÁ½²¿·Ö¼äÖ»ÄÜÓÃCRLFÀ´±íÏÖÐеļä¶Ï.²»Í¬ÓÚRFC 2046,ÈÎÒ»¶àÖØÏûÏ¢µÄĩβ±ØÐëΪ¿Õ;HTTPÓ¦ÓóÌÐò²»ÄÜ´«ËÍĩβ(¼´Ê¹Ô­Ê¼µÄ¶àÖØ²¿·Ö°üº¬Ò»¸öĩβ).´æÔÚÕâÐ©ÖÆÔ¼ÎªµÄÊDZ£»¤Ò»¸ö¶àÖØ²¿·ÖÏûϢʵÌåµÄ¹ÌÓб¾ÖÊ,½áÊø¶àÖØ²¿·Ö±ß½çÒѾ­ÔÚÏûÏ¢ÌåµÄ"½áβ"¼ÓÒÔ±íÃ÷.

   Í¨³£,HTTP½«Ò»¸öÏûÏ¢ÌåÊÓΪÓëÈÎºÎÆäËûýÌåÀàÐÍÎÞÒì:ÑϸñÈçÓÐЧ¸ºÔØ.µ±ÏûÏ¢Ìå³öÏÖÔÚ206Ó¦´ðʱ,ÓÐÒ»¸öÀýÍâ¾ÍÊÇ"¶àÖØ²¿·Ö/×Ö·û´®"ÀàÐÍ(¸½Â¼ 19.2),½«»á±»Ò»Ð©HTTPÒþ²Ø×°Öôò¶Ï,¾ÍÏñ13.5.4ºÍ14.16½ÚÖÐÃèÊöµÄÄÇÑù.³ý´ËÇé¿öÍâ,Ò»¸öHTTPÓû§´úÀíÓ¦¸Ã×ñÑ­ÓëÒ»¸öMINEÓû§´úÀíÏàͬ»òÏàËÆµÄÐÐΪ,ÔÚ¶àÖØ²¿·ÖÀàÐÍÊÕ¾ÝÖ®ÉÏ.MIMEÍ·ÓòÔÚÒ»¸ö¶àÖØ²¿·ÖÏûÏ¢ÌåµÄÿһ¸ö²¿·ÖÀï,¶Ô³¬¹ýMIMEÒâÒåµÄ¶¨ÒåµÄHTTPûÓÐÈκÎÒâÒå.

  Í¨³£, Ò»¸öHTTPÓû§´úÀíÓ¦¸Ã×ñÑ­ÓëÒ»¸öMINEÓû§´úÀíÏàͬ»òÏàËÆµÄÐÐΪ,ÔÚ¶àÖØ²¿·ÖÀàÐÍÊÕ¾ÝÖ®ÉÏ.Èç¹ûÒ»¸öÓ¦ÓóÌÐòÊÕµ½Ò»¸ö²»ÄÜʶ±ðµÄ¶àÖØ²¿·ÖÑÇÀàÐÍ,Õâ¸öÓ¦ÓóÌÐò±ØÐ뽫ËüÊÓΪÓë"¶àÖØ²¿·Ö/»ìºÏ"ÏàµÈ.

  ×¢:"¶àÖØ²¿·Ö/ÐÎ̬-Êý¾Ý"ÐÎʽÒѱ»ÔÚÊʺÏÓÚͨ¹ýPOSTÇëÇó·½·¨´¦ÀíµÄ´«ËÍÐÎʽÊý¾ÝÃ÷È·¶¨Òå,¾ÍÏñÔÚRFC 1867[15]ÖÐÃèÊöµÄÄÇÑù.

3.8 ²úÆ·±ê¼Ç

   ²úÆ·±ê¼Ç±»ÓÃÀ´³ÐÈÏͨ¹ýÈí¼þÃûºÍÒ뱾ʶ±ðËüÃÇ×Ô¼ºµÄͨѶӦÓÃÈí¼þ.ºÜ¶àÓò»¹°Ñ²úÆ·±ê¼ÇÓÃÓÚÈϿɴμ¶²úÆ·,רҵ²úÆ·¹¹³ÉÓ¦ÓÃÈí¼þÖÐÓÐÖØÒªÒâÒåµÄ²¿·Ö±»Ò»Ò»Áгö,Óð×É«¼ä¸ô·Ö¿ª.°´ÕÕ¹ßÀý,°´²úÆ·¶ÔÓÚʶ±ðÓ¦ÓÃÈí¼þµÄÖØÒªÐÔµÄ˳ÐòÁгöËüÃÇ.

       ²úÆ·           = ±êʾ  ["/" ²úÆ· -°æ±¾]
       ²úÆ·-°æ±¾       = ±êʾ

   Àý:
        Óû§-´úÀí:   CERN-LineMode/2.15 libwww/2.17b3
      ·þÎñÆ÷: Apache/0.8.4
   ²úÆ·±êʾӦÑÔ¼òÒâêà.ËüÃDz»ÄÜÓÃÀ´×ö¹ã¸æ»òÆäËû²»ÖØÒªµÄÐÅÏ¢.ËäÈ»ÈÎÒ»±êʾ¿ÉÄܳöÏÖÔÚ²úÆ·-°æ±¾ÉÏ,µ«Õâ¸ö±êʾ½öÄܱ»ÓÃÀ´×öÒ»¸ö°æ±¾±êʶ(i.e., ͬÀà²úÆ·Öгɹ¦µÄ°æ½öÇø±ðÔÚ²úÆ·ÖµµÄ²úÆ·°æ±¾²¿·Ö£©

3.9 ÖÊÁ¿Öµ(Quality Values)

  HTTPÄÚÈÝÁ÷ͨ(12½Ú)ÔËÓüò¶ÌµÄ"¸¡µã"Êý×ÖÀ´±íÃ÷²»Í¬¿ÉÁ÷ͨ²ÎÊýÖ®¼äµÄÖØÒªÁªÏµ("ÖØÒªÐÔ").Ò»¸öÖØÒªÐÔ´Ó0µ½1¹æ¸ñ»¯ÁËÒ»¸öÕæÊµµÄÊý×Ö,0ÊÇ×îСֵ,ÊÇ×î´óÖµ.Èç¹ûÒ»¸ö²ÎÊýΪ0µÄÖÊÁ¿Öµ,ÄÇôÕâ¸ö²ÎÊýµÄÄÚÈݲ»±»¿Í»§½ÓÊÜ.HTTP/1.1Ó¦ÓÃÈí¼þ²»ÄܲúÉú¶àÓÚСÊýµãºóÈýλÊý×Ö.ÕâЩֵµÄÓû§ÅäÖÃÒ²Ó¦ÊÜÏÞÓÚÕâÖÖ·½Ê½.
       qvalue         = ( "0" [ "." 0*3DIGIT ] )
                      | ( "1" [ "." 0*3("0") ] )

   "ÖÊÁ¿Öµ" ÊÇÒ»¸ö²»µ±µÄÓôÊ,ÒòΪÕâЩֵ½ö½ö±íÏÖÏëÒªµÃµ½µÄÖÊÁ¿ÖеĽµ¼¶¹ØÏµ.

3.10 ÓïÑÔ±ê¼Ç

   Ò»¸öÓïÑÔ±ê¼ÇºÍ×ÔÈ»µÄÓïÑÔÒ»Ñù˵,д,»ò±»ÈËÀàÓÃÓÚÓëÆäËûÈË´«µÝÐÅÏ¢.¼ÆËã»úÓïÑÔÃ÷ÏÔ²»°üÀ¨ÔÚÄÚ.HTTPÔÚÈÏ¿ÉÓïÑÔºÍĿ¼ÓïÑÔÓòÄÚÔËÓÃÓïÑÔ±ê¼Ç.

   HTTPÓïÑÔ±ê¼ÇµÄÓï·¨ºÍ×¢²áÏñRFC 1766[1]Öж¨ÒåµÄÒ»Ñù.×ÜÖ®,Ò»¸öÓïÑÔ±ê¼ÇÊÇÓÉÒ»²¿·Ö»ò¶à²¿·Ö¹¹³É:Ò»¸öÖ÷ÒªÓïÑÔ±ê¼ÇºÍ¿ÉÄÜΪ¿ÕµÄһϵÁÐϱêÇ©.

        ÓïÑÔ±ê¼Ç      = Ö÷Òª±ê¼Ç    *("_"  Ï±êÇ©)
        Ö÷Òª±ê¼Ç   = 1*8ALPHA
      
        Ï±êÇ©        = 1*8ALPHA
      
    ±êÇ©Öв»ÔÊÐí³öÏÖ¿Õ¸ñ£¬±êÇ©¶Ô¸öÀý²»Ãô¸Ð£¨case-insensitive£©.ÓÉIANAÀ´¹ÜÀíÓïÑÔ±ê¼ÇÖеÄÃû×Ö¼ä¸ô.µäÐ͵ıêÇ©°üÀ¨:

       en, en-US, en-cockney, i-cherokee, x-pig-latin

   ÈκÎÁ½¸ö×ÖĸµÄÖ÷Òª±êÇ©ÊÇÒ»¸öISO-639ÓïÑÔµÄËõд,Á½¸ö´óд×ÖĸµÄϱêÇ©ÊÇÒ»¸öISO-3166µÄ¹ú¼Ò´úÂë.(ÉÏÃæµÄ×îºóÈý¸ö±êÇ©ÊÇδ¾­×¢²áµÄ±êÇ©;³ý×îºóÒ»¸öÖ®ÍâËùÓж¼ÊÇ¿ÉÔÚ½«À´×¢²áµÄÀý×Ó±êÇ©).

3.11 ʵÌå±êÇ©

   ÊµÌå±êÇ©ÓÃÀ´´ÓÏàͬÇëÇó×ÊÔ´ÖбȽÏÁ½¸ö»ò¸ü¶àʵÌå.HTTP/1.1ÔÚEtag(14.19½Ú),If-match(14.24½Ú),If-None- match(14.26½Ú),ºÍIf-rang(14.27½Ú)Í·ÓòÖÐÔËÓÃʵÌå±êÇ©.¹ØÓÚËüÃÇÔõÑùÏñ¸ßËÙ»º³å´æ´¢Æ÷È·ÈÏÒ»ÑùʹÓúͱȽϵĽâÊÍÔÚ 13.3.3½ÚÖÐ.Ò»¸öʵÌå±êÇ©ÓÉÒ»¸ö¸ø¶¨µÄ²»Í¸Ã÷µÄÒ»ÐÐ×é³É,¿ÉÄܼÓÉÏÒ»¸öÐéÈõָʾÆ÷µÄǰ׺.

      entity-tag = [ weak ] opaque-tag
      weak       = "W/"
      opaque-tag = quoted-string

   Ò»¸ö"¼á¹ÌµÄ(strong)ʵÌå±êÇ©"ÔÚÁ½¸öʵÌå°Ëλ×Ó½ÚÏàµÈʱ¿ÉÄܻᱻһ¸ö×ÊÔ´ÀïµÄÁ½¸öʵÌå¹²Ïí.

   Ò»¸ö"ÐéÈõ(weak)µÄʵÌå±êÇ©",ÓÉ"W/"ǰ׺±íʾ,ÔÚʵÌåÏàµÈÇÒ¿ÉÒÔ»¥ÏàÌæ´ú¶øÔÚÓïÒåÉϲ»·¢ÉúÖØ´óµÄ±ä¶¯Ê±,¿ÉÄܻᱻһ¸ö×ÊÔ´Á¦µÄÁ½¸öʵÌå¹²Ïí.Ò»¸öÐéÈõµÄʵÌå±êǩֻÄÜÔÚÐéÈõ¶Ô±ÈʱʹÓÃ.

   Ò»¸öʵÌå±êÇ©±ØÐëÔÚËùÓÐÓëÒ»¸öÌØÊâ×ÊÔ´ÏàÁ¬ÏµÊµÌåµÄÒë±¾ÖÐÊǶÀÒ»ÎÞ¶þµÄ.Ò»¸ö¸ø¶¨µÄʵÌå±êǩֵ¿ÉÒÔ±»²»Í¬µÄURIÇëÇóÓÃÀ´»ñµÃʵÌå.ÏàͬʵÌå±êǩֵÔÚ²»Í¬URIÇëÇó»ñµÃʵÌåµÄÁªºÏÖеÄÔËÓò»Òâζ×ÅÄÇЩʵÌåµÄµÈͬ.

3.12 ·¶Î§µ¥Î»(Range Units)

    HTTP/1.1ÔÊÐíÒ»¸ö¿Í»§ÒªÇóµ¥¶À²¿·ÖµÄÓ¦´ðʵÌå±»°üÀ¨ÔÚÓ¦´ðÄÚ.HTTP/1.1ÔÚ·¶Î§(14.35½Ú)ºÍĿ¼·¶Î§Í·Óò(14.16½Ú)ÔËÓ÷¶Î§µ¥Î».Ò»¸öʵÌå¿É¸ù¾Ý²»Í¬µÄ½á¹¹µ¥Î»·Ö½â³É×ÓÇøÓò.

       ·¶Î§-µ¥Î»       = ×Ö½Ú-µ¥Î» |  ÆäËû-·¶Î§-µ¥Î»
      ×Ö½Ú-µ¥Î»        =  "×Ö½Ú"
      ÆäËû-·¶Î§-µ¥Î»   = ±ê¼Ç

   HTTP/1.1Öж¨ÒåµÄΨһµÄ·¶Î§µ¥Î»ÊÇ"×Ö½Ú".HTTP/1.1ʵÏÖʱ¿ÉÄܺöÂÔÆäËûµ¥Î»Ö¸¶¨µÄ·¶Î§¡£
   HTTP/1.1µÄÉè¼ÆÔÊÐíÓ¦ÓÃÈí¼þ²»ÒÀ¿¿Óйط¶Î§µÄ֪ʶ¶øÊµÏÖ


4 HTTPÏûÏ¢

¡¡Copyright  [url]www.cnpaf.net[/url] (2007).          All Rights Reserved.

4.1  ÏûÏ¢ÀàÐÍ

      HTTPÏûÏ¢ÓÉ´Ó¿Í»§µ½·þÎñÆ÷µÄÇëÇóºÍ´Ó·þÎñÆ÷µ½¿Í»§µÄ»Ø´ð×é³É.
              HTTP-ÏûÏ¢ = ÇëÇó|»Ø´ð ;HTTP/1.1 ÏûÏ¢
       ÇëÇó(µÚÎå½Ú)ºÍ»Ø´ð(µÚÁù½Ú)µÄÏûÏ¢ÊÇÓÃÒ»°ãµÄÏûÏ¢¸ñʽRFC 822[9]À´´«ÊäʵÌåµÄ(ÏûÏ¢µÄÓÐÐ§ÔØºÉ).ÕâÁ½ÖÖÏûÏ¢¶¼ÊÇÓÉ¿ªÊ¼ÐÐ,Áã»òÕ߸ü¶àµÄÍ·Óò(Ò²½Ð×öÍ·),ÏóÕ÷Í·½áÊøµÄ¿ÕÐÐ(Æ©Èç˵һ¸öÖ»Óлسµ×Ö·ûµÄÐÐ)×é³É,ÓÐʱ¿ÉÄÜ»áÓÐÒ»¸öÐÅÏ¢Ìå.
       Ò»°ãµÄÏûÏ¢=¿ªÊ¼ÐÐ
                  *(ÏûϢͷ CRLF)
                  CRLF
                   [ÏûÏ¢µÄÄÚÈÝ]
       ¿ªÊ¼ÐР   =ÇëÇóÐÐ|״̬ÐÐ
       ΪÁ˽¡×³ÐÔ,·þÎñÆ÷±ØÐëÔÚÆÚÍûÊÕµ½ÒªÇóÐеĵط½ºöÂÔÈκνÓÊÕµ½µÄ¿ÕÐÐ.»»¾ä»°Ëµ,Èç¹û·þÎñÆ÷ÔÚ¶ÁÒ»ÌõÐÅÏ¢¿ªÊ¼µÄЭÒéÁ÷ʱÏÈÊÕµ½ÁËCRLF,Ëü±ØÐëºöÂÔÕâ¸öCRLF.
       Ò»°ãÒ»¸öÓÐÎÊÌâµÄHTTP/1.0¿Í»§¶ËÔÚPOSTÇëÇóºó»á²úÉú¶îÍâµÄCRLF.ΪÁËÖØÊöʲôÊÇBNFÃ÷È·½ûÖ¹µÄ,Ò»¸öHTTP/1.1¿Í»§¶ËûÓбØÒª¿ªÊ¼ºÍ¸úËæÒ»¸ö¶îÍâµÄCRLFµÄÇëÇó.

4.2 ÏûϢͷ
     HTTPÍ·Óò°üÀ¨³£¹æÍ·(4.5½Ú)ÇëÇóÍ·(5.3½Ú),Ó¦´ðÍ·(6.2½Ú)ºÍʵÌåÍ·(7.1½Ú)Óò,ËüÃÇ×ñÑ­RFC822[0]3.1½ÚÖиø³öµÄͬһ¸ö³£¹æµÄ¸ñʽ.ÿһ¸öÍ·ÓòÓÉÒ»¸ö½ô¸ú":"µÄÃû×ÖºÍÓòÖµ¹¹³É.ÓòÃûÊÇ´óСд²»Ãô¸ÐµÄ.ÓòÖµ¿ÉÄÜÔÚÈκÎLWSµÄÇ°Ãæ,¾¡¹Üµ¥¸öµÄSPÊÇÊ×ÏȵÄ.Í·ÓòÄÜͨ¹ý°Ñ¸÷¸ö¶îÍâÐÐ(ÖÁÉÙÓÐÒ»¸öSP»òHT)ǰÖÃÀ´À©Õ¹³É¶àÐÐ.µ±²úÉúHTTP½á¹¹µÄʱ,Ó¦ÓñØÐë×ñÑ­"¹²Í¬¸ñʽ",ÄǶùËü±»ÖªµÀ»ò¶¨Òå,¼´Ê¹ÓÐʱ´æÔÚһЩ²»ÄܽÓÊÜÈκζ«Î÷µÄ²Ù×÷.

  ¹²Í¬µÄ¸ñʽ.

ÏûÏ¢-Í·=ÓòÃû":"[ÓòÖµ]
ÓòÃû=¼ÇºÅ
ÓòÖµ=*(ÓòµÄÄÚÈÝ|LWS)
ÓòµÄÄÚÈÝ=<ÓɰËλµÄ×Ö½Ú¹¹³ÉÓòÖµ,ËüÓÉÎı¾»ò×éºÏ±ê¼Ç,·Ö¸î·û,ºÍÒýÓõÄ×Ö·û´®×é³É>

Õâ¸öÓòµÄÄÚÈݲ»°üÀ¨ÈκÎÒýµ¼µÄ»òÁ¬½ÓµÄLWS:λÓÚÓòÄÚÈÝÊôÐԵĵÚÒ»¸ö²»Êǿհ׵ĵط½µÄÇ°Ãæ»ò×îºñµÄ²¼Êǿհ׵ĵط½µÄºóÃæ.È¥µôÕâЩÒýµ¼»òÁ¬½ÓµÄLWS¿ÉÄܲ»»áÓ°ÏìÓòÄÚÈݵÄÒâ˼,ÈκÎλÓÚÓòÄÚÈÝÖ®¼äµÄLWSÔÚ½âÊÍÓòµÄÄÚÈÝ»ò´«ËÍÏûÏ¢µÄÏÂÔØÁ÷µÄʱºò¿ÉÒÔÓõ¥¸öµÄSPÌæ»».
Óò»Í¬ÓòÃûÊÕµ½µÄÍ·ÓòµÄ˳Ðò²»ÊÇÖØÒªµÄ.µ«ÊÇ,Ò»¸öºÃµÄϰ¹ßÊÇÏÈËͳ£¹æÍ·,½Ó×ÅÊÇÇëÇóÍ·»òÓ¦´ðÍ·,×îºóÊÇʵÌåÍ·Óò.

¶à¸öÏûϢͷÓòʹÓÃͬһ¸öÓò¿ÉÄÜ»á³öÏÖÔÚһЩÏûÏ¢ÖÐ,ÔÚÕâЩÏûÏ¢ÖÐ,¿ÉÄÜÒ²Ö»¿ÉÄÜÊÇÕû¸öÓòÓöººÅ·Ö¸îµÄÁÐ±í¶¨Òå(ÀýÈç,#(Öµ)).ÕâЩ±ØÐëÓпÉÄÜÔÚûÓиıäÏûÏ¢µÄÇé¿öϱ»×éºÏ³ÉÒ»¸ö"ÓòÃû:ÓòÖµ"¶Ô,ÔÚÕâЩ±»¶ººÅ¸ô¿ªµÄÓòÖкóÃæµÄÓòÖ²±»Ìí¼Óµ½µÚÒ»¸öÓòÖÐ.ÄÇЩÓÃͬһ¸öÓòÃû×é³ÉÒ»¸öÍ·ÓòµÄ˳ÐòÊÇÖØÒªµÄ,Òò´Ëµ±Ò»¸öÏûÏ¢ÔÚ´«ÊäµÄʱºò´úÀíÒ»¶¨²»ÄܸıäÕâЩÓòÖµµÄ˳Ðò.

4.3 ÏûÏ¢Ìå

  HTTPÏûÏ¢µÄÏûÏ¢Ì屸ÓÃÓÃÀ´´«ÊäÓÉÒªÇóºÍÓ¦´ð×é³ÉµÄʵÌå.ÕâЩÏûÏ¢Ìå½ö½öµ±´«ÊäÒëÂë±»Ó¦ÓõÄʱºò²ÅºÍʵÌ岻ͬ,ÕâÓô«Êä±àÂëµÄÍ·Óò±êÃ÷(14.41½Ú).

     ÏûÏ¢Ìå=ʵÌå|<±àÂëµÄʵÌå>

´«Êä±àÂë³£ÓÃÀ´±íʾÄÇЩӦÓóÌÐòΪÁ˰²È«ºÍ±£Ö¤ÏûÏ¢µÄÕýÈ·´«ÊäµÄ´«ÊäÂë.´«Êä±àÂëÊÇÒ»ÖÖÏûÏ¢µÄÊôÐÔ¶ø²»ÊÇʵÌå,Òò´ËÑØ×ÅÇëÇó/Ó¦´ðÁ´Ëü¿ÉÒÔ±»ÈκÎÓ¦ÓóÌÐò¼ÓÉÏ»òÈ¥µô.

   µ±Ò»¸öÏûÏ¢ÖÐÔÊÐíÓÐÏûÏ¢ÌåʱµÄ¹æÔòºÍÇëÇóÓ¦´ðʱµÄ²»Ò»Ñù.

   Ò»¸öÇëÇóµÄÏûÏ¢ÌåÊÇÓÃÀ´´«´ïÄÚÈݳ¤¶È»òÇëÇó´«Êä±àÂëÍ·µÄ´«Êä±àÂëÍ·ÓòµÄÐÅÏ¢.Èç¹ûÇëÇó·½Ê½µÄ¹æ·¶²»ÔÊÐíÇëÇóÖмÓÈëʵÌåÔòÒ»¸öÇëÇóÖÐÒ²±ØÐë²»ÄܰüÀ¨ÏûÏ¢Ìå. Ò»¸ö·þÎñÆ÷±ØÐë¶ÁºÍ´¦ÀíÈκÎÇëÇóµÄÏûÏ¢Ìå;Èç¹ûÇëÇó·½·¨Ã»Óж¨ÒåÒ»¸öʵÌåµÄ±íÊö,Ôòµ±´¦ÀíÕâ¸öÇëÇóÊDZØÐëºöÂÔÏûÏ¢Ìå.

   ¶ÔÓÚÓ¦´ðÏûÏ¢,Ò»¸öÏûÏ¢ÊÇ·ñ°üÀ¨ÏûÏ¢ÌåÒÀÀµÓÚÇëÇóµÄ·½·¨ºÍÓ¦´ðµÄ״̬´úÂë(6.1.1½Ú).¶ÔÓÚËùÓÐÍ·ÇëÇó·½·¨µÄÓ¦´ð¶¼²»ÄܰüÀ¨ÏûÏ¢Ìå,¼´Ê¹ÓÐʱʵÌåÍ·ÓòµÄ´æÔÚÈÃÈËÏàÐÅËüÃǰüÀ¨ÁË.ËùÓÐ1XX(ÐÅÏ¢µÄ),204(ÎÞÄÚÈݵÄ),ºÍ304(ûÓÐÐ޸ĵÄ)µÄÓ¦´ð¶¼²»ÄܰüÀ¨ÏûÏ¢Ìå.ËùÓÐÆäËûµÄÓ¦´ð±ØÐë°üÀ¨ÏûÏ¢Ìå, ËäÈ»Ëü¿ÉÄܳ¤¶ÈΪÁã.

4.4 ÏûÏ¢µÄ³¤¶È

     Ò»ÌõÏûÏ¢µÄ´«Ê䳤¶ÈÊÇÏûÏ¢Ìå³öÏÖÔÚÏûÏ¢Öеij¤¶È,Ò²¾ÍÊÇ˵,µ±´«Êä´úÂë±»´¦ÀíÒÔºó.µ±Ò»ÌõÏûÏ¢°üº¬ÏûÏ¢Ìå,ʵÌåµÄÊ䳤¶ÈÓÐÒÔϼ¸Ìõ¾ö¶¨(ÒÔÏȺó˳Ðò):

     1¡£ÈκλØÓ¦ÐÅÏ¢²»Ó¦°üº¬ÔÚÐÅÏ¢ÌåÖУ¬Èç1xx£¬204,304»ØÓ¦ºÍÈκζÔÍ·ÇëÇóµÄ»ØÓ¦¡£ÕâÖÖÇé¿ö¶¼ÊÇÔÚÍ·Óò½áÊøºóµÚÒ»ÐÐΪ¿Õ°×ÐÐ,²»¹ÜʵÌåÓòÊÇ·ñ³öÏÖ¡£

     2¡£´«Êä´úÂëÍ·Óò(ÊôÓÚgeneral-headerÓò)³öÏֵϰ¶øÇÒÓÐÖµ¶ø²»ÊÇÉí·Ý£¬ÄÇô´«Ê䳤¶È¾Í¿ÉÒÔʹÓÃchunked´ó¿éÀ´È·¶¨£¬³ý·ÇÐÅÏ¢ÓÉÓÚÁ¬½Ó¹Ø±Õ¶øÖжÏÁË.

     3¡£Èç¹ûContent-LengthÍ·Óò(ÊôÓÚʵÌåÍ·)³öÏÖ£¬ÄÇôËüµÄÖµÊÇÐÅÏ¢Ìå´«Ê䳤¶È¡£Èç¹û´«ÊäÍ·ÓòºÍContent-LengthÍ·Óò¶¼³öÏÖÁË£¬¶ø³¤¶È²»Ò»Ö£¬ÄÇôContent-LengthÍ·ÓòÖеÄÖµ¾Í²»¸Ã´«¡£

     4¡£Èç¹û±»1.0´úÀí´«Ë͵ķ¶Î§Í·Óò²»ÄÜÀí½â¶à²¿·Ý/λ·¶Î§£»·þÎñÆ÷±ØÐë²ÉÓÃ1£¬2£¬3µÄ·½Ê½½ç¶¨ÐÅÏ¢Ì峤¶È¡£

     5¡£µ±·þÎñÆ÷ÕýÔڹرÕÁ¬½Ó.(ÕýÔڹرÕÁ¬½Ó²»ÄÜÓÃÀ´ËµÃ÷Ó¦´ðÌåµÄ½áÊø,ÒòΪËü½«µ¼Ö·þÎñÆ÷ûÓпÉÄÜËÍ»ØÒ»¸öÓ¦´ðÐźÅ.)

ΪÁËÓëHTTP/1.0Ó¦ÓóÌÐò¼æÈÝ,HTTP/1.1ÇëÇó°üº¬µÄÏûÏ¢Ì屨Ðë°üÀ¨Ò»¸öÓÐЧÄÚÈݳ¤¶ÈµÄÍ·Óò,³ý·ÇÖªµÀ·þÎñÆ÷ÊÊÓ¦HTTP/1.1.Èç¹ûÒ»¸öÇëÇó°üº¬Ò»¸öÏûÏ¢Ì岢ûÓиø³öÄÚÈݳ¤¶È,ÄǸö·þÎñÆ÷»áÓ¦´ð400(´íÎóµÄÇëÇó)Èç¹ûËû²»ÄÜÅжÏÏûÏ¢³¤¶ÈµÄ»°,»òÕßÓ¦´ð411(ÒªÇó³É¶¼)Èç¹ûËü¼á³ÖÏëÒªÊÕµ½Ò»¸öÓÐЧÄÚÈݵij¤¶È.

ËùÓеÄHTTP/1.1Ó¦ÓóÌÐò±ØÐë½ÓÊÜ"CHUNKED"´«Êä´úÂë(3.6½Ú),Òò´ËÔÊÐíÕâÖÖ»úÖÆÀ´´¦ÀíÏûÏ¢µ±ÏûÏ¢µÄ³Ì¶È²»Äܱ»¾ö¶¨.

ÏûϢûÓбØÒª¶¼²»°üÀ¨ÄÚÈݳ¤¶ÈÍ·ÓòºÍnon-identity´«Êä´úÂë.Èç¹ûÏûÏ¢°üÀ¨ÁËÒ»¸önon-identity´«Êä´úÂë,´«Ê䳤¶È±ØÐëºöÂÔ.

µ±Ò»¸öÄÚÈݵij¤¶ÈÔÚÏûÏ¢ÌåÔÊÐíµÄµØ·½¸ø³öʱ,Õâ¸öÓòÖµ±ØÐëºÍÏûÏ¢ÌåÖа˽øÖÆÊýÒ»ÖÂ.HTTP/1.1Óû§´úÀí±ØÐëͨ±¨Ê¹ÓÃÕßµ±Ò»¸öÎÞЧµÄ³¤¶È±»½ÓÊܺͷ¢ÏÖ.

4.5 ³£¹æÍ·Óò

   Õâ¶ùÓÐһЩͷÓòÄÜÊÊÓ¦Ò»°ãµÄÇëÇóºÍÓ¦´ðÏûÏ¢,µ«ÊÇËüûÓÐÓ¦ÓÃÓæ´¬Ê÷ÖÖµÄʵÌå.ÕâЩͷÓòÖ»Ó¦ÓÃÓÚÄÇЩ±»·¢ÉäµÄÏûÏ¢.

     ³£¹æµÄÍ·Óò=¸ßËÙ»º´æ¿ØÖÆ         ;14.9½Ú
                |Á¬½Ó         ;14.10½Ú
                |Êý¾Ý         ;14.18½Ú
                |³ÌÐò         ;14.32½Ú
                |×·×Ù         ;14.40½Ú
                |´«Êä±àÂë     ;14.41½Ú
                |Éý¼¶         ;14.42½Ú
                |·ÓÉ         ;14.45½Ú
                ¾¯¸æ          ;14.46½Ú

   ³£¹æÍ·ÓòµÄÃû×ÖµÄÕæÕýÀ©Õ¹±ØÐëºÍЭÒé°æ±¾µÄ±ä»¯Ïà½áºÏ¡£È»¶ø£¬ÐµĻòʵÑéÐÔÖʵÄÍ·Óò¿ÉÄܱ»¸³Óè³£¹æÍ·ÓòµÄÒâÒ壬Èç¹ûÐÅÏ¢´«ÊäÖеÄËùÓв¿·Ö¶¼³ÐÈÏËüÃÇΪ³£¹æÍ·ÓòµÄ»°£¬Î´±»³ÐÈϵÄÍ·ÓÚÒ»°ãµ±ÊµÌåÍ·Óò¿´´ý¡£


5 ÇëÇó

´Ó¿Í»§»úµ½·þÎñÆ÷µÄÇëÇó,ÆäÊ×ÐаüÀ¨ÀûÓÃ×ÊÔ´µÄ·½Ê½,Çø·Ö×ÊÔ´µÄ±êʶ,ÒÔ¼°Ð­ÒéµÄ°æ±¾ºÅ
ÇëÇó   =ÇëÇóÐР                      ;  5.1½Ú
       *((³£¹æ±¨Í·                    ;  4.5½Ú
         |ÇëÇó±¨Í·                    ;  5.3½Ú
         ÊµÌ屨ͷ)CRLF)              ;  7.1½Ú
           CRLF        
         [ÏûÏ¢ÕýÎÄ]                   ;  4.3½Ú

5.1 ÇëÇóÐÐ

   ÇëÇó-ÐеĿªÍ·ÊÇ·½·¨±êʶ,½ÓÏÂÀ´ÊÇÇëÇóURLºÍЭÒé°æ±¾ºÅ,ÒԻسµ»»ÐнáÊø.¸÷²¿·ÖÖ®¼äÓÿոñ·û(SP)·Ö¸ô,³ýÁË×îºóµÄ»Ø³µ»»ÐÐÍâ,²»ÔÊÐíÓлسµ(CR)ºÍ»»ÐÐ(LF).

       ÇëÇó-ÐР ==·½Ê½(¿Õ¸ñ) ÇëÇóURI(¿Õ¸ñ)  HTTP°æ±¾ºÅ(»Ø³µ»»ÐÐ)

5.1.1·½·¨

  ·½·¨±ê¼ÇÖ¸µÄÊÇÔÚÇëÇóURIËùÖ¸¶¨µÄ×ÊÔ´ÉÏËùʵÏֵķ½Ê½,ÕâÖÖ·½Ê½ÊÇÌõ¼þÃô¸ÐµÄ

Method     = "OPTIONS"                     ;9.2½Ú
             | "GET"                        ;9.3½Ú
             | "HEAD"                       ;9.4½Ú
             |"POST"                        ;9.5½Ú
             |"PUT"                         ;9.6½Ú
             |"DELETE"                      ;9.7½Ú
             |"TRACE"                       ;9.8½Ú
             |"CONNECT"                     ;9.9½Ú
             | À©Õ¹·½Ê½(extension-method)

À©Õ¹·½Ê½=   ±ê¼Ç

×ÊÔ´ÔÊÐíµÄ·½·¨ÁбíÄÜÓÉÔÊÐí(Allow)±¨Í·ÓòÏêϸָ¶¨£®¼ÈÈ»±»ÔÊÐí·½·¨µÄÉèÖÿÉÒÔ¶¯Ì¬µÄ¸Ä±ä,·µ»ØµÄÓ¦´ðÂë×ÜÊÇ֪ͨ¿Í»§»úµ±Ç°·½·¨ÊÇ·ñ±»ÔÊÐí. Èç¹ûÔ­·þÎñÆ÷ÖªµÀ·½·¨£¬µ«·½·¨²»±»ÇëÇóµÄ×ÊÔ´ÔÊÐí£¬Ô­·þÎñÆ÷Ó¦µ±·µ»Ø×´Ì¬Âë405(·½·¨²»ÔÊÐí)£®Èç¹û·½·¨²»±»Ô­·þÎñÆ÷³ÐÈϺÍʵÏÖ,Ô­·þÎñÆ÷Ó¦µ±·µ»Ø×´Ì¬Âë501(ûÓÐʵÏÖ£©.»ñÈ¡(GET)ºÍ±¨Í·(HEAD)·½·¨Ó¦µ±±»ËùÓеĶ๦ÄÜ·þÎñÆ÷Ö§³Ö£®ÆäËûËùÓеķ½·¨ÊÇ¿ÉÑ¡µÄ£¬È»¶ø£¬¼ÙÈôÒÔÉϵķ½·¨Ã»ÓÐʵÏÖ£¬ÔòËûÃDZØÐë±»ÔÚµÚ¾ÅÕÂÀïËù˵Ã÷µÄͬһÖÖÓï·¨¶¨ÒåËùʵÏÖ£®

5.1.2 ÇëÇóURL

¡¡¡¡ÇëÇóURLÊÇÒ»ÖÖÈ«ÇòͳһµÄÓ¦ÓÃÓÚ×ÊÔ´ÇëÇóµÄ×ÊÔ´±êʶ·û£¨£³.2 ½Ú£©£®
¡¡
¡¡¡¡¡¡¡¡ÇëÇóURL   ="*"|¾ø¶ÔURL|¾ø¶Ô·¾¶|Ö÷»úauthotity

ÇëÇóURIµÄËĸöÑ¡ÏîÔÚÒ»°ãÇé¿öÏÂÊÇ»¥Ïà¹ØÁªµÄ,ÐǺÅ"*"±íʾÇëÇó²»ÊÇÓ¦ÓÃÓÚijÖÖÌØ±ðµÄ×ÊÔ´,¶øÊÇ·þÎñÆ÷±¾Éí,Ö»Óе±ËùÓõķ½·¨²»ÊÇ×ÊÔ´±ØÒªµÄ·½·¨²ÅÊÇÔÊÐíµÄ.¾ÙÀýÈçÏÂ

             Ñ¡Ïî(OPTIONS)*HTTP/1.1

µ±´úÀí·þÎñÆ÷²úÉúÇëÇóʱ£¬¾ø¶ÔURIµØÖ·ÊDz»¿ÉȱÉٵģ®´úÀí·þÎñÆ÷±»ÒªÇóת¼ÄÀ´×Ô¸ßËÙ»º³å´æ´¢Æ÷ÓÐЧµÄÇëÇó»ò·þÎñ,·µ»ØÓ¦´ð£®×¢Òâµ½´úÀí·þÎñÆ÷¿ÉÒÔ°ÑÇëÇóת·¢¸øÁíһ̨´úÀí·þÎñÆ÷»òÖ±½Óת·¢¸ø¾ø¶ÔURIµØÖ·ËµÃ÷µÄ·þÎñÆ÷£®ÎªÁ˱ÜÃâÇëÇóÑ­»·£¬´úÀí·þÎñÆ÷±ØÐëʶ±ðËùÓеķþÎñÆ÷Ãû×Ö£¬°üÀ¨ÈκαðÃû£¬±¾µØ±äÒìÃû£¬Êý×ÖIPµØÖ·£®ÇëÇóÐоÙÀýÈçÏ£º
¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡£ÇET  [url]http://www.w3.org/pub/www/TheProject.html[/url]  HTTP/1.1

ΪÁËÔÚδÀ´µÄHTTP°æ±¾µÄËùÓÐÇëÇóÖÐת»»¾ø¶ÔURLµØÖ·£¬ËùÓлùÓÚ£ÈTTP/1.1µÄ·þÎñÆ÷±ØÐë½ÓÊܾø¶ÔURLµØÖ·µÄ×é³É£¬ËäÈ»»ùÓÚHTTP/1.1µÄ¿Í»§»ú½«Ö»²úÉúÇëÇ󷢸ø´úÀí·þÎñÆ÷

Ö÷»ú(authority)×é³É²¿·ÖÖ»ÊÇÔÚÁ¬½Ó·½·¨(CONNECT)ÖÐÓõ½£¨£¹.9½Ú£©£®

×îͨÓÃÐÎʽµÄÇëÇó£Õ£ÒIÓÃÓÚ±êʶÔÚÔ­·þÎñÆ÷»òÍø¹ØÉϵÄ×ÊÔ´.ÕâÖÖÇé¿öÏ£¬¾ø¶Ô£Õ£Ò£Ì·¾¶±ØÐë×÷ΪÇëÇó£Õ£Ò£Ì´«ËÍ£¨¿´£³.£².£±½Ú£¬¾ø¶Ô·¾¶£©£¬£Õ£Ò£É¾ÖÓòÍøµØÖ·(authority)(±ØÐëÊäÈëÖ÷»ú±¨Í·Óò£®ÀýÈ磬ϣÍûÖ±½ÓµÃµ½Ô­·þÎñÆ÷¶¥²ã×ÊÔ´µÄ¿Í»§»ú½«ÔÚ"£÷£÷£÷£®£÷£³£®£ï£ò£ç"Ö÷»úµÄ¶Ë¿Ú£¸£°½¨Á¢£Ô£Ã£ÐÁ¬½Ó·¢ËÍÒÔÏÂÐУº
¡¡¡¡
¡¡¡¡¡¡GET /pub/WWW/TheProject.html HTTP/1.1
      Host:[url]www.w3.org[/url]

½ÓÏÂÀ´ÊÇÇëÇóµÄÆäËû²¿·Ö£¬×¢Òâ¾ø¶Ô·¾¶²»ÄÜÊǿյ컼ÙÈçûÓгõʼµÄURI£¬±ØÐë¸ø³ö"£¯"£¨·þÎñÆ÷¸ùĿ¼£©£®

ÇëÇó£Õ£Ò£ÌÓÃÔÚ3.2.1½ÚÀï˵Ã÷µÄ¸ñʽ´«Ê䣮Èç¹ûÓÃ"%HEX¡¡HEX"[42]Âë±àÂë,ΪÁËÕýÈ·µÄ·­ÒëÇëÇó£¬Ô­·þÎñÆ÷±ØÐëÒëÂ룮¶ÔÓÚÓÐÊʵ±×´Ì¬ÂëµÄÎÞЧµÄÇëÇ󣬷þÎñÆ÷±ØÐë¸øÓèÓ¦´ð£®

µ±Í¸Ã÷µÄ´úÀí·þÎñÆ÷ת·¢ÊÕµ½µÄÇëÇó£Õ£Ò£ÌµØÖ·¸øÏÂÒ»Ì¨ÍøÄڵķþÎñÆ÷ʱ£¬½ûÖ¹ÆäÖØÐ´ "¾ø¶Ô·¾¶"²¿·Ö,ÉÏÃæÌáµ½µÄÓÃ"£¯"´úÌæ¿ÕµÄ¾ø¶ÔµØÖ·²»ÔÚ´ËÀý£®

×¢£ºµ±Ô­·þÎñÆ÷²»Ç¡µ±µÄÓ÷DZ£Áô£Õ£Ò£Ì×Ö·û×÷±£ÁôÓÃʱ£¬"½ûÖ¹ÖØÐ´"¹æÔò·ÀÖ¹
´úÀí·þÎñÆ÷¸ü¸ÄÇëÇóµÄº¬Ò壬ʵÏÖ³ÌÐò½«Á˽âÇ°ÃæµÄһЩHTTP/1.1´úÀí·þÎñÆ÷¾Í½«ÖªµÀ¸ÄдÁËÇëÇó£Õ£Ò£É£®

5.2ÇëÇó¶¨ÒåµÄ×ÊÔ´

Ò»¸öINTERNETÇëÇóËù¶¨ÒåµÄ¾«È·×ÊÔ´ÓÉÇëÇóURLºÍÖ÷»ú±¨Í·ÓòËù¾ö¶¨.

µ±¾ö¶¨HTTP/1.1ЭÒé±êʶµÄ×ÊԴʱ£¬²»ÔÊÐí×ÊÔ´ÓëÇëÇóÖ÷»ú²»Í¬µÄÔ­·þÎñÆ÷¿ÉÒÔºöÂÔÖ÷»ú±¨Í·ÓòµÄÖµ£¬£¨µ«¿´£±£¹.£¶.£±½ÚÁ˽âÖ§³ÖHTTP/1.1Ö÷»úÉϵÄÁíÒ»ÖÖÐèÇó£©.

»ùÓÚÖ÷»úµÄÇëÇóÇø·Ö×ÊÔ´µÄ·þÎñÆ÷(ÓÐʱָÐéÄâµÄÖ÷»ú»ò¿Õ°×µÄÖ÷»úÃû)±ØÐëÓÃÒÔÏµĹæÔò¾ö¶¨HTTP/1.1ÇëÇóËùÇëÇóµÄ×ÊÔ´£®

£±£® Èç¹ûÇëÇóURIÊǾø¶ÔµØÖ·£¬Ö÷»úÊÇÇëÇóURIµÄÒ»²¿·Ö£®ÈκÎÖ÷»ú±¨Í·ÓòÓ¦µ±ºöÂÔ£®
£²£® ¼ÙÈçÇëÇóURI²»ÊǾø¶ÔµØÖ·£¬ÇÒÇëÇó°üÀ¨Ò»¸öÖ÷»ú±¨Í·Óò£¬ÔòÖ÷»úÓɸÃÓòµÄÖµËù¾ö¶¨£®
£³£® ¼ÙÈçÓɹ涨£±»ò¹æ¶¨£²¶¨ÒåµÄÖ÷»úÊÇÎÞЧµÄÖ÷»ú£¬ÔòÓ¦´ðµ±ÊÇÒ»¸ö400³ö´íÐÅÏ¢

ΪÁËÕÒ³öÕæÕý±»ÇëÇóµÄ×ÊÔ´£¬Ò»¸öȱ·¦Ö÷»ú±êʶÓòµÄHTTP/1.0ÇëÇó½ÓÊÕÕß¿ÉÒÔ³¢ÊÔʹÓÃÊÔ̽µÄ·½·¨£¨ÀýÈç¼ì²â£Õ£Ò£É·¾¶¶ÔÓÚÌØ¶¨µÄÖ÷»úÊÇΨһµÄÕâ¸öÐÔÖÊ£©£®

£µ.3ÇëÇó±¨Í·Óò

ÇëÇóµÄ±¨Í·ÓòÔÊÐí¿Í»§´«µÝ¹ØÓÚÇëÇ󣬿ͻ§×Ô¼ºµÄ¸½¼ÓÐÅÏ¢¸ø·þÎñÆ÷£®ÕâЩÓò×÷ΪÇëÇóÐÞÊγɷ֣¬ºÍ³ÌÐòÓïÑÔÖз½·¨µ÷ÓõIJÎÊýÓв¶àµÄº¬Ò壮

¡¡¡¡¡¡ÇëÇó±¨Í·¡¡£½¡¡½ÓÊÕ(Accept)¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡                ;14.1½Ú
                   |½ÓÊÕCharset (Accept-Charset)              ;14.2½Ú
                   |½ÓÊÕ±àÂë(Accept-Encoding)          ;14.3½Ú
                   |½ÓÊÕÓïÑÔ(Accept-Language)               ;14.4½Ú
                   |ÈÏÖ¤(Authorization£©                        ;14.8½Ú
                   |ÆÚÍû(Expect)                              ;14.20½Ú
                   |Ô´(From)                                  ;14.22½Ú
                   |Ö÷»ú(Host)                               ;14.23½Ú
                   |¼ÙÈçÆ¥Åä(If-Match)                       ;14.24½Ú
                   |¼ÙÈçÐÞ¸Ä(If-Modified-Since)              ;14.25½Ú
                   |¼ÙÈ粻ƥ(If-None-Match)            ;14.26½Ú
                   |¼ÙÈç¹éÀà(If-Range)                 ;14.27½Ú
                   |¼ÙÈç²»ÐÞ¸Ä(If-Unmodified-Since )         ;14.28½Ú
                   |×î´óת·¢Á¿(Max-Forwards                      ;14.31½Ú
                   |´úÀíÈÏÖ¤( Proxy-Authorization)         ;14.34½Ú
                   |·¶Î§(Range)                                 ;14.35½Ú
                   |Ìá½»Õß(Referer)                          ;14.36½Ú
                   |TE                                  ;14.39½Ú
                   |Óû§´úÀí(User-Agent)                  ;14.43½Ú

Ëæ×ÅЭÒé°æ±¾µÄ±ä»¯,ÇëÇó±¨Í·ÓòµÄÃû×Ö¿ÉÒÔ¿É¿¿µÄÀ©Õ¹£®È»¶øÐµĻòÀ©Õ¹µÄ±¨Í·Óò¿ÉÒÔ¸ø³öÇëÇó±¨Í·ÓòµÄÓï·¨£¬ÆäǰÌáÊÇͨÐÅÖÐËùÓв¿·Ö³ÐÈÏËüÃÇÊÇÇëÇó±¨Í·Óò£®²»±»³ÐÈϵı¨Í·Óò±»µ±×÷ʵÌ屨ͷÓò£®

£¶ Ó¦´ð

½ÓÊպͷ­ÒëÒ»¸öÇëÇóÐÅÏ¢ºó£¬·þÎñÆ÷·¢³öÒ»¸öHTTPÓ¦´ðÐÅÏ¢£®

¡¡¡¡¡¡¡¡¡¡Ó¦´ð¡¡¡¡¡¡£½×´Ì¬ÐС¡                                 ;6.1½Ú
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡*((³£¹æ±¨Í·(general-header£©                ; 4.5½Ú
                       |Ó¦´ð±¨Í·(response-header)            ;6.2½Ú
                       |ʵÌ屨ͷ(entity-header)CRLF)          ;7.1½Ú
                             CRLF
                      [Ó¦´ðÕýÎÄ]                             ;7.2½Ú

6.1 ״̬ÐÐ

Ó¦´ðÐÅÏ¢µÄµÚÒ»ÐÐÊÇ״̬ÐÐ,ÓÉЭÒé°æ±¾ÒÔ¼°Êý×Ö״̬ÂëºÍÏà¹ØµÄÎı¾ËµÃ÷×é³É,¸÷²¿·Ö¼äÓÿոñ·û¸ô¿ª£¬³ýÁË×îºóµÄ»Ø³µ»ò»»ÐÐÍ⣬Öм䲻ÔÊÐíÓлسµ»»ÐУ®
¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡×´Ì¬ÐС¡£½¡¡HTTP°æ±¾ SP״̬Âë SP Ô­Òò¶ÌÓï CRLF

6.1.1״̬ÂëÓë×¢½â

״̬ÂëÊÇÊÔͼÀí½âºÍÂú×ãÇëÇóµÄÈýλÊý×ÖµÄÕûÊýÂ룬ÕâЩÂëµÄÍêÕû¶¨ÒåÔÚµÚʮգ®×¢½â¶ÌÓïÊÇÌØÒâ¸ø³öµÄ¹ØÓÚ״̬ÂëµÄÎı¾ÃèÊö£®×´Ì¬ÂëÓÃÓÚ×Ô¶¯¿ØÖƶø×¢½â¶ÌÓïÊÇÃæÏòÓû§µÄ£®¿Í»§»ú²»ÐèÒª¼ì²éºÍÏÔʾע½â¶ÌÓ

״̬ÂëµÄµÚһλÊý×Ö¶¨ÒåÓ¦´ðÀàÐÍ£®ºóÁ½Î»Êý×ÖûÓÐÈκÎÀàÐÍÈÎÎñ£®µÚһλÊý×ÖÓÐÎåÖÖÖµ£º

-1xx: ±¨¸æµÄ                - ½ÓÊÕµ½ÇëÇó,¼ÌÐø½ø³Ì.
-2xx  ³É¹¦                  - ²Ù×÷³É¹¦µÄÊÕµ½.
-3xx  ÖØ·¢              - ΪÁËÍê³ÉÇëÇó,±ØÐë²ÉÈ¡½øÒ»²½´ëÊ©.
-4xx  ¿Í»§¶Ë³ö´í            - ÇëÇó°üÀ¨´íµÄ˳Ðò»ò²»ÄÜÍê³É.
-5xx  ·þÎñÆ÷³ö´í            - ·þÎñÆ÷ÎÞ·¨Íê³ÉÏÔÈ»ÓÐЧµÄÇëÇó.

ΪHTTP/1.1¶¨ÒåµÄ״̬Âëµ¥¶ÀµÄÖµ£¬ºÍÒ»¸öÏàÓ¦µÄһϵÁÐ×¢½â¶ÌÓïµÄÀý×Ó£¬½éÉÜÈçÏÂ,Õâ¶ùÁгöµÄ×¢½â¶ÌÓïÖ»Êǽ¨Òé¨D¨DËüÃÇ¿ÉÒÔ±»Ï൱µÄûÓиÐÇéÉ«²ÊµÄЭÒéÈ¡´ú£®

¡¡¡¡×´Ì¬Âë¡¡£½
¡¡¡¡             "100" ;         10.1.1½Ú:         ¼ÌÐø         
                    |"101"   ;  10.1.2½Ú:         ×ª»»Ð­Òé   
                    |"200"   ;  10.2.1½Ú:         OK
                |"201"   ;        10.2.2½Ú:   ´´½¨               
                    |"202"   ;  10.2.3½Ú:   ½ÓÊÜ        
¡¡¡¡                |"203"   ;  10.2.4½Ú:        ·ÇȨÍþÐÅÏ¢  
                                                   
                    |"204"   ;   10.2.5½Ú:  ÎÞÄÚÈÝ      
                    |"205"   ;   10.2.6½Ú:  ÖØÖÃÄÚÈÝ     
                    |"206"   ;   10.2.7½Ú:  ¾Ö²¿ÄÚÈÝ     
                    |"300"   ;   10.3.1½Ú:  ¶àÑùÑ¡Ôñ     
                |"301"   ;   10.3.2½Ú:  ÓÀ¾ÃÒÆ¶¯     
                |"302"   ;   10.3.3½Ú:  ´´½¨         
                    |"303"   ;   10.3.4½Ú:  ¹Û²ì±ðµÄ²¿·Ö         
                    |"304"   ;   10.3.5½Ú:  Ö»¶Á                 
                    |"305"   ;   10.3.6½Ú:  Óû§´úÀí            
                    |"307"   ;   10.3.8½Ú   ÁÙÊ±ÖØ·¢            
                |"400"   ;   10.4.1½Ú:  »µÇëÇó               
                    |"401"   ;   10.4.2½Ú:  Î´ÊÚȨµÄ            
                    |"402"   ;   10.4.3½Ú:  ±ØÒªµÄÖ§¸¶           
                    |"403"   ;   10.4.4½Ú:  ½ûÓà                
                    |"404"   ;   10.4.5½Ú:  Ã»ÕÒµ½               
                    |"405"   ;   10.4.6½Ú:  ²»ÔÊÐíµÄ·½Ê½         
                    |"406"   ;   10.4.7½Ú:  ²»½ÓÊÜ               
                |"407"   ;   10.4.8½Ú:  ÐèÒª´úÀíÑéÖ¤
                |"408"   ;   10.4.9½Ú£º         ÇëÇó³¬Ê±            
¡¡¡¡¡¡¡¡        |"409"   ;   10.4.10½Ú£»        ³åÍ»                 
¡¡¡¡¡¡¡¡        |"410"   ;   10.4.11½Ú£º Í£Ö¹                 
¡¡¡¡¡¡¡¡        |"411"   ;   10.4.12½Ú£º ÐèÒªµÄ³¤¶È           
¡¡¡¡¡¡¡¡        |"412"   £»  10.4.13½Ú£»        Ô¤´¦Àíʧ°Ü           
¡¡¡¡¡¡¡¡        |"413"   ;   10.4.14½Ú£º ÇëÇóʵÌåÌ«´ó     
¡¡¡¡¡¡¡¡        |"414"   ;   10.4.15½Ú£»        ÇëÇó-URIÌ«´ó     
                |"415"   ;   10.4.16½Ú£º ²»Ö§³ÖµÄýÌåÀàÐÍ  
                |"416"   £»  10.4.17½Ú£º        ÇëÇóµÄ·¶Î§²»Âú×ã  
                |"417"   ;   10.4.18½Ú£º ÆÚÍûʧ°Ü         
                |"500"   ;   10.5.1½Ú:   ·þÎñÆ÷ÄÚ²¿´íÎó      
                |"501"   ;   10.5.2½Ú:          ²»ÄÜʵÏÖ            
                |"502"   ;   10.5.3½Ú:   »µÍø¹Ø              
                |"503"   ;   10.5.4½Ú:          ·þÎñ²»ÄÜʵÏÖ        
                |"504"   ;   10.5.5½Ú:   Íø¹Ø³¬Ê±            
                |"505"   ;   10.5.6½Ú:   HTTP°æ±¾²»Ö§³Ö
              |À©Õ¹Âë  

À©Õ¹Âë =3DIGIT
×¢½â¶ÌÓï=*

HTTP״̬ÂëÊÇ¿ÉÀ©Õ¹µÄ£®HTTPÓ¦ÓóÌÐò²»ÐèÒªÀí½âËùÓÐÒÑ×¢²á״̬ÂëµÄº¬Ò壬¾¡¹ÜÄÇÑùµÄÀí½âÏÔ¶øÒ×¼ûÊǺܺÏËãµÄ£®µ«ÊÇ£¬Ó¦ÓóÌÐò±ØÐëÁ˽âÓɵÚһλÊý×ÖÖ¸¶¨µÄ״̬ÂëµÄÀàÐÍ£¬ÈκÎδ±»Ê¶±ðµÄÓ¦´ðÓ¦±»¿´×÷ÊǸÃÀàÐ͵ģØ00״̬£¬ÓÐÒ»¸öÀýÍâ¾ÍÊÇδ±»Ê¶±ðµÄ״̬Âë²»ÄÜ»º´æ£®ÀýÈ磬Èç¹û¿Í»§»úÊÕµ½Ò»¸öδ±»Ê¶±ðµÄ״̬Âë431£¬¡¡Copyright  [url]www.cnpaf.net[/url] (2007).          All Rights Reserved.
Ôò¿ÉÒÔ°²È«µÄ¼Ù¶¨ÇëÇóÓÐ´í£¬ÇÒÆä¶Ô´ýÓ¦´ðµÄÇé¿öÊǷ·ð¿Í»§¶ËÊÕµ½µÄÊÇ400״̬Â룮ÔÚÕâÖÖÇé¿öÏ£¬Óû§´úÀíÓ¦µ±°ÑʵÌåºÍÓ¦´ðÒ»ÆðÌá½»¸øÓû§£¬ÒòΪʵÌåºÜ¿ÉÄܰüÀ¨ËµÃ÷²»Æ½³£×´Ì¬µÄÈËÈϿɶÁµÄÐÅÏ¢£®

£¶.2Ó¦´ð±¨Í·Óò

Ó¦´ðÍ·ÔÊÐí·þÎñÆ÷´«ËÍÓ¦´ðµÄ¸½¼ÓÐÅÏ¢,ÕâЩÐÅÏ¢²»ÄÜ·ÅÔÚ״̬ÐÐÀï.ÕâЩ±¨Í·Óò¸ø³öÓйطþÎñÆ÷µÄÐÅÏ¢ÒÔ¼°ÇëÇóURIÖ¸¶¨µÄ×ÊÔ´µÄÏÂÒ»²½µÄͨ·£®

¡¡¡¡¡¡Ó¦´ð±¨Í·  =  ½ÓÊÕ·¶Î§                        ; 14.5½Ú
                   |Éú´æÊ±¼ä         ; 14.6½Ú
                   |Etag            ; 14.19½Ú
                   |λÖà                ; 14.30½Ú
                   |´úÀíÈÏÖ¤            ; 14.33½Ú
                   |µÈ»áÔÙÊÔ            ; 14.37½Ú
                   |·þÎñÆ÷             ; 14.38½Ú
                   |±ä»¯               ; 14.44½Ú
                   |WWWÈÏÖ¤                ; 14.47½Ú

Ëæ×ÅЭÒé°æ±¾µÄ±ä»¯,Ó¦´ð±¨Í·¿ÉÒÔ¿É¿¿µÄÀ©Õ¹£®¶øÇÒ£¬Èç¹ûͨÐŵÄËùÓÐ×é³É²¿·Ö¶¼°ÑËüµ±×÷Ó¦´ð±¨Í·Óò,еĻòÊÔÑéÐÔµÄÓ¦´ð±¨Í·Óò¿ÉÒÔ±»¸ø¶¨Ó¦´ð±¨Í·ÓòµÄº¬Ò壬δ±»³ÐÈϵı¨Í·Óò±»µ±×÷ʵÌ屨ͷÓò£®


7¡£ ʵÌå¡£

ÔÚδ¾­ÌØ±ð¹æ¶¨µÄÇé¿öÏ£¬ÇëÇóÓëÓ¦´ðµÄ±¨ÎÄÒ²¿ÉÒÔ´«ËÍʵÌå¡£ ʵÌå°üÀ¨ÊµÌ屨ͷÓòÓëʵÌåÕýÎÄ£¬¶øÓÐЩӦ´ðÖ»°üÀ¨ÊµÌ屨ͷ¡£ÔÚ±¾½ÚÄÚ£¬½ÓÊÕÕßÓë·¢ËÍÕ߼ȿÉÒÔÖ¸Óû§¶Ë£¬Ò²¿ÉÒÔÖ¸·þÎñÆ÷£¬ÊÓÓÉË­ÊÕ·¢ÊµÌå¶ø¶¨¡£

7¡£1 ʵÌ屨ÎÄÓò

ʵÌ屨ÎÄÓò¶¨ÒåÁ˹ØÓÚʵÌåÕýÎĵÄά»¤ÐÅÏ¢£¨²ÎÊý£©£¬»òÔÚÎÞÕýÎÄÇé¿ö϶¨ÒåÁËÇëÇóµÄ×ÊÔ´¡£ÆäÖÐһЩ²ÎÊýÊÇ¿ÉÑ¡µÄ£¬Ò»Ð©ÔòÊÇÓɼ¼ÊõÖ¸±ê¹æ¶¨±ØÐëµÄ¡£

ʵÌ屨ͷ = ÔÊÐí£¨Allow£©£»                        14.7½Ú
                        |ÄÚÈݱàÂ룻                                14.11½Ú
                        |ÄÚÈÝÓïÑÔ£»                                14.12½Ú
                        |ÄÚÈݳ¤¶È£»                                14.13½Ú
                        |ÄÚÈÝλÖã»                                14.14½Ú
                        |ÄÚÈÝ-MD5£»                                14.15½Ú
                        |ÄÚÈÝ·¶Î§£»                                14.16½Ú
                        |ÄÚÈÝÀàÐÍ£»                                14.17½Ú
                        |¹ýÆÚ(Expires)£»                        14.21½Ú
                        |ÉÏ´ÎÐ޸ģ»                                14.29½Ú
                        |À©Õ¹±¨Í·

À©Õ¹±¨Í·=±¨Îı¨Í·

À©Õ¹±¨Í·»úÖÆÔÊÐíÔÚ²»¸Ä±äЭÒéµÄǰÌá϶¨Òå¶îÍâµÄʵÌ屨ͷÓò£¬µ«²»±£Ö¤ÕâЩÓòÔÚÊÕ¶ËÄܹ»±»Ê¶±ð¡£Î´±»Ê¶±ðµÄÓòÓ¦µ±±»½ÓÊÕÕߺöÂÔ£¬ÇÒ±ØÐ뱻͸Ã÷ת·¢¡£


7¡£2 ʵÌåÕýÎÄ¡£

¾­ÓÉHTTPÇëÇó»òÓ¦´ð·¢Ë͵ÄʵÌåÕýÎIJ¿·Ö£¨Èç¹û´æÔڵϰ£©µÄ¸ñʽÓë±àÂ뷽ʽӦÓÉʵÌ屨ÎÄÓò¾ö¶¨¡£
     
       ʵÌåÕýÎÄ= *°Ëλ×Ö½Ú

Èç4¡£3½ÚËùÊö£¬ÊµÌåÕýÎÄÖ»Óе±±¨ÎÄÕýÎÄ´æÔÚʱ²Å´æÔÚ¡£ÊµÌåÕýÎÄÊÇͨ¹ý¶Ô±¨ÎÄÕýÎݴijÖÖ±£Ö¤°²È«ÐÔÇÒ±ãÓÚ´«ÊäµÄ´«Êä±àÂë½øÐнâÂëµÃµ½µÄ¡£

7¡£2¡£1¡£ ÀàÐÍ¡£

¶ÔÓÚ±¨ÎÄÖеÄʵÌåÕýÎĶøÑÔ£¬ÆäÊý¾ÝÀàÐÍÓɱ¨Í·ÖеÄ"ÄÚÈÝÀàÐÍ"Óë"ÄÚÈݱàÂë"Óò¾ö¶¨¡£Ò²¼´¶¨ÒåÁËÒ»¸öË«²ãÓÐÐòµÄ±àÂëÄ£ÐÍ£º

    ʵÌåÕýÎÄ=ÄÚÈݱàÂ루ÄÚÈÝÀàÐÍ£¨Êý¾Ý£©£©

"ÄÚÈÝÀàÐÍ"¹æ¶¨ÁË»ù±¾Êý¾ÝµÄýÌåÀàÐÍ¡£
"ÄÚÈݱàÂë"Ôò¿ÉÓÃÀ´Ö¸Ã÷¶ÔÊý¾ÝÊ©¼ÓµÄÈκθ½¼ÓµÄ£¬Í¨³£ÒÔÊý¾ÝѹËõΪĿµÄµÄ±àÂ뷽ʽ£¬²¢½«Æä×÷ΪËùÇëÇó×ÊÔ´µÄÒ»ÏîÊôÐÔ¡£ ûÓÐȱʡµÄ±àÂ뷽ʽ¡£

ÈÎÒ»°üº¬ÁËʵÌåÕýÎĵÄHTTP/1¡£1±¨ÎͼӦ°üÀ¨"ÄÚÈÝÀàÐÍ"±¨Í·Óò£¬ÒÔ¶¨ÒåÕýÎĵÄýÌåÀàÐÍ¡£µ±ÇÒ½öµ±"ÄÚÈÝÀàÐÍ"Óòδ¸ø³öýÌåÀàÐÍʱ£¬½ÓÊÕÕ߲ſÉÒÔͨ¹ý²é¿´×ÊÔ´µÄÄÚÈÝ£¬À©Õ¹Ãû»òURLÀ´²Â²âÆäýÌåÀàÐÍ¡£ÈôýÌåÀàÐÍÈÔȻδ֪£¬½ÓÊÕÕßÓ¦½«Æä×÷Ϊ"Ó¦ÓÃ/°Ëλ×Ö½ÚÁ÷"ÀàÀ´´¦Àí¡£

7¡£2¡£2 ʵÌ峤¶È

±¨ÎĵÄʵÌ峤¶ÈÖ¸µÄÊÇÔÚ¶Ô±¨ÎĽøÐд«Êä±àÂëǰ±¨ÎÄÕýÎĵij¤¶È¡£4¡£4½Ú¶¨ÒåÁËÈ·¶¨±¨ÎÄÕýÎÄ´«Ê䳤¶ÈµÄ·½·¨¡£


8¡£Á¬½Ó

8¡£1 ³ÖÐøÁ¬½Ó¡£

8¡£1¡£1 Ä¿µÄ

ÔÚ³ÖÐøÁ¬½Ó֮ǰ£¬Îª»ñȡÿһURL¶¼½¨Á¢Á˶ÀÁ¢µÄTCP Á¬½Ó£¬Õâ¾Í¼ÓÖØÁËHTTP·þÎñÆ÷µÄ¸ºµ££¬Ò×ÒýÆðINTERNET×èÈû¡£Ç¶ÈëʽͼƬÓëÆäËüÏà¹ØÊý¾Ýͨ³£Ê¹Óû§ÔÚ¶Ìʱ¼äÄÚ¶Ôͬһ·þÎñÆ÷Ìá½»¶à¸öÇëÇó¡£Ä¿Ç°ÒÑÓÐÕë¶ÔÕâЩÐÔÄÜÎÊÌâµÄ·ÖÎöÒÔ¼°Ô­ÐÍʵʩµÄ½á¹û[26]£¬[30]¡£ ʵʩµÄ¾ßÌå¹ý³ÌºÍ¶Ôʵ¼ÊHTTP/1¡£1£¨RFC 2068£©µÄ²âÊÔ¾ùÏÔʾÁËÁ¼ºÃµÄ½á¹û[39]¡£ ¶ÔÆäËû·½·¨Ò²ÓÐÁ˳õ²½Ì½¾¿£¬ÈçT/TCP [27]¡£

³ÖÐøHTTP Á¬½ÓÓÐ×ÅÖî¶àµÄÓŵ㣺

--- ͨ¹ý½¨Á¢Óë¹Ø±Õ½ÏÉÙµÄÁ¬½Ó£¬²»½ö½ÚÊ¡ÁË·ÓÉÆ÷ÓëÖ÷»ú£¨¿Í»§»ú£¬·þÎñÆ÷£¬´úÀí·þÎñÆ÷£¬Íø¹Ø£¬ËíµÀ»ò¸ßËÙ»º³å´æ´¢»ú£©µÄCPUʱ¼ä£¬»¹½ÚÊ¡ÁËÖ÷»úÓÃÓÚTCPЭÒé¿ØÖÆ¿éµÄÄÚ´æ¡£

--- HTTPÇëÇóÓëÓ¦´ð¿ÉÒÔ½øÈëÁ¬½ÓÁ÷Ë®Ïß¡£ Á÷Ë®Ïß·½Ê½Ê¹µÃ¿Í»§ÎÞÐë°¤¸öµÈ´ýÓ¦´ð¼´·¢Æð¶à¸öÇëÇ󣬴Ӷø¸ü³ä·ÖµÄÀûÓÃÁ˵¥¸öµÄTCPÁ¬½Ó£¬¼õÉÙÁ˱ÀÀ£Ê±¼ä¡£

--- ÔÚ¼õÉÙTCPÁ¬½ÓÖÐÊý¾Ý°ü¸öÊýµÄͬʱ£¬Ê¹TCPÓÐÁ˳äÔ£µÄʱ¼äÀ´È·¶¨ÍøÂçµÄÓµÈû×´¿ö£¬»º½âÁËÍøÂçÓµÈû¡£

--- ÒòΪÎÞÐëÔÚ´´½¨TCPÁ¬½ÓÎÕÊÖÉϺķÑʱ¼ä£¬¶øÊ¹Á¬ÐøÇëÇóÔì³ÉµÄÑÓ³ÙÏÖÏóµÃµ½¸ÄÉÆ¡£

--- ÓÉÓÚ³ö´í²»»áµ¼ÖÂTCPÁ¬½ÓµÄ¹Ø±Õ£¬HTTP¿ÉÒÔ¸üºÃµÄʵÏÖ×ÔÎÒÍêÉÆ¡£Ê¹ÓýÏаæHTTPµÄÓû§»áÀÖÓÚ³¢ÊÔһЩй¦ÄÜ£¬Óë¾É°æ·þÎñÆ÷ͨÐÅʱ£¬Ôò»áÔÚ½Óµ½³ö´í±¨¸æºóÓþÉÄ£Ê½ÖØÊÔ¡£

HTTPµÄʵÏÖÓ¦µ±²ÉÓóÖÐøÁ¬½Ó¡£

8¡£1¡£2 ×ÜÌå²Ù×÷

HTTP/1.1 ÓëÔçÆÚHTTP °æ±¾µÄÒ»¸öÏÔÖøÇø±ðÔÚÓÚ³ÖÐøÁ¬½ÓÊÇÈκÎHTTPÁ¬½ÓµÄȱʡ·½Ê½¡£Ò²¾ÍÊÇ˵£¬³ý·ÇÁíÓÐÖ¸¶¨£¬¿Í»§»ú×ÜÓ¦µ±¼Ù¶¨·þÎñÆ÷»á±£³Ö³ÖÐøÁ¬½Ó£¬¼´±ãÔÚ½Óµ½·þÎñÆ÷µÄ³ö´íÓ¦´ðʱҲӦÈç´Ë¡£

³ÖÐøÁ¬½ÓÌṩÁËÒ»ÖÖ¿ÉÒÔÓɿͻ§»ú»ò·þÎñÆ÷·¢ÐźÅÖÕÖ¹TCPÁ¬½ÓµÄ»úÖÆ¡£ÖÕÖ¹Á¬½ÓµÄÐźÅÀûÓÃÁË"Á¬½Ó"±¨Í·Óò£¨14.10½Ú£©¡£Ò»µ©³öÏÖÁËÖÕÖ¹Á¬½ÓµÄÐźţ¬¿Í»§»ú±ã²»¿ÉÔÙÏò´ËÁ¬½ÓÌá³öÈκÎÐÂÇëÇó¡£

8¡£1¡£2¡£1 ̸ÅÐ

³ý·ÇÇëÇóµÄÁ¬½Ó±¨Í·ÓòÖаüÀ¨ÁË"ÖÕÖ¹Á¬½Ó"µÄ·ûºÅ£¬HTTP/1¡£1·þÎñÆ÷×Ü¿ÉÒÔ¼Ù¶¨HTTP/1¡£1 ¿Í»§»úÏëҪά³Ö³ÖÐøÁ¬½Ó¡£Èç¹û·þÎñÆ÷ÏëÔÚ·¢³öÓ¦´ðºóÁ¢¼´ÖÕÖ¹Á¬½Ó£¬ËüÓ¦µ±·¢ËÍÒ»¸öº¬ÓÐÖÕÖ¹ÒªÇóµÄÁ¬½Ó±¨Í·Óò¡£

ÎÞÂÛÊǿͻ§»ú»ò·þÎñÆ÷·¢ÆðÖÕÖ¹Á¬½Ó£¬Õâ¶¼ÊDZ¾´ÎÁ¬½ÓµÄ×îºóÒ»¸öÇëÇó¡£

³ý·Ç¾­Ã÷È·Ö¸³ö£¬¿Í»§»úÓë·þÎñÆ÷²»Ó¦¼Ù¶¨µÍ°æHTTP»á×Ô¶¯²ÉÓóÖÐøÁ¬½Ó·½Ê½¡£Çë²Î¼û19¡£6¡£2½Ú¹ØÓÚÓëHTTP/1¡£0¿Í»§»úºóÏò¼æÈÝÐÔµÄÓйØÄÚÈÝ¡£

ΪÁËά³Ö³ÖÐøÁ¬½Ó£¬Á¬½ÓÖеı¨Îͼ±ØÐëÓÐÈç4¡£4½ÚËùÊöµÄ×Ô¶¨Ò屨Îij¤¶È£¨¼´²»ÊÇÓÉÁ¬½ÓÖÕÖ¹¶¨ÒåµÄ³¤¶È£©¡£

8¡£1¡£2¡£2 Á÷Ë®Ïß

Ö§³Ö³ÖÐøÁ¬½ÓµÄ¿Í»§»ú¿ÉÒÔÒÔÁ÷Ë®Ïß·½Ê½·¢ËÍÇëÇ󣨼´ÎÞÐëµÈ´ýÓ¦´ð¶ø·¢ËͶà¸öÇëÇ󣩡£·þÎñÆ÷Ôò±ØÐ뽫ÆäÓ¦´ð°´½Óµ½ÇëÇóµÄ˳Ðò·¢³ö¡£

½¨Á¢Á¬½ÓºóÁ¢¼´²ÉÓóÖÐøÁ¬½ÓÓëÁ÷Ë®Ïß·½Ê½µÄ¿Í»§»úÓ¦×÷ºÃ³õ´ÎÁ÷Ë®Ïß³¢ÊÔʧ°ÜºóÖØÊÔµÄ×¼±¸£¬¶ø²»¿ÉÔÚ³ÖÐøÁ¬½ÓÉÐδȷ¶¨Ê±¾ÍÁ¬Ðø·¢ËÍÇëÇ󡣿ͻ§»ú»¹±ØÐëΪ·þÎñÆ÷ÔÚ·¢³öËùÓÐÓ¦´ð֮ǰ¾Í½áÊøÁ¬½ÓµÄÇé¿ö×÷ºÃÖØ·¢ÇëÇóµÄ×¼±¸¡£

¿Í»§»ú²»Ó¦¸ÃÓ÷ǵÈÃÝ·½·¨»ò·ÇµÈÃÝ·½·¨ÐòÁУ¨²Î¼û9¡£1¡£2½Ú£©Á¬·¢ÇëÇó¡£·ñÔò£¬¹ýÔçÖÕÖ¹µÄ´«Êä²ãÁ¬½Ó»áµ¼Ö²»È·¶¨µÄ½á¹û¡£

8¡£1¡£3 ´úÀí·þÎñÆ÷

ʹ´úÀí·þÎñÆ÷ÕýÈ·µØÊµÏÖ14¡£10½ÚËù¹æ¶¨µÄÁ¬½Ó±¨Í·ÓòµÄÊôÐÔÊǷdz£¹Ø¼üµÄ¡£

´úÀí·þÎñÆ÷±ØÐë¶ÀÁ¢ÓÚËüËùÁ¬½ÓµÄ¿Í»§»ú£¬Ô­·þÎñÆ÷£¨»òÆäËü´úÀí·þÎñÆ÷£©¶ø·¢³ö³ÖÐøÁ¬½ÓµÄÐźš£Ã¿Ò»³ÖÐøÁ¬½Ó½öÕë¶Ô´«Êä²ãÁ´½Ó¡£

´úÀí·þÎñÆ÷²»¿ÉÓëһ̨HTTP/1.0¿Í»§»ú½¨Á¢HTTP/1¡£1³ÖÐøÁ¬½Ó£¨Çë²Î¼ûRFC 2068 [33] ÖйØÓÚHTTP/1¡£0¿Í»§»úÉÏʵÏÖ"ά³Ö»îԾ̬"±¨Í·ÎÊÌâµÄ̽ÌÖ¼°×ÊÁÏ£©

8¡£1¡£4 ʵ¼ÊµÄ¿¼ÂÇ

·þÎñÆ÷ͨ³£ÓÐÒ»¸öʱÏÞÖµ£¬³¬¹ýÒ»¶¨Ê±¼ä¼´²»ÔÙάϵ´¦ÓÚ·Ç»îԾ̬µÄÁ¬½Ó¡£´úÀí·þÎñÆ÷»áѡһ¸ö½Ï¸ßµÄÖµ£¬ÒòΪ¿Í»§»úºÜ¿ÉÄÜ»áÓëͬһ·þÎñÆ÷½¨Á¢¶à¸öÁ¬½Ó¡£³ÖÐøÁ¬½Ó·½Ê½µÄ²ÉÓöÔÓÚ¿Í»§»úÓë·þÎñÆ÷µÄʱÏÞ¾ùδÌá³öÈκÎÒªÇó¡£µ±¿Í»§»ú»ò·þÎñÆ÷Ï£Íû³¬Ê±ÖÕֹʱ£¬ËüÓ¦°´¹æ·¶ÖÕÖ¹´«ÊäÁ¬½Ó¡£¿Í»§¶ËÓë·þÎñÆ÷¶ËӦʼÖÕ×¢Òâ¶Ô·½ÊÇ·ñÖÕÖ¹ÁËÁ¬½Ó£¬²¢Êʵ±µÄÓèÒÔÓ¦´ð¡£Èô¿Í»§»ú»ò·þÎñÆ÷δÄܼ°Ê±¼ì²âµ½¶Ô·½ÒÑÖÕÖ¹ÁËÁ¬½Ó£¬½«»áÔì³É²»±ØÒªµÄÍøÂç×ÊÔ´ÀË·Ñ¡£

¿Í»§»ú£¬·þÎñÆ÷£¬»ò´úÀí·þÎñÆ÷¿ÉÄÜÔÚÈÎÒâʱ¿ÌÖÕÖ¹´«ÊäÁ¬½Ó¡£±ÈÈ磬¿Í»§»ú¿ÉÄÜÕýÏë·¢³öеÄÇëÇ󣬶ø´Ëʱ·þÎñÆ÷È´¾ö¶¨¹Ø±Õ"ÏÐÖÃ"µÄÁ¬½Ó¡£ÔÚ·þÎñÆ÷¿´À´£¬Á¬½ÓÊÇÔÚÏÐÖÃ×´¿öϱ»¹Ø±ÕµÄ£¬ ¶ø¿Í»§»úÈ´ÒÔΪÇëÇóÔÚ½øÐÐÖС£

Õâ±íÃ÷¿Í»§»ú£¬·þÎñÆ÷Óë´úÀí·þÎñÆ÷±ØÐëÓÐÄÜÁ¦´Ó·Çͬ²½µÄÁ¬½ÓÖÕֹʼþÖлָ´¡£Ö»ÒªÇëÇóÐòÁÐÊǵÈÃݵģ¨²Î¼û9¡£1¡£2½Ú£©£¬¿Í»§¶ËÈí¼þ¾ÍÓ¦×Ô¶¯ÖØÐ·¢Æð´«Êä²ãÁ¬½Ó²¢ÖØ´«±»·ÏÆúµÄÇëÇóÐòÁС£¶Ô·ÇµÈÃÝ·½·¨»òÐòÁв»¿É×Ô¶¯ÖØÊÔ£¬µ«Óû§´úÀí¿ÉÒÔÏòÊÖ¹¤²Ù×÷Ô±Ìá¹©ÖØ·¢ÇëÇóµÄ»ú»á¡£Óû§´úÀíÈí¼þ¶ÔÓ¦ÓóÌÐò»ùÓھ䷨Àí½âµÄÈ·ÈÏ¿ÉÒÔÓÃÀ´´úÌæÈ˹¤·½Ê½¡£ÈôÖØÊÔʧ°Ü£¬Ôò²»Ó¦ÔÊÐíÔÙÊÔ¡£

·þÎñÆ÷ÔÚÿ´ÎÁ¬½ÓÖÐÖ»ÒªÓпÉÄÜ£¬×ÜÓ¦ÖÁÉÙÓ¦´ðÒ»¸öÇëÇó¡£³ý·Ç³öÓÚÍøÂç»ò¿Í»§¶ËµÄ¹ÊÕÏ£¬·þÎñÆ÷²»Ó¦ÔÚ´«ËÍÓ¦´ðµÄÖÐ;¶Ï¿ªÁ¬½Ó¡£

ʹÓóÖÐøÁ¬½ÓµÄ¿Í»§»úÓ¦ÏÞÖÆÓëijһ·þÎñÆ÷ͬʱÁ¬½ÓµÄ¸öÊý¡£µ¥Óû§¿Í»§»ú²»Ó¦ÓëÈÎÒ»·þÎñÆ÷»ò´úÀí·þÎñÆ÷±£³ÖÁ½¸öÒÔÉϵÄÁ¬½Ó¡£´úÀí·þÎñÆ÷ÓëÆäËü·þÎñÆ÷»ò´úÀíÖ®¼äӦά»¤2*N¸öÁ¬½Ó£¬ÆäÖÐNÊÇͬʱÔÚÏßµÄÓû§Êý¡£É趨ÕâÒ»¹æÔòÊÇΪÁ˸ĽøHTTPÓ¦´ðʱ¼äÇÒ±ÜÃâÓµÈû¡£

8¡£2 ±¨ÎÄ´«ÊäÒªÇó¡¢

8¡£2¡£1 ³ÖÐøÁ¬½ÓÓëÁ÷Á¿¿ØÖÆ

HTTP/1¡£1·þÎñÆ÷Ó¦µ±±£³Ö³ÖÐøÁ¬½Ó²¢Ê¹ÓÃTCPµÄÁ÷Á¿¿ØÖÆ»úÖÆÀ´½â¾öÁÙʱ¹ýÔØ£¬¶ø²»ÊÇÔÚÖÕÖ¹Á¬½ÓºóÖ¸Íû¿Í»§¶ËµÄÖØÊÔ¡£ºóÒ»·½·¨»á¶ñ»¯ÍøÂç×èÈû¡£

8¡£2¡£2 ¼àÊÓÁ¬½ÓÖгö´í״̬µÄ±¨ÎÄ

·¢Ëͱ¨ÎÄÕýÎĵÄHTTP/1¡£1£¨»ò¸üУ©¿Í»§»úÓ¦ÔÚ´«ÊäÇëÇóµÄͬʱ¼àÊÓÁ¬½ÓÊÇ·ñ´¦ÓÚ³ö´í״̬¡£Èô¿Í»§»ú·¢ÏÖÁË´íÎó£¬ËüÓ¦µ±Á¢¼´Í£Ö¹ÕýÎĵĴ«ËÍ¡£ÈôÕýÎÄÊÇÒÔ¿é±àÂ뷽ʽ·¢Ë͵ģ¨3¡£6½Ú£©£¬¿ÉÒÔÓÃÒ»³¤¶ÈΪÁãµÄ¿éºÍ¿Õ±¨Î²À´Ìáǰ±ê¼Ç±¨ÎĽáÊø¡£ÈôÕýÎÄǰÓÐ"ÄÚÈݳ¤¶È"±¨Í·£¬Ôò¿Í»§»ú±ØÐë¹Ø±ÕÁ¬½Ó¡£

8¡£2¡£3 100ºÅ״̬µÄÓÃ;

100ºÅ״̬µÄÄ¿µÄÔÚÓÚ°ïÖúÄÇЩ·¢Ëͺ¬ÓÐÇëÇóÕýÎĵÄÇëÇó±¨ÎĵĿͻ§»úÔÚ·¢ËÍÇëÇóÕýÎÄÖ®Ç°ÍÆ²â·þÎñÆ÷¿´µ½ÇëÇó±¨Í·ºóÊÇ·ñÔ¸Òâ½ÓÊÕÇëÇó¡£ÓÐЩʱºò£¬Èç¹û·þÎñÆ÷²»¿´ÕýÎÄ¾ÍÆúÖñ¨Îĵϰ£¬¿Í»§»ú¶ÔÕýÎĵķ¢Ë;Ͷà´ËÒ»¾ÙÁË¡£

¶ÔHTTP/1¡£1 ¿Í»§»úµÄÒªÇó£º

--- Èô¿Í»§»úÔÚ·¢ËÍÇëÇóÕýÎÄ֮ǰµÈºò100£¨¼ÌÐø£©Ó¦´ð£¬ÔòËü±ØÐë·¢ËÍÌîÓÐ"100--¼ÌÐø"ÆÚÍûµÄ"ÆÚ´ýÇëÇó"±¨Í·Óò£¨14¡£20½Ú£©¡£

--- Èô¿Í»§»ú²»ÐèÒª·¢ËÍÇëÇóÕýÎÄ£¬ÔòËü²»µÃ·¢ËÍÌîÓÐ"100--¼ÌÐø"ÆÚÍûµÄ"ÆÚ´ýÇëÇó"±¨Í·Óò£¨14¡£20½Ú£©¡£

ÓÉÓÚ´æÔھɵÄʵÏÖ·½·¨£¬Ð­ÒéÔÊÐí³öÏÖÖîÈç¿Í»§»ú·¢³öÁË"ÆÚÍû£º100-¼ÌÐø" ȴû½Óµ½417£¨ÆÚÍûʧ°Ü£©»ò100£¨¼ÌÐø£©×´Ì¬µÄ»ìÂÒ¾ÖÃæ´æÔÚ¡£Òò´Ë£¬µ±¿Í»§»ú½«ÕâÒ»±¨Í·Óò·¢¸øËü´Óδ½Óµ½100£¨¼ÌÐø£©×´Ì¬µÄÔ­·þÎñÆ÷£¨Í¨³£ÊÇͨ¹ý´úÀí£©Ê±£¬ ¿Í»§»ú²»Ó¦ÔÚ·¢ËÍÇëÇóÕýÎÄǰÎÞÏÞÆÚµØµÈ´ý¡£

¶ÔHTTP/1¡£1Ô­·þÎñÆ÷µÄÒªÇó£º

--- ÔÚ½Óµ½"ÆÚÍû"ÇëÇó±¨Í·ÓòÌîÓÐ"100-¼ÌÐø"ÆÚÍûµÄÇëÇóʱ£¬Ô­·þÎñÆ÷±ØÐëÒÔ100£¨¼ÌÐø£©×´Ì¬Ó¦´ð²¢¼ÌÐø¶ÁÈëÊý¾ÝÁ÷£¬»òÕßÒÔÖÕֹ״̬ÂëÓ¦´ð¡£Ô­·þÎñÆ÷ÔÚ·¢ËÍ100£¨¼ÌÐø£©Ó¦´ð֮ǰ²»µÃµÈ´ý¡£ÈôÒÔÖÕֹ״̬ÂëÓ¦´ð£¬Ëü¼È¿É¹Ø±Õ´«Êä²ãÁ¬½Ó£¬Ò²¿É¼ÌÐø¶ÁÈëÊý¾Ý¶ø¶ªÆúÇëÇóµÄÊ£Óಿ·Ö¡£µ«´ËʱËü²»µÃ°´¿Í»§»úËùÇëÇóµÄ·½Ê½ÔËÐС£

--- ÈçÇëÇó±¨ÎIJ»º¬ÌîÓÐ"100-¼ÌÐø"µÄ"ÆÚÍû"±¨Í·Óò£¬Ô­·þÎñÆ÷²»Ó¦·¢ËÍ100£¨¼ÌÐø£©Ó¦´ð¡£µ±ÇëÇóÀ´×ÔHTTP/1¡£0£¨»ò¸üÔ磩¿Í»§»úʱҲ²»µÃ·¢ËÍ100£¨¼ÌÐø£©Ó¦´ð¡£¶Ô´Ë¹æ¶¨ÓÐÒ»ÀýÍ⣺ΪÁËÓëRFC 2068¼æÈÝ£¬·þÎñÆ÷¶ÔÓÚ맪ÌîÓÐ"100-¼ÌÐø"µÄ"ÆÚÍû"±¨Í·ÓòµÄPUT»òPOST ÇëÇó¿ÉÒÔÓ¦´ð100£¨¼ÌÐø£©×´Ì¬¡£ÕâÒ»ÀýÍâµÄÄ¿µÄÔÚÓÚ¾¡Á¿¼õÉÙÓÉ100£¨¼ÌÐø£©×´Ì¬µÄδÉêÃ÷µÈ´ýÒýÆðµÄ¿Í»§»ú´¦ÀíÑÓ³Ù£¬½öÊÊÓÃÓÚHTTP/1¡£1ÇëÇó£¬ºÍÆäËüHTTP °æ±¾µÄÇëÇóÎ޹ء£

--- ÈôÒѾ­½Óµ½ÏàÓ¦ÇëÇóµÄ²¿·Ö»òÈ«²¿ÇëÇóÕýÎÄ£¬Ô­·þÎñÆ÷¿ÉÒÔÃâ·¢100£¨¼ÌÐø£©Ó¦´ð¡£

--- Ò»µ©ÇëÇóÕýÎı»ÊÕµ½´¦Àí£¬·¢³ö100£¨¼ÌÐø£©Ó¦´ðµÄÔ­·þÎñÆ÷³ý·Ç¹ýÔçÇжϴ«Êä²ãÁ¬½Ó£¬·ñÔò×îÖÕ±ØÐë·¢ËÍÖÕֹ״̬Âë¡£

--- ÈôÔ­·þÎñÆ÷½Óµ½²»º¬ÌîÓÐ"100-¼ÌÐø"µÄ"ÆÚÍû"±¨Í·ÓòµÄÇëÇ󣬸ÃÇëÇóº¬ÓÐÇëÇóÕýÎÄ£¬¶ø·þÎñÆ÷ÓÖÔÚ´Ó´«Êä²ãÁ¬½Ó¶ÁÈëÕýÎÄ֮ǰ¾ÍÓ¦´ðÁËÖÕֹ״̬Â룬Ôò·þÎñÆ÷²»Ó¦ÔÚ¶ÁÍêÈ«²¿ÇëÇó»ò¿Í»§»úÖÕÖ¹Á¬½Óǰ¹Ø±ÕÁ¬½Ó¡£ ·ñÔò£¬¿Í»§»ú¿ÉÄÜÎÞ·¨¿É¿¿µØ½ÓÊÕÓ¦´ð±¨ÎÄ¡£È»¶ø£¬ÕâÒ»ÒªÇóÔÚ²ûÊÍÖв»Ó¦×èÖ¹·þÎñÆ÷·ÀÎÀ¾Ü¾ø·þÎñµÄ¹¥»÷»òÓÐÑÏÖØÈ±ÏݵĿͻ§³ÌÐò¡£

¶Ô´úÀí·þÎñÆ÷µÄÒªÇó£º

--- Èô´úÀí·þÎñÆ÷½Óµ½°üº¬ÌîÓÐ"100-¼ÌÐø"µÄ"ÆÚÍû"±¨Í·ÓòµÄÇëÇó£¬ÇÒ´úÀí·þÎñÆ÷Ҫô֪µÀÏÂÒ»Õ¾·þÎñÆ÷×ñÑ­HTTP/1¡£1»ò¸ü¸ß°æÐ­Ò飬Ҫô²»ÖªÏÂÒ»Õ¾·þÎñÆ÷µÄHTTP°æ±¾£¬ÔòËü±ØÐëÁ¬Í¬"ÆÚÍû"±¨Í·ÓòÒ»Æðת·¢´ËÇëÇó¡£

--- ÈôÇÒ´úÀí·þÎñÆ÷ÖªµÀÏÂÒ»Õ¾·þÎñÆ÷°æ±¾ÊÇHTTP/1¡£0»ò¸üµÍ£¬ÔòËü²»µÃת·¢´ËÇëÇ󣬶øÓ¦Ó¦´ðÒÔ417£¨ÆÚÍûʧЧ£©×´Ì¬¡£

--- ´úÀí·þÎñÆ÷Ó¦µ±Î¬»¤Ò»¸ßËÙ»º´æ£¬ÒԼǼнü·ÃÎʵ½µÄÏÂÒ»Õ¾µã·þÎñÆ÷µÄHTTP°æ±¾ºÅ¡£

--- Èô½Óµ½µÄÇëÇóÀ´×ÔÓÚ°æ±¾ÊÇHTTP/1¡£0£¨»ò¸üµÍ£©µÄ¿Í»§»ú£¬²»º¬ÌîÓÐ"100-¼ÌÐø"µÄ"ÆÚÍû"±¨Í·ÓòµÄÇëÇó£¬Ôò´úÀí·þÎñÆ÷²»µÃת·¢100£¨¼ÌÐø£©Ó¦´ð¡£ ÕâÒ»ÒªÇó¿É¸²¸Ç1xxÓ¦´ðת·¢µÄÒ»°ã¹æÔò£¨²Î¼û10¡£1½Ú£©¡£

8£®2£®4 ·þÎñÆ÷¹ýÔç¹Ø±ÕÁ¬½Óʱ¿Í»§»úµÄÐÐΪ

Èç¹ûHTTP/1¡£1 ¿Í»§»ú·¢³öÒ»Ìõº¬ÓÐÇëÇóÕýÎĵ«²»º¬ÌîÓÐ"100-¼ÌÐø"µÄ"ÆÚÍû"±¨Í·ÓòµÄÇëÇ󣬲¢ÇÒ¿Í»§»úÖ±½ÓÓëHTTP/1¡£1Ô­·þÎñÆ÷ÏàÁ¬£¬ÔÚ´Ó·þÎñÆ÷´¦½Óµ½ÈκÎ״̬ÐÅϢ֮ǰ¾Í·¢ÏÖÁ¬½Ó±»¹Ø±Õ£¬ÄÇô¿Í»§»úÓ¦µ±ÖØÊÔÇëÇó¡£ÔÚÖØÊÔʱ£¬¿Í»§»úºÎÒÔ²ÉÓÃÈçÏÂËùÊöµÄ"¶þ½øÖÆÖ¸ÊýºóÍËËã·¨"ÒÔÈ·±£»ñµÃ¿É¿¿Ó¦´ð£º

1£® Ïò·þÎñÆ÷·¢ÆðÒ»ÐÂÁ¬½Ó¡£
2£® ·¢ËÍÇëÇóµÄ±¨Í·¡£
3£® ³õʼ»¯±äÁ¿RΪͨÍù·þÎñÆ÷µÄÍù·µÊ±¼äµÄ¹À¼ÆÖµ£¨±ÈÈç»ùÓÚ½¨Á¢Á¬½ÓµÄʱ¼ä£©£¬»òÔÚÎÞ·¨¹À¼ÆÍù·µÊ±¼äʱÉèΪһ³£ÊýÖµ5Ãë¡£
4£® ¼ÆËãT=R*£¨2**N£©£¬NΪ´ËÇ°ÖØÊÔÇëÇóµÄ´ÎÊý¡£
5£® µÈ´ý·þÎñÆ÷·¢À´µÄ³ö´íÓ¦´ð»òÊÇTÃ루Á½ÕßÖÐʱ¼ä½Ï¶ÌµÄ£©¡£
6£® ÈôûµÈµ½³ö´íÓ¦´ð£¬TÃëºó·¢ËÍÇëÇóÕýÎÄ¡£
7£® Èô¿Í»§»ú·¢ÏÖÁ¬½Ó±»ÌáǰÖÕÖ¹£¬×ªµ½µÚ1²½£¬Ö±µ½ÇëÇó±»½ÓÊÜ£¬½Óµ½³ö´íÓ¦´ð£¬»òÊÇÓû§Òò²»ÄÍ·³¶øÖÕÖ¹ÁËÖØÊÔ½ø³Ì¡£

ÔÚÈÎÒâ»·½ÚÉÏ£¬¿Í»§»úÈç¹û½Óµ½³ö´í״̬£¬
--- ²»Ó¦ÔÙ¼ÌÐø£¬ ²¢ÇÒ
--- ÈçÍê³ÉÇëÇó±¨Îĵķ¢ËÍÔòÓ¦ÖÕÖ¹Á¬½Ó


£¹ ·½·¨¶¨Òå

HTTP/1.1³£¹æ·½·¨µÄ¶¨ÒåÈçÏÂ.ËäÈ»Õâ¸ö¶¨Òå¿ÉÒÔÕ¹¿ª,µ«¸½¼ÓµÄ·½·¨²»Äܱ»¼Ù¶¨·ÖÏíºÍ¸ö±ðÀ©Õ¹µÄ¿Í»§»úºÍ·þÎñÆ÷ͬÑùµÄÓïÒå.

Ö÷»úÇëÇóÓ¦´ð±¨Í·(14.23½Ú)±ØÐë·ûºÏËùÓеÄHTTP/1.1ÇëÇó.

9.1 °²È«ºÍµÈÃÝ(Idempotent)·½·¨

9.1.1 °²È«·½·¨

ʵÏÖ³ÌÐòÓ¦µ±ÖªµÀÈí¼þͨ¹ýÔÚInternetÉϵĽ»»¥À´°çÑÝÓû§,ÇÒÓ¦¸Ã×ÐϸµÄÔÊÐíÓû§ÖªµÀÈκÎËüÃÇ¿ÉÄܲÉÈ¡µÄÐж¯,ÕâЩÐж¯¿ÉÄܸøËûÃÇ×Ô¼º»òËûÈË´øÀ´ÎÞ·¨Ô¤ÁϵĽá¹û.

ÌØ±ðµÄ.ÕâÑùµÄ¹ßÀýÒѾ­ÐγÉ,¾ÍÊÇGETºÍHEAD·½·¨³ýÁ˲¹¾ÈÍâ²»Ó¦¸ÃÓбðµÄ²ÉÈ¡´ëÊ©µÄº¬Òå.ÕâЩ·½·¨Ó¦¸Ã±»¿´×÷"°²È«".ÕâÔÊÐíÓû§´úÀíÃè»æÆäËû·½·¨,ÏñPOST,PUT,DELETE,ÔÚijÖÖÒâÒåÉÏ,Óû§ÖªµÀijÖÖ²»°²È«µÄÐÐΪ±»ÇëÇóµÄÊÂʵ.

×ÔÈ», Ëæ×ÅGETÇëÇóµÄʵÏÖ,²»¿ÉÄܱ£Ö¤·þÎñÆ÷²»²úÉú¸±×÷ÓÃ;ÊÂʵÉÏ,һЩ¶¯Ì¬µÄ×ÊÔ´¿¼Âǵ½ÄÇÑùµÄÌØÕ÷.ÔÚÕâÀïÖØÒªµÄÇø±ðÊÇÓû§Ã»ÓÐÇëÇó¸±×÷ÓÃ,Òò´Ë²»Ó¦¸ÃΪ´Ë³Ðµ£ÔðÈÎ.

9.1.2 µÈÃÝ·½·¨

·½·¨Ò²¿ÉÒÔµÈÃݵÄÐÔÖÊ,ÕâÖÖÇé¿öÏÂ(³ýÁ˳ö´í»òÖÕÖ¹ÎÊÌâ)N>0¸öͬÑùÇëÇóµÄ¸±×÷Óú͵¥¸öÇëÇóÒ»Ñù.·½·¨ GET,HEAD,PUT,DELETE¶¼ÓÐÕâÖÖÐÔÖÊ.¶øÇÒ,·½·¨OPTIONSºÍTRACE²»Ó¦¸ÃÓи±×÷ÓÃ,µÈÃݾÍÊÇÕâÑùµÄº¬Òå.È»¶ø,ÓпÉÄܼ¸¸öÇëÇóµÄÐòÁÐÊDz»µÈÃݵÄ,¼´Ê¹ÔÚÄÇÑùµÄÐòÁÐÖÐËùÓз½·¨µ¥¶ÀʵÏÖ¶¼ÊǵÈÃݵÄ(Èç¹ûÕû¸öÐòÁÐÕûÌåµÄʵÏÖ½á¹û×ÜÊÇÏàͬµÄ,¼´²»ÒòÐòÁÐÕûÌå,²¿·ÖµÄÖØÐÂʵÏÖ¶ø±ä»¯,ÔòÐòÁÐÊǵÈÃݵÄ).ÀýÈç,Èç¹ûÒ»¸öÐòÁÐʵÏֵĽá¹ûÒÀÀµÒ»¸öÐòÁÐÖкóÀ´¿ÉÒÔÐ޸ĵÄÖµ,Ôò¸ÃÐòÁв»ÊǵÈÃݵÄ.

ûÓи±×÷ÓõÄÐòÁÐÊǵÈÃݵÄ(ÌÈÈôÔÚͬÑùµÄ×ÊÔ´ÅäÖÃϲ»Í¬Ê±²Ù×÷)

9.2  OPTIONS(Ñ¡Ï

OPTIONS·½·¨ÃèÊöÁËÔÚÇëÇóURIÈ·¶¨µÄÇëÇó/Ó¦´ð¹ý³ÌÖÐͨÐÅÌõ¼þÊÇ·ñ¿ÉÐеÄÐÅÏ¢.¸Ã·½·¨ÔÊÐí¿Í»§»úÈ·¶¨Ìõ¼þ»òÉ豸,ÆäÓë×ÊÔ´»ò·þÎñÆ÷µÄûÓаµÊ¾×ÊÔ´²Ù×÷»ò³õʼ»¯×ÊÔ´ÖØ½¨µÄÇé¿öϵÄÐÔÄÜÓйØ,

ÕâÖÖ·½·¨µÄÓ¦´ðÊDz»ÄÜ»º´æµÄ.

Èç¹ûOPTIONSÇëÇó°üÀ¨Ò»¸öʵÌå(ÓÃÀ´Ö¸Ê¾ÄÚÈݳ¤¶È»ò´«ÊäÂëµÄ´æÔÚ),½Ó×ÅýÌåÀàÐÍÓ¦¸ÃÓÐÒ»¸öÄÚÈÝÄÚÐÍÓòÀ´È·¶¨.ËäÈ»ÕâÖֹ涨¶ÔÄÇÑùµÄÖ÷ÌåûÓж¨ÒåÈκι¦ÄÜ,δÀ´HTTPµÄÀ©Õ¹¿ÉÒÔÓÃOPTIONSÓòÀ´°²ÅŸü¶àϸ½ÚÐÔµÄÓйطþÎñÆ÷µÄѯÎÊ.һ̨²»Ö§³ÖÀ©Õ¹µÄ·þÎñÆ÷¿ÉÒÔÅׯúÇëÇóÕýÎÄ.

Èç¹ûÇëÇóURIÊÇÒ»¸öÐǺÅ("*"), OPTIONSÇëÇóÌØÒâÓ¦ÓÃÓÚ×ܵķþÎñÆ÷¶ø²»ÊÇÌØ¶¨µÄ·þÎñ×ÊÔ´.¼ÈÈ»·þÎñÆ÷µÄͨÐÅÌõ¼þÈ¡¾öÓÚ×ÊÔ´,"*"ÇëÇóÖ»ÊÇ×÷Ϊ"ping" »ò "no-opÀàÐ͵ķ½·¨²ÅÓÐÓÃ;ËüÖ»ÄÜÔÊÐí¿Í»§»ú²âÊÔ·þÎñÆ÷µÄÐÔÄÜ.ÀýÈç,ÕâÄܱ»ÓÃÀ´¼ì²âһ̨´úÀí»ú¼´ÊÇ·ñÖ§³ÖHTTP/1.1.

Èç¹ûÇëÇóURI²»ÊÇÒ»¸öÐǺÅ("*"), OPTIONSÇëÇóÖ»Êǵ±ºÍ×ÊԴͨÐÅʱӦÓÃÓÚÌõ¼þÊÇ·ñ¿ÉÄÜ.

Ó¦´ð200Ó¦µ±°üÀ¨±íʾ·þÎñÆ÷ʵÏֺͿÉÓ¦ÓÃÓÚ×ÊÔ´µÄ¿ÉÑ¡ÔñµÄÌØÕ÷±¨Í·Óò,.¿ÉÄܰüÀ¨ÕâÖֹ淶¶¨Òå䶨ÒåµÄÀ©Õ¹.¹æ·¶Ã»Óж¨ÒåÕýÎÄ,µ«Î´À´HTTPµÄÀ©Õ¹¿ÉÄܻᶨÒå,ÉÌÒéÄÚÈÝ¿ÉÄÜ»áÓÃÓÚÑ¡ÔñÊʵ±µÄÓ¦´ð¸ñʽ.Èç¹ûûÓÐÓ¦´ðÌå±»°üÀ¨½øÀ´,Ó¦´ð±ØÐë°üÀ¨Ò»¸öֵΪÁãµÄÄÚÈݳ¤¶ÈÓò.

×î´óת·¢ÇëÇó±¨Í·Óò¿ÉÒÔÓÃÓÚÇëÇó¹ý³ÌÖÐÌØ¶¨µÄ´úÀí»ú.µ±´úÀí»úÊÕµ½¿ÉÒÔ¼ÌÐø´«²¥µÄ¾ø¶ÔURIµÄOPTIONSÇëÇóʱ,´úÀí»ú±ØÐë¼ì²â×î´óת·¢Óò.Èç¹û×î´óת·¢ÓòµÄÖµÊÇÁã,´úÀí»ú½ûֹת·¢ÐÅÏ¢.Ïà·´µÄ,´úÀí»ú½«»Ø´ðËü×Ô¼ºµÄͨÐÅÌõ¼þ.Èç¹ûÊÇ´óÓÚÁãµÄÕûÊý,µ±´úÀí»úת·¢ÇëÇóʱ,¸ÃÓòµÄÖµ½«Öð½¥¼õС.Èç¹ûÇëÇóÖÐûÓиÃÓò,Ôòת·¢ÇëÇóµ±ÖÐÒ²»áûÓÐ.


9.3 GET£¨»ñÈ¡£©

GET·½·¨Öؽ¨ÐÅÏ¢µÄÄÚÈÝ(ÕýÎĵÄÐÎʽ)ÓÉÇëÇóURIÀ´È·¶¨.Èç¹ûÇëÇóURIÖ¸Êý¾Ý²úÉúµÄ¹ý³Ì,ËüÊÇÔÚÓ¦´ðÖвúÉú,±»µ±×÷ÕýÎÄ·µ»ØµÄÊý¾Ý,¶ø²»Êǹý³ÌµÄÔ´Îı¾,³ý·ÇÎı¾ÅöÇÉÊǹý³ÌµÄÊä³ö.

Èç¹ûÇëÇóÐÅÏ¢°üÀ¨ If-Modified-Since, If-Unmodified-Since,If-Match, If-None-Match, or If-Range±¨Í·Óò, GETµÄÓïÒ彫±ä³É"Ìõ¼þ£¨conditial£© GET". Ö»ÓÐÔÚÌõ¼þ±¨Í·Óò(conditional header)ËùÃèÊöµÄ»·¾³ÏÂ, Ìõ¼þGET·½·¨ÇëÇóʵÌå±»´«Êä. "Ìõ¼þGET"·½·¨ÓÃÓÚ¼õÉÙ²»±ØÒªµÄÍøÂçʹÓÃ,ÕâÖÖʹÓÃÔÊÐíÔÚûÓжàÖÖÇëÇó»ò¿Í»§»úÒѾ­»ñ´«ÊäÊý¾ÝµÄÇé¿öÏÂˢлº´æÊµÌå.

Èç¹ûÇëÇóÐÅÏ¢°üÀ¨·¶Î§£¨Range)±¨Í·Óò, GET·½·¨µÄÓïÒ彫±ä³É"²¿·Ö(partial)GET","²¿·ÖGET"ÇëÇóÖ»ÒªÇó´«Ê䲿·ÖʵÌå,Èç14.35½ÚÖ¸¶¨µÄÄÇÑù. ²¿·ÖGET·½Ê½Í¨¹ýÔÊÐíµ±¿Í»§¶ËûÓеõ½È«²¿µÄ´«ÊäÊý¾Ýʱ²¿·ÖµÄÖØ½¨Êý¾ÝÀ´¼õÉÙ²»±ØÒªµÄÍøÂçʹÓÃ.

Ö»Óе±GETÇëÇóÅöµ½13ÕÂÀïËùÃèÊöµÄÖ§³ÖHTTP»º´æµÄÉ豸ʱ,Ó¦´ð²ÅÊǿɻº´æµÄ.

µ±Ê¹Óñí¸ñÐÎʽʱ.Çë²Î¿´15.1.3½Ú¹ØÓÚ°²È«µÄ¿¼ÂÇ.


9.4 HEAD£¨±¨Í·£©

³ýÁËÓ¦´ðÖнûÖ¹·µ»ØÏûÏ¢ÕýÎÄÍâ,HEAD·½·¨ÓëGET·½·¨Ò»Ñù.°üº¬ÔÚHTTP±¨Í·ÒÔºóÓ¦´ð±¨Í·Í·ÇëÇóµÄÐÅÏ¢ÓëPOSTÈ¥Ó¦´ðGETÇëÇóµÄÐÅÏ¢ÊÇÏàͬµÄ.ÕâÖÖ·½·¨ÄÜÓÃÓÚ»ñµÃ¹ØÓÚʵÌå¸ü¶àµÄÐÅÏ¢,ûÓд«ÊäʵÌåÕýÎı¾ÉíµÄÇëÇó°µÊ¾ÁËÕâÖÖÐÅÏ¢.Õâ¸ö·½·¨³£ÓÃÀ´¼ì²é³¬Îı¾Á´½ÓµÄÓÐЧÐÔ,¿Éµ½´ïÐÔºÍ×î½üµÄÐÞÕý.

µ±°üº¬ÔÚÓ¦´ðÖеÄÐÅÏ¢¿ÉÒÔÓÃÀ´¸üÐÂÒÔǰ»º´æµÄÀ´×Ô×ÊÔ´µÄʵÌåʱ,¶ÔHEADÇëÇóµÄÓ¦´ðÊǿɻº´æµÄ.Èç¹ûÐÂÓòµÄÖµÏÔʾ»º´æµÄʵÌ岻ͬÓÚµ±Ç°µÄʵÌåʱ(Õ⽫ÔÚÄÚÈݳ¤¶È,ÄÚÈÝ-MD5,ETAG»ò×îºó¸üÐÂʱ¼äÖбíÏÖ³öÀ´),»º³åÇø¾ÍÅׯú»º´æµÄʵÌå.


9.5 POST£¨ÕÅÌù£©
ÔÚPOST ·½·¨ÊÊÓõÄÇëÇóÖÐ,Ô­·þÎñÆ÷½ÓÊÕ¸½¼ÓÔÚÇëÇóºóµÄʵÌå,¸ÃʵÌåºó×÷ΪÇëÇóÐÐÀïÇëÇóURIÖ¸¶¨µÄ×ÊÔ´µÄ´ÎÒª²¿·Ö,. POST ±»Éè¼ÆÎª¾ßÓÐÈçÏµĹ¦µÄͳһµÄ·½·¨:

- ÒÑÓÐ×ÊÔ´µÄ×¢½â.
- ÔÚµç×Ó²¼¸æ°æ,ÐÂÎÅ×é,ÓÊÏä»òÀàËÆµÄÖ÷Ìâ×éÌùһЩÐÅÏ¢.
- ÌṩÊý¾Ý¿é,ÏñÈ·ÈÏ±íµ¥Êý¾Ý´¦ÀíµÄ½á¹û.
- ͨ¹ý¸½¼ÓµÄ²Ù×÷À©³äÊý¾Ý¿â.


POST·½·¨ÊµÏÖµÄʵ¼Ê¹¦ÄÜÈ¡¾öÓÚ·þÎñÆ÷,ÇÒÍùÍùÈ¡¾öÓÚÇëÇóURI.POSTʵÌåÊôÓÚURI,¾ÍÏñÎĵµÊôÓÚ°üÀ¨ËüµÄĿ¼,ÐÂÎÅÖ÷ÌâÊôÓÚËüËùÔÚµÄÐÂÎÅ×é,»ò¼Í¼ÊôÓÚÊý¾Ý¿â.

POST·½·¨ÊµÏֵIJÙ×÷²»»á×÷ÓÃÓÚURI¿ÉÒÔ¼øÊ¶±ðµÄ×ÊÔ´.ÔÚÕâÖÖÇé¿öÏÂ,ÎÞÂÛ2000(OK)»¹ÊÇ2004(ÎÞĿ¼)ÊǺÏÊʵÄÓ¦´ð״̬,È¡¾öÓÚÓ¦´ðÊÇ·ñ°üÀ¨ÃèÊö½á¹ûµÄʵÌå.

Èç¹ûÔ­·þÎñÆ÷ÉÏÒѾ­½¨Á¢ÁË×ÊÔ´,Ó¦´ð½«ÊÇ201(½¨Á¢)ÇÒ°üÀ¨ÃèÊöÇëÇó״̬,Ö¸ÏòеÄ×ÊÔ´µÄʵÌåºÍÒ»¸ö±¾µØ±¨Í·(¿´14.30½Ú).

ÕâÖÖ·½·¨µÄÓ¦´ðÊDz»¿É»º´æµÄ,³ý·ÇÓ¦´ð°üÀ¨ºÏÊʵĻº³å¿ØÖÆ»òÖÕÖ¹±¨Í·Óò.È»¶ø,303(¿´±ðµÄ)Ó¦´ð¿ÉÖ±½ÓÓÃÓÚÓû§´úÀíÖØ½¨¿É»º´æ×ÊÔ´.

POST ÇëÇó±ØÐëÏñ8.2½ÚËùÃèÊöµÄÄÇÑù·þ´ÓÏûÏ¢´«ÊäµÄÐèÒª.

²Î¼û15.1.3½Ú¹ØÓÚ°²È«ÐԵĿ¼ÂÇ.

9.6 PUT£¨·ÅÖã©

PUT·½·¨ÒªÇóËù¸½ÊµÌå´æ´¢ÔÚÌṩµÄÇëÇóURIÏÂ.¼ÙÈçÇëÇóURIÖ¸µÄÊÇÒѾ­´æÔÚµÄ×ÊÔ´,Ëù¸½µÄʵÌåÓ¦µ±±»µ±×÷Ô­·þÎñÆ÷ÖÐÒÑÐ޸ĵİ汾. ¼ÙÈçÇëÇóURIÖ¸µÄ²»ÊÇÒѾ­´æÔÚµÄ×ÊÔ´,¶øURI¿ÉÒÔ±»¿Í»§´úÀí¶¨Òå³ÉеÄ×ÊÔ´,Ô­·þÎñÆ÷¿ÉÒÔ½¨Á¢¸ÃURI×ÊÔ´.¼ÙÉ轨Á¢ÁËÐÂ×ÊÔ´,Ô­·þÎñÆ÷±ØÐëͨ¹ý 201(½¨Á¢)Ó¦´ð֪ͨÓû§´úÀí.Èç¹ûÐÞ¸ÄÁËÒÑÓÐ×ÊÔ´,½«·¢ËÍ200(OK)»ò204(ÎÞÄÚÈÝ)Ó¦´ð±íʾÇëÇóµÄ³É¹¦Íê³É.Èç¹û¶ÔÓÚ¸ÃURI×ÊÔ´²»ÄÜ´´½¨»òÐÞÕý,½«¸ø³öºÏÀíµÄ³ö´íÓ¦´ðÀ´·´Ó³ÎÊÌâËùÔÚ.ʵÌåÈÝÆ÷²»ÄܺöÊÓÈκβ»±»Àí½â»òʵÏÖµÄÄÚÈÝ-*(ÀýÈçÄÚÈÝ·¶Î§)±¨Í·,Õâʱ±ØÐë·µ»Ø501(δʵÏÖ)Ó¦´ð.

Èç¹ûÇëÇó¾­¹ý¸ßËÙ»º³å´æ´¢Æ÷ºÍÇëÇóURI±êʶһ¸ö»ò¶à¸öµ±Ç°»º´æµÄʵÌå,ÕâЩʵÌ彫±»Åׯú.Õâ¸ö·½·¨µÄÓ¦´ðÊDz»¿É»º´æµÄ.

POSTºÍPUTÇëÇó»ù±¾µÄ²»Í¬µã·´Ó³ÔÚÇëÇóURIµÄ²»Í¬ÒâÒå.POST·½·¨ÖеÄURI±êʶ½«´¦Àí¸½¼ÓʵÌåµÄ×ÊÔ´.×ÊÔ´¿ÉÒÔÊÇÊý¾Ý½ÓÊÕ¹ý³Ì,Ò»¸öÍø¹ØºÍһЩЭÒé,»òÒ»¸ö½ÓÊÕ×¢½âµÄ·ÖÉ¢µÄʵÌå.ÓëÖ®Ïà¶ÔÕÕµÄÊÇ, PUTÇëÇóÖеÄURI±êʶÇëÇóËù¸½µÄʵÌå-Óû§´úÀíÁ˽âʲôURIÊÇÓÐÒâµÄºÍ·þÎñÆ÷½ûÖ¹ÊÔͼӦÓÃÇëÇóÓÚ±ðµÄ×ÊÔ´.¼ÙÈç·þÎñÆ÷Ï£ÍûÇëÇóÓ¦ÓÃÓÚ²»Í¬µÄURI,

Ëü±ØÐëÊÇ301(ÓÀ¾ÃÒÆ¶¯)Ó¦´ð;Óû§´úÀí¿ÉÒÔ×Ô¼º¾ö¶¨¹ØÓÚÊÇ·ñ¸Ä±äÇëÇó·ÓÉ.

µ¥¸öµÄ×ÊÔ´¿ÉÒÔ±»Ðí¶à²»Í¬µÄURIÈ·¶¨.ÀýÈç,Ò»¸öÖ÷Ìâ¿ÉÒÔÓÐÒ»¸öURIʶ±ðµ±Ç°°æ±¾,Õâ´ÓURIʶ±ðÿһ¸öÌØ¶¨µÄ°æ±¾·ÖÀ뿪À´.ÔÚÕâÖÖÇé¿öÏÂ,PUTÇëÇóÖÐÒ»°ãµÄURIµ¼Ö·þÎñÆ÷,¶øÆäËûµÄURIÓÉÔ­·þÎñÆ÷¶¨Òå.

HTTP/1.1ûÓж¨ÒåPUT·½·¨ÈçºÎÓ°ÏìÔ­·þÎñÆ÷µÄ״̬.

PUTÇëÇó±ØÐë·þ´Ó8.2½ÚÃèÊöµÄÐÅÏ¢´«ÊäÐèÒª.

³ýÁËÌØ¶¨µÄʵÌ屨ͷ˵Ã÷,POST·½·¨ÖеÄʵÌåÍ·Ó¦¸ÃÓ¦ÓÃÓÚPOST·½·¨´´½¨»òÐ޸ĵÄ×ÊÔ´.

9.7 DELETE£¨É¾³ý£©

DELELE·½·¨ÒªÇóÔ­·þÎñÆ÷ÊÍ·ÅÇëÇóURIÖ¸ÏòµÄ×ÊÔ´.ÕâÖÖ·½·¨¿ÉÒÔͨ¹ýÔ­·þÎñÆ÷ÉÏÈ˵ÄÇ¿ÐиÉÉæ¶øÖÆÖ¹(À¨ÆäËûÊÖ¶Î).¿Í»§»ú²»Äܵ£±£²Ù×÷ÒѾ­ÊµÏÖÁË,¼´Ê¹´ÓÔ­·þÎñÆ÷·µ»ØµÄ״̬Âë˵Ã÷²Ù×÷ÒѾ­³É¹¦µÄÍê³É.µ«Èç¹ûµ±Ê±Ó¦´ðδ¸ø³öµÄ»°,·þÎñÆ÷²»Ó¦¸Ã±íʾ³É¹¦,Ëü´òËãÊÍ·Å×ÊÔ´»òÒÆµ½²»ÄÜ·ÃÎʵÄλÖÃ.

¼ÙÈçÓ¦´ð°üÀ¨ÃèÊö״̬µÄʵÌå,³É¹¦µÄÓ¦´ðÊÇ200(OK),Èç¹û²Ù×÷ÈÔÎ´ÖÆ¶¨,ÔòÓ¦´ðΪ202(½ÓÊÕ),Èç¹û²Ù×÷ÒÑÖÆ¶¨µ«Ó¦´ð²»°üÀ¨ÊµÌå,ÔòÓ¦´ðΪ204(ÎÞÄÚÈÝ).

Èç¹ûÇëÇó¾­¹ý»º´æºÍÇëÇóURIʶ±ðÒ»¸ö»ò¶à¸öµ±Ç°»º´æµÄʵÌå,ÕâЩʵÌ彫±»Åׯú.Õâ¸ö·½·¨µÄÓ¦´ðÊDz»¿É»º´æµÄ.

Èç¹ûÇëÇó¾­¹ý»º´æºÍÇëÇóURIʶ±ðÒ»¸ö»ò¶à¸öµ±Ç°»º´æµÄʵÌå,ÕâЩʵÌ彫±»Åׯú.Õâ¸ö·½·¨µÄÓ¦´ðÊDz»¿É»º´æµÄ.

Èç¹ûÇëÇó¾­¹ý¸ßËÙ»º³å´æ´¢Æ÷ºÍÇëÇóURI±êʶһ¸ö»ò¶à¸öµ±Ç°»º´æµÄʵÌå,ÕâЩʵÌ彫±»Åׯú.Õâ¸ö·½·¨µÄÓ¦´ðÊDz»¿É»º´æµÄ.

9.8 TRACE£¨¸ú×Ù£©

TRACE·½·¨ÓÃÓÚµ÷ÓÃÔ¶³ÌµÄ,Ó¦ÓòãÑ­»·ÇëÇóÏûÏ¢.ÇëÇó×îÖյĽÓÊÕÕßÓ¦µ±·´Éä´Ó¿Í»§»ú×÷Ϊ200Ó¦´ðµÄʵÌåÕýÎÄÊÕµ½µÄÐÅÏ¢.×îÖյĽÓÊÕÕßÒ²ÊÇÔ­·þÎñÆ÷»òÔÚÇëÇóÖÐÊÕµ½×î´óת·¢ÊýÁ¿ÖµµÚÒ»¸ö´úÀí·þÎñÆ÷»òÍø¹Ø (¿´14.31½Ú).TRACEÇëÇó²»°üÀ¨ÊµÌå.

TRACEÔÊÐí¿Í»§¶ËÁ˽âÔÚÇëÇóµÄÁíÒ»¶ËÊÕµ½µÄÄÚÈݺÍÓÃÊý¾Ý²âÊÔ»òÕï¶ÏÐÅÏ¢.¾­Óɱ¨Í·ÓòµÄÖµÓÈÆäÖØÒª,ÒòΪËü±íʾÇëÇó¹ý³ÌµÄ·¾¶.×î´óת·¢ÊýÓòµÄʹÓÃÔÊÐí¿Í»§¶ËÏÞÖÆÇëÇóÁ´µÄ³¤¶È,Õâ¶ÔÔÚÎÞÏÞÑ­»·ÖÐÕÒ³öǰÏò·¾¶µÄ´úÀí·þÎñÆ÷ÊǺÜÓÐÓõÄ.

Èç¹ûÇëÇóÓÐЧ,ÔÚʵÌåÕýÎÄÖÐÓ¦´ð°üÀ¨Õû¸öÇëÇóÐÅÏ¢,¾ßÓÐ"ÏûÏ¢/http"µÄ ÄÚÈÝ-ÐÎʽ.ÕâÖÖ·½·¨µÄÓ¦´ð½ûÖ¹»º´æ.

9.9 CONNECT£¨Á¬½Ó£©
±¾ËµÃ÷Öб£ÁôCONNECT·½·¨ÓÃÓÚÄܶ¯Ì¬½¨Á¢ÆðËíµÀµÄ´úÀí·þÎñÆ÷(ÀýSSL ËíµÀ[44]).



10.״̬´úÂ붨Òå

   Ã¿Ò»¶Î״̬´úÂëÔÚÏÂÃæ±»ÃèÊö,°üÀ¨ËûËùÄÜ×ñÑ­µÄ·½·¨µÄÃèÊöºÍÔÚÓ¦´ðÖÐËù±ØÐèµÄά»¤ÐÅÏ¢.

10.1 ÐÅÏ¢ 1xx

״̬´úÂëµÄÀà¼òµ¥ÃèÊöÁËÒ»¸öÁÙʱµÄ»Ø´ð,Ö»ÊÇÓÉ״̬ÐкͿÉÑ¡ÔñµÄ±¨Í·Ëù×é³É,²¢ÇÒÓÉ¿ÕÐÐËù¾ö¶¨,״̬´úÂëÀàûÓÐËùÐèµÄ±¨Í·.×Ô´ÓHTTP/1.0ûÓж¨ÒåÈκÎ1xx״̬´úÂë,ÔÚʵÑéµÄÌõ¼þÏ·þÎñÆ÷ÑϽû·¢ËÍÒ»¸ö1xxÓ¦´ð¸øHTTP/1.0¿Í»§.
¿Í»§±ØÐë×¼±¸ÔÚ½ÓÊÜͨ³£Ó¦´ð֮ǰ½ÓÊÜÒ»¸ö»òÕß¶à¸ö1xxÓ¦´ð£¬ÉõÖÁ¿Í»§²¢²»ÆÚ´ýÒ»¸ö100״̬µÄ±¨ÎÄ¡£²»±»ÆÚ´ý³öÏÖµÄ1xx״̬Ӧ´ðÒ²Ðí»á±»Óû§¶ËµÄ´úÀíËùºöÂÔ¡£
   
´úÀí·þÎñÆ÷±ØÐëת¼Ä1xxÓ¦´ð£¬³ý·Ç´úÀí·þÎñÆ÷ºÍ¿Í»§Ö®¼äµÄÁªÏµ±»Çжϣ¬»òÕß³ý·Ç´úÀí·þÎñÆ÷±¾ÉíÇëÇó1xxÓ¦´ðµÄ·¢Éú¡££¨¾ÙÀý˵Ã÷Èç¹ûÒ»¸ö´úÀí·þÎñÆ÷ÔÚËüת¼ÄÒ»¸öÇëÇóʱ»á¼ÓÉÏÒ»¸ö"ÆÚÍû:100-----¼ÌÐøÇøÓò",Ëü½ÓÏÂÀ´¾Í²»ÐèҪת¼Ä100»Ø´ðÓ¦´ð£©.

10£®1£®1   100 ¼ÌÐø

  ¿Í»§Ó¦¸ÃºÍËû×Ô¼ºµÄÇëÇó¼ÌÐø¡£ÖмäµÄÓ¦´ð±»ÓÃÓÚ¸æÖª¿Í»§ÇëÇóµÄ³õʼ²¿·ÖÒѾ­ÊÕµ½²¢ÇÒ»¹Ã»Óб»·þÎñÆ÷Ëù¾Ü¾ø¡£¿Í»§Ó¦¸Ã¼ÌÐø·¢ËÍʣϵÄÇëÇ󣬻òÕßÈç¹ûÇëÇóÔçÒÑÍê³É£¬ÄǾͺöÂÔÇëÇó¡£·þÎñÆ÷±ØÐë·¢ËÍÒ»¸ö³õʼ»Ø´ðÓ¦´ðµ±ÇëÇóÍê³Éʱ¡£Èç¹ûÏëÖªµÀÕⲿ·Ö״̬´úÂëÓ÷¨¼°²Ù×÷´¦ÀíµÄÏêϸÌÖÂÛ£¬ÄÇôÇë¿´8.2.3Õ½ڡ£

10£®1£®2 101ת»»Ð­Òé

    ·þÎñÆ÷Á˽ⲢÇÒÔ¸Òâ˳´Ó¿Í»§µÄÇëÇ󣬾­¹ýÉý¼¶µÄ±¨Îı¨Í·ÇøÓò£¬ÎªµÄ¾ÍÊÇÒ»¸öÓ¦ÓÃЭÒéµÄ±ä»¯Ê¹Ö®Äܹ»ÔÚÁ¬½ÓÖÐʹÓ᣷þÎñÆ÷»áת»»Ð­Òéʹ֮³ÉΪÄÇЩͨ¹ýÓ¦´ðÉý¼¶±¨Í·µÄÇøÓò¶¨ÒåµÄÁ¢¼´ÔÚ¾ö¶¨101Ó¦´ðµÄ¿ÕÐÐÖ®ºóµÄЭÒé¡£

    ЭÒéÓ¦¸Ã½ö½öÔÚÕâÑù×öÓÐÀûµÄʱºòʵÐÐת»»¡£±ÈÈ磬ת»»³ÉΪһ¸öа汾µÄHTTPЭÒéÓëÀϰ汾Ïà±È¸ü¼ÓÓÐÀû£¬×ª»»³ÉΪһ¸öʵʱͬ²½µÄЭÒéÒ²Ðí»áÓÐÀû,µ±±»´«Ë͵Ä×ÊÔ´ÐèÒªÀûÓÃÕâÑùµÄÌØÕ÷

10£®2 ³É¹¦ 2xx

ÕâÖÖ״̬´úÂëÀà¼òÒªµÄ˵Ã÷Á˿ͻ§µÄÇëÇ󱻳ɹ¦µÄ½ÓÊÕ£¬Àí½â£¬ºÍ½ÓÊÜ

10.2.1 200 OK

     ÇëÇóÒѾ­³É¹¦¡£Á¬Í¬Ó¦´ðÒ»Æð·µ»ØµÄÐÅÏ¢ÊÇÒÀÀµÓÚÔÚÇëÇóÖÐʹÓ÷½·¨µÄ¡£ÀýÈ磺

GET                    Óë±»ÇëÇóµÄ×ÊÔ´ÏàÓ¦µÄʵÌåÔÚÓ¦´ðÖÐÒ»Æð·¢ËÍ¡£
HEAD          Óë±»ÇëÇó×ÊÔ´Ïà¶ÔÓ¦µÄûÓб¨ÎÄÕýÎĵı¨Í·ÇøÓòÔÚÓ¦´ðÖз¢ËÍ¡£
POST           ÃèÊö»òÕß°üº¬Ðж¯½á¹ûµÄʵÌå¡£
TRACE          µ×¶Ë·þÎñÆ÷ÒѾ­½ÓÊյİüº¬ÇëÇó±¨ÎĵÄʵÌå

10.2.2  201 ´´½¨

ÇëÇóÒѾ­Íê³Éͬʱµ¼ÖÂеÄ×ÊÔ´±»´´Ôì.д´ÔìµÄ×ÊÔ´ºÍµØÖ·±¨Í·ÇøÓò¸ø³ö×ÊÔ´µÄ×îרҵµÄURI¿ÉÒÔ±»ËæÓ¦´ðʵÌå·µ»ØµÄURI²Î¿¼.Ó¦´ðÓ¦¸Ã°üº¬Óû§»òÕßÓû§´úÀí¿ÉÒÔ´ÓÖÐÑ¡Ôñ³öµÄһϵÁÐ×î×îºÏÊÊ×ÊÔ´µÄÌØÕ÷ºÍµØÖ·.ʵÌåµÄ¸ñʽͨ¹ýÔÚÄÚÈÝÐÎʽ±¨Í·ÇøÓò¸ø³öµÄýÌåÐÎʽÀ´Ïêϸ˵Ã÷.×î³õµÄ·þÎñÆ÷±ØÐëÔÚ·µ»Ø201 ״̬´úÂëÒÔǰ´´Ôì×ÊÔ´.Èç¹ûÐж¯²»ÄÜÂíÉÏÖ´ÐÐ,·þÎñÆ÷Ó¦¸ÃÒÔ202½ÓÊÜÓ¦´ðÀ´Ó¦´ðËü.

Ò»¸ö201Ó¦´ð¿ÉÒÔÓÉÒ»¸öΪÁ˸ոմ´Ôì³öµÄÇëÇó±äÁ¿¶øÏÔʾ³öÀ´µÄµ±Ç°ÊµÌå±ê¼Ç·ûµÄÖµµÄEtagÓ¦´ð±¨Í·ÇøÓò,²Î¼û14.19½Ú¡£.

10.2.3 202 ½ÓÊÜ.

ΪÁË´¦Àí,ÇëÇó±»½ÓÊÜ,µ«ÊÇ´¦Àí²¢Ã»ÓÐÍê³É.ÇëÇó×îÖÕÓпÉÄÜ»òÕß²»¿ÉÄÜ×ñÕÕÐÐÊÂ,ÒòΪÔÚ´¦Àí¹ý³Ìʵ¼Ê·¢Éúʱ,ËüÓпÉÄܱ»²»ÔÊÐí.ûÓÐʲôÉ豸¿ÉÒÔ´ÓÈç´ËµÄÒì²½²Ù×÷ÖÐÖØÐ·¢ËÍ״̬´úÂë

202Ó¦´ðÊǹÊÒâÎÞίÍеÄ.ËüµÄÄ¿µÄ¾ÍÔÚÓÚΪÁËÆäËûһЩ¹ý³Ì,ÔÚûÓÐÒªÇóÓû§´úÀíÖ±µ½¹ý³ÌÖ´ÐнáÊø»¹¼á³ÖÁ¬½Óµ½·þÎñÆ÷µÄÇé¿öÏÂ,ÔÊÐí·þÎñÆ÷½ÓÊÜÇëÇó (Ò²ÐíÊÇÒ»ÅúÓÐËùÖ¸ÏòµÄÒ»ÌìÖ»´¦ÀíÒ»´Î).ʵÌåºÍÓ¦´ð·µ»ØÓ¦¸Ã°üÀ¨µ±Ç°µÄÇëÇó״̬,ºÍ»òÕßÒ»¸öÖ¸Ïò״̬¼àÌýÆ÷µÄÖ¸Õë»òÕß¹ØÓÚʲôʱ¼äÓû§ÆÚ´ýÇëÇóÍê³ÉµÄ¹À¼Æ.

.
10.2.4 203  ·ÇȨÍþÐÅÏ¢
ÔÚʵÌ屨ͷÖзµ»ØµÄά»¤ÐÅÏ¢²¢²»ÊÇÔ­·þÎñÆ÷¿ÉÓõÄ×îÖÕµÄÉèÖÃ,µ«ÊÇËûÃÇÊÇ´ÓÒ»¸ö±¾µØµÄ»òÊǵÚÈý·½µÄ¿½±´.Ìá³öµÄÉèÖÃÒ²ÐíÊÇԭʼ°æ±¾µÄ×Ó¼¯»òÊǸ¸¼¯.¾ÙÀýÀ´Ëµ,°üÀ¨ÓйØÓÚÒ²Ðíµ¼Ö±»Ô­·þÎñÆ÷ʶ±ðµÄά»¤ÐÅÏ¢µÄ¸¸¼¯µÄ±¾µØ×¢½âÐÅÏ¢.ÕâÖÖÓ¦´ð´úÂëµÄÓ÷¨²¢²»±ØÐè,¶øÇÒÖ»Óе±Ó¦´ðΪ200ʱ²ÅÊÊÓÃ.


10.2.5 204 ûÓÐÄÚÈÝ

·þÎñÆ÷Íê³ÉÇëÇó²¢²»ÐèÒª·µ»ØÊµÌåµÄÕýÎÄ,²¢ÇÒÒ²ÐíÏë·µ»ØÉý¼¶¹ýµÄά»¤ÐÅÏ¢.Ó¦´ðÒ²Ðí°üº¬ÐµĻòÕßÊÇÉý¼¶¹ýµÄµÄʵÌ屨ͷÐÎʽµÄά»¤ÐÅÏ¢,Èç¹ûÕâЩµ±Ç°µÄ¿ÉÒÔÓëÇëÇóµÄ±äÁ¿Ïà¹ØÁª.

Èç¹û¿Í»§ÊǸöÓû§´úÀí,Ëý¾Í²»Ó¦¸Ã¸Ä±äËüµÄÎļþ¹ÛµãÒÔÇø±ðÓÚÄǸöµ¼ÖÂÇëÇó±»·¢Ë͵ÄÎļþ¹Ûµã.ÕâÑùµÄÓ¦´ðÖ÷ÒªÊǹÊÒâÔÊÐíΪÁËÐж¯µÄÊäÈë·¢ÉúÔÚûÓе¼Ö¶ÔÓû§´úÀíÖ÷¶¯µÄÎļþ¹Ûµã¸Ä±äµÄÇé¿öÏÂ,¾¡¹ÜÈκÎеĻòÕßÊÇÉýÁ˼¶µÄά»¤ÐÅÏ¢Ó¦¸ÃÊÇÊÊÓ¦ÓÚÓû§´úÀíÏÖÔÚµÄÖ÷¶¯¹ÛµãµÄ.

204Ó¦´ðÑϽû°üº¬±¨ÎÄÕýÎÄ,²¢ÇÒÕâÑù×ÜÊÇÓÉÔÚ±¨Í·ÇøÓòÖ®ºóµÄµÚÒ»¸ö¿ÕÐоö¶¨µÄ.

10.2.6 205 ÖØÖÃÄÚÈÝ

·þÎñÆ÷ÒѾ­Íê³ÉÁËÇëÇó,Óû§´úÀíÓ¦¸ÃÖØÐÂÉèÖõ¼ÖÂÇëÇó±»·¢Ë͵ÄÎļþ¹Ûµã.ÕâÖÖÓ¦´ðÖ÷ÒªÊǹÊÒâÔÊÐíÊäÈëÐж¯Í¨¹ýÓû§ÊäÈë·¢Éú,°éËæ¶øÀ´µÄÊǶԸø³öÐÎʽµÄÇåÀíΪÁËÈÃÓû§¿ÉÒÔÇáËÉ¿ªÊ¼ÁíÒ»¸öÊäÈëÐж¯.Ó¦´ðÑϽû°üº¬ÈκÎʵÌå.

10.2.7 206  ¾Ö²¿ÄÚÈÝ

   ·þÎñÆ÷¶ÔÓÚ×ÊÔ´ÒѾ­Íê³ÉÁ˲¿·ÖGETÇëÇó.ÇëÇó±ØÐë°üº¬Ò»¸ö·¶Î§±¨Í·ÇøÓò(14.35½Ú),
   Ö¸³öÁËÏëÒªµÄ·¶Î§,¶øÇÒÒ²ÓпÉÄܰüº¬Ò»¸öʹÇëÇóÌõ¼þ»¯Èç¹û-·¶Î§±¨Í·ÇøÓò

   Ó¦´ð±ØÐë°üº¬ÒÔϵı¨Í·ÇøÓò:

»òÕßÊÇÒ»¸öÄÚÈÝ·¶Î§±¨Í·ÇøÓòÖ¸³ö°üº¬´ËÏÖÓ¦´ðµÄ·¶Î§,»òÕßÊǶÔÿ¸ö²¿·ÖÀ´ËµÒ»¸ö¶à²¿·ÖµÄ/×Ö½Ú·¶Î§µÄÄÚÈÝÐÎʽ¶¼°üº¬ÄÚÈÝ·¶Î§±¨Í·.Èç¹ûÄÚÈݳ¤¶È±¨Í·ÇøÓòÔÚµ±Ç°Ó¦´ðÖÐ,ÄÇôËüµÄÖµ±ØÐëºÍʵ¼ÊÔÚ±¨ÎÄÕýÎÄÖØ´«Ë͵ÄOCTETÏàÆ¥Åä.

     -ÈÕÆÚ
     -Etag»òÕßÄÚÈÝλÖÃ,Èç¹ûÄܹ»ÔÚÒ»¸ö200Ó¦´ðÖжÔÓÚͬһ¸öÇëÇó·¢Ëͱ¨Í·.
     -ÖÕÖ¹,»º´æ¿ØÖÆ,ºÍ/»òÕ߱仯,Èç¹ûÇøÓòÖµÓë¶ÔÓÚͬһ¸ö±äÁ¿ÒÔǰ·¢Ë͵ÄÓ¦´ðÖеÄÇøÓòÖµ²»Ò»Ñù.
  
Èç¹û206Ó¦´ðÊÇÒ»¸öʹÓÃÇ¿»º´æÈ·ÈϵĵÄÈç¹û·¶Î§ÇëÇóµÄ½á¹û,ÄÇôӦ´ð²»Ó¦¸Ã°üº¬ÆäËûʵÌ屨ͷ. Èç¹ûÓ¦´ðÊÇÒ»¸öʹÓÃÈõ»º´æÈ·ÈϵĵÄÈç¹û·¶Î§ÇëÇóµÄ½á¹û,ÄÇôӦ´ðÑϽû°üº¬ÆäËûʵÌ屨ͷ,Õâô×öÊÇΪÁË·ÀÖ¹»º´æÊµÌåÕýÎĺÍÉý¼¶±¨Í·Ö®¼äµÄì¶ÜÐÔ.·ñÔò,Ó¦´ð±ØÐë°üº¬ËùÓжÔͬһ¸öÇëÇ󷵻صÄ200Ó¦´ðÖеÄʵÌ屨ͷ.

Èç¹ûEtag»òÕßÉϴθü¸ÄµÄ±¨Í·²»ÑϸñÆ¥Åä,»º´æÑϽû½«Ò»¸ö206ÇëÇóÓëÆäËûÒÔǰ»º´æµÄÄÚÈÝÁ¬½ÓÆðÀ´

Ò»¸ö²¢²»Ö§³Ö·¶Î§ºÍÄÚÈÝ·¶Î§µÄ»º´æÑϽû»º´æ206(²¿·Ö)Ó¦´ð.

10.3 ÖØÐ¶¨Ïò 3xx.

ÕâÖÖ״̬´úÂëÀàÖ¸³öÁËΪÁËÍê³ÉÇëÇóÓû§´úÀí¶øËùÐèÒª×öµÄ¸ü½øÒ»²½µÄÐж¯.±ØÐèµÄÐж¯          ¿ÉÒÔ±»Ã»ÓÐÓëÓû§·¢Éú½»»¥×÷ÓõÄÓû§´úÀíÖ´Ðв¢ÇÒÔÚµ±ÇÒ½öµ±ÔÚµÚ¶þ¸öÇëÇóÖÐËùÐèµÄ·½·¨ÊÇGET »òÕßÊÇHEAD.¿Í»§Ó¦¸ÃÕì²ì×îÖÕµÄÖØÐ¶¨Ïò»·Â·,ÒòΪ¶ÔÓÚÿһ¸öÖØÐ¶¨ÏòÀ´ËµÕâÑùµÄ»·Â·²úÉúÍøÂ罻ͨ.

×¢½â:Àϰ汾µÄ¹æ·¶ÍƼö×î´óÊýÁ¿Îª5µÄÖØÐ¶¨Ïò.ÄÚÈÝ¿ª·¢ÕßÓ¦¸ÃÖªµÀÒ²ÐíÓй᳹ÕâÑù¸´ÔÓÏÞÖÆµÄ¿Í»§.

10.3.1 300 ¶àÑùÑ¡Ôñ.
   
±»ÇëÇóµÄ×ÊÔ´·ûºÏÈκÎÒ»Ì×±íʾ·¨Ö®Ò»,ÿÖÖ×ÊÔ´ºÍËý×Ô¼ºµÄÌØ¶¨µØÖ·,²¢ÇÒΪÁËʹÓû§¿ÉÒÔÑ¡ÔñÒ»¸öÊ×Ñ¡µÄ±íʾ·¨ºÍÒÀÕÕÄǸöµØÖ·ÖØÐ¶¨Ïò, ´úÀíÇý¶¯µÄЭÉÌÐÅÏ¢¿ÉÒÔ±»Ìṩ³öÀ´.
³ý·ÇËüÊÇÒ»¸öHEADÇëÇó,Ó¦´ð¶¼Ó¦¸ÃÓаüº¬Ò»ÏµÁÐÓû§»òÕßÓû§´úÀí¿ÉÒÔ´ÓÖÐÑ¡ÔñµÄ×î×îºÏÊʵÄ×ÊÔ´ÌØÐԺ͵ØÖ·.ʵÌå¸ñʽ±»ÔÚÄÚÈÝÐÎʽ±¨Í·ÇøÓò¸ø³öµÄúÌåÐÎʽÏêϸ˵Ã÷.ÒÀ¿¿Óû§´úÀíµÄ¸ñʽºÍÈÝÁ¿,×î×îºÏÊʵÄÄǸöÑ¡ÔñÓпÉÄÜ×Ô¶¯Íê³É.²»¹ÜÔõÑù,ÕâÖֹ淶²¢Ã»Óж¨Òå×Ô¶¯Ñ¡ÔñµÄ±ê×¼.Èç¹û·þÎñÆ÷ÓÐÁËÒ»¸ö³ÂÊöµÄÊ×Ñ¡, ÄÇôËüÓ¦¸Ã°üº¬ÎªÁ˹ØÓÚÄǸö³ÂÊöµÄÌØ¶¨µÄURI;Óû§´úÀíΪÁË×Ô¶¯ÖØÐ¶¨Ïò¿ÉÒÔʹÓõØÖ·ÇøÓòÖµ.³ý·ÇÖ¸³öÁíÍâµÄÄÇôӦ´ð¾Í¿ÉÒÔ»º´æ.

10.3.2 301 ÓÀ¾ÃÒÆ¶¯

±»ÇëÇóµÄ×ÊÔ´ÒѾ­·ÖÅäÁËÒ»¸öеÄÓÀ¾ÃµÄURI,ÈκζÔ×ÊÔ´µÄδÀ´²Î¿¼Ó¦¸ÃʹÓ÷µ»ØµÄURIÖеÄÒ»¸ö.Óб༭Á¬½ÓÄÜÁ¦µÄ¿Í»§Ó¦¸Ã¶ÔÓÚ±»ÇëÇóµÄURI´Ó¿ÉÄܵķþÎñÆ÷Öзµ»ØµÄÒ»¸ö»òÕß¶à¸ö²Î¿¼ÖÐʵÏÖ×Ô¶¯Á¬½Ó²Î¿¼.ÕâÖÖÓ¦´ðÊÇ¿ÉÒÔ»º´æµÄ³ý·ÇËüÖ¸³öÆäËûµÄ.

еÄÓÀ¾ÃµÄURIÓ¦¸ÃÔÚÓ¦´ðÖеĵØÖ·ÇøÓò¸ø³ö.³ý·ÇÇëÇó·½·¨ÊÇHEAD,Ó¦´ðµÄʵÌåÓ¦¸Ã°üÀ¨Ò»¸ö¶ÎÖ¸ÏòеÄURIµÄ³¬Îı¾Îı¾×¢½â

Èç¹û301״̬±àÂëÔÚ¶ÔÓ¦ÓÚHEAD»òÕßGEI·½·¨ÖÐÊÕµ½,Óû§´úÀíÑϽû×Ô¶¯µÄÖØÐ¶¨ÏòÇëÇó³ý·ÇËü¿ÉÒÔ±»Óû§È·ÈÏ,ÒòΪÕâÑù¿ÉÄÜ»á¸Ä±äÇëÇó·¢ÉúµÄÌõ¼þ.

×¢½â:µ±ÔÚ½ÓÊܵ½Ò»¸ö301״̬±àÂëºó×Ô¶¯ÖØÐ¶¨ÏòijһÓÊÕþÇëÇó,һЩÏÖ´æµÄHTTP/1.0Óû§´úÀí½«´íÎóµÄ½«Ëü¸Ä³ÉGET·½·¨.

10.3.3 302 ´´Á¢

±»ÇëÇóµÄ×ÊÔ´ÒѾ­·ÖÅäÁËÒ»¸öеÄÓÀ¾ÃµÄURI,ÈκζÔ×ÊÔ´µÄδÀ´²Î¿¼Ó¦¸ÃʹÓ÷µ»ØµÄURIÖеÄÒ»¸ö.Óб༭Á¬½ÓÄÜÁ¦µÄ¿Í»§Ó¦¸Ã¶ÔÓÚ±»ÇëÇóµÄURI´Ó¿ÉÄܵķþÎñÆ÷Öзµ»ØµÄÒ»¸ö»òÕß¶à¸ö²Î¿¼ÖÐʵÏÖ×Ô¶¯Á¬½Ó²Î¿¼.ÕâÖÖÓ¦´ðÊÇ¿ÉÒÔ»º´æµÄ³ý·ÇËüÖ¸³öÆäËûµÄ.

¶ÔÁÙʱµÄURIÓ¦¸Ã¸øÓèµØÖ·ÇøÓò.³ý·ÇÇëÇóµÄ·½·¨ÊÇHEAD,ÏàÓ¦µÄʵÌåÓ¦¸Ã°üº¬Ò»¸ö¶ÌµÄÖ¸ÏòÒ»¸öеÄURIµÄ³¬¼¶Á¬½ÓµÄ³¬Îı¾Ìáʾ

Èç¹û302״̬´úÂëÔÚÒ»¸öÓ¦´ð·ÇGEI»òÕßHEADÇëÇóÖеĹý³ÌÖб»½ÓÊÕµ½,ÄÇôÓû§´úÀíÑϽû×Ô¶¯ÖØÐ¶¨Î»³ý·ÇËü¿ÉÒÔ±»Óû§Ö¤Êµ,ÒòΪËü¿ÉÄܱ仯ËüµÄÇëÇóʵÏÖµÄÌõ¼þ.

×¢½â: RFC 1945 ºÍ RFC 2068 Ïêϸ˵Ã÷Á˿ͻ§²»±»ÔÊÐí¸Ä±äÔÚÖØÐ¶¨Î»ÇëÇóʹÓõķ½·¨.µ«ÊÇ´ó¶àÊý´æÔÚµÄÓû§´úÀí½«302ÊÓΪһ¸ö303Ó¦´ð, ²»¹Ü×î³õµÄÇëÇó·½·¨¶øÔÚλÖÃÇøÓòֵʵÏÖÒ»¸öGET·½·¨.״̬´úÂë303ºÍ307±»¼ÓÔÚ·þÎñÆ÷ÉÏÒÔÏ£ÍûËüÄܹ»Çå³þ¿Í»§ËùÆÚ´ýµÄÄÇÖÖ·´×÷ÓÃ.

10.3.4 303 ¹Û²ì±ðµÄ²¿·Ö

¶ÔÇëÇóµÄÓ¦´ð¿ÉÒÔÔÚ²»Í¬µÄURIÖÐÕÒµ½,²¢ÇÒÓ¦´ðÓ¦¸ÃÔÚ¶Ô×ÊÔ´µÄGET·½·¨ÖÐÖØÐµõ½.ÕâÖÖ·½·¨´æÔÚÖ÷ÒªÊÇΪÁËÔÊÐíÓÊÕþ»îÐÔµÄÊä³ö½Å±¾ÖØÐ¶¨ÏòÓû§´úÀíÓÚÒ»¸öÑ¡ÔñµÄ×ÊÔ´.еÄURI²»ÊÇÒ»¸ö×î³õÇëÇó×ÊÔ´µÄÌæ´ú²Î¿¼.303Ó¦´ðÑϽû»º´æ,µ«ÊǶÔÓÚµÚ¶þ¸öÇëÇó(ÖØÐ¶¨Ïò)¿ÉÒÔ»º´æ.

²»Í¬µÄURIÓ¦¸ÃÔÚÏàÓ¦µÄλÖÃÇøÓò¸ø³ö³ý·ÇÇëÇóµÄ·½·¨ÊÇHEAD,ÏàÓ¦µÄʵÌåÓ¦¸Ã°üº¬Ò»¸ö¶ÌµÄÖ¸ÏòÒ»¸öеÄURIµÄ³¬¼¶Á¬½ÓµÄ³¬Îı¾Ìáʾ.

×¢½â: Ðí¶àHTTP/1.1ÒÔǰµÄÓû§²»Àí½â303״̬.µ±¿Í»§Ö®¼äµÄЭͬ¹¤×÷ÄÜÁ¦±»¹Ø×¢Ê±,302״̬´úÂëÒ²Ðí»á×÷ÎªÌæ´ú¶øÊ¹ÓÃ,ÒòΪ´ó¶àÊýÓû§´úÀí¾ÍÏòÕâÀïÃèÊöµÄ303ÄÇÑù·´×÷ÓÃÓÚ302Ó¦´ð.

10.3.5 304 Ö»¶Á

Èç¹û¿Í»§Ìá³öÒ»¸öÌõ¼þµÄGETÇëÇó²¢ÇÒ·ÃÎÊÒ²ÒѾ­ÔÊÐí,µ«ÊÇÎĵµ²¢Ã»ÓÐÐÞ¸Ä,·þÎñÆ÷Ó¦¸ÃÓ¦´ðÕâЩ״̬±àÂë.304Ó¦´ðÑϽû°üº¬±¨ÎÄÕýÎÄ,²¢ÇÒ×ÜÊÇÓɱ¨Í·ÇøÓòÖ®ºóµÄµÚÒ»¸ö¿ÕÐоö¶¨µÄ.

Ó¦´ð±ØÐë°üÀ¨ÒÔϱ¨Í·ÇøÓò:
-ÈÕÆÚ,³ý·ÇÊý¾Ý¿º³¤ÊÇ14.18.1²¿·Ö±ØÐëµÄ.

Èç¹ûÒ»¸öÎÞʱÖÓÔ­·þÎñÆ÷×ñÊØÕâЩ¹æÔò,²¢ÇÒ´úÀí·þÎñÆ÷ºÍ¿Í»§½«×Ô¼ºµÄÈÕÆÚ¼ÓÈëÈκγɱê×¼µÄÓ¦´ðÖÐÈ¥,»º´æ»á¹¤×÷Õý³£.

-Etag»òÕßÄÚÈÝλÖÃ,Èç¹ûÄܹ»ÔÚÒ»¸ö200Ó¦´ðÖжÔÓÚͬһ¸öÇëÇó·¢Ëͱ¨Í·.

-ÖÕÖ¹,»º´æ¿ØÖÆ,ºÍ/»òÕ߱仯,Èç¹ûÇøÓòÖµÓë¶ÔÓÚͬһ¸ö±äÁ¿ÒÔǰ·¢Ë͵ÄÓ¦´ðÖеÄÇøÓò      
   Öµ²»Ò»Ñù.

Èç¹ûÌõ¼þ»¯µÄGETʹÓÃÁËÇ¿µÄ»º´æ??(Çë²ÎÔÄ13.3.3²¿·ÖÄÚÈÝ),ÄÇôӦ´ðÖоͲ»Ó¦¸ÃÓÐÆäËûʵÌ屨ͷ.·ñÔò,Ó¦´ðÖÐÑϽû°üº¬ÆäËûʵÌ屨ͷ,ÕâÑù×Ó±£»¤ÁË»º´æÊµÌåÕýÎĺÍÉý¼¶±¨Í·Ö®¼äµÄì¶ÜÐÔ

Èç¹û304Ó¦´ðÖ¸³öÁ˵±Ç°ÉÐ믧´æµÄʵÌå,ÄÇô»º´æ¾Í±ØÐëºöÊÓÓ¦´ð²¢ÇÒÎÞÌõ¼þµÄÖØ¸´ÇëÇó

Èç¹û»º´æÊ¹ÓóÉΪ±ê×¼µÄ204Ó¦´ðȡʤ¼²»º´æµÄÈë¿Ú,»º´æ¾Í±ØÐëÉý¼¶×Ô¼ºµÄÈë¿ÚÒÔ·´Ó³ÔÚÓ¦´ðÖиø³öµÄÈκÎеÄÇøÓòÖµ.

10.3.6 305 ʹÓôúÀí·þÎñÆ÷

µØÖ·ÇøÓòµÄ±»ÇëÇóµÄ×ÊÔ´±ØÐëͨ¹ý´úÀí·þÎñÆ÷.µØÖ·ÇøÓò¸ø³ýÁË´úÀí·þÎñÆ÷µÄURI. ÆÚÍûÈÝÄÉÕßͨ¹ý´úÀí·þÎñÆ÷ÖØ¸´ÕâÒ»µ¥Ò»ÇëÇó.305Ó¦´ð±ØÐëÓÉÔ­·þÎñÆ÷²úÉú.

×¢½â: RFC2068²¢²»ÇåÎúÓÚ305ÓÐÒâÓÚÖØÐ¶¨ÏòÒ»¸öµ¥Ò»ÇëÇó,²¢ÇÒ´ËÇëÇó»¹Ö»ÄÜÓÉÔ­·þÎñÆ÷²úÉú.²»ÁôÐÄÕâЩÏÞÖÆ»á²úÉúÏ൱ÑÏÖØµÄ°²È«ºó¹û.

10.3.7 306(ûÓÐÓõÄ)

306״̬±àÂëÔÚÒÔǰµÄ¹æ·¶ÖÐʹÓÃ,ÏÖÔÚÒѾ­²»ÔÙÓÃÁË,´úÂëÒ²±£ÁôÁËÏÂÀ´.

10.3.8 307ÁÙÊ±ÖØ·¢.

  ÇëÇóµÄ×ÊÔ´ÁÙʱ´æÔÚÔÚÁíÒ»¸ö²»Í¬µÄURIÏÂ.ÓÉÓÚÖØÐ¶¨Î»ÓÐʱ¿ÉÄܱ仯,¿Í»§Ó¦¸Ã¼ÌÐøÊ¹ÓÃÇëÇóURIÒÔ±¸½«À´ÓÃ;.Õâ¸öÓ¦´ðÖ»Óе±±»»º´æ¿ØÖÆ»òÊÇÖÕÖ¹±¨Í·ÇøÓòÖ¸³öʱ²ÅÊÇ¿ÉÒÔ´æ´¢µÄ.

ÁÙʱµÄURIÓ¦¸ÃÔÚÓ¦´ðÖеĵØÖ·ÇøÓò¸ø³ö.³ý·ÇÇëÇóµÄ·½·¨ÊÇHEAD,Ó¦´ðµÄʵÌåÓ¦¸Ã°üÀ¨Ò»¸ö¶ÌµÄÖ¸ÏòÒ»¸öеÄURIµÄ³¬Îı¾Ìáʾ, Ðí¶àHTTP/1.1ÒÔǰµÄÓû§²»Àí½â307״̬.Òò´Ë,ÌáʾӦ¸Ã°üÀ¨Óû§ÔÚеÄURIÖÐΪÁËÖØ¸´Ô­Ê¼ÇëÇóËù±ØÐèµÄÐÅÏ¢.

Èç¹û307״̬´úÂë×÷ΪӦ´ð²»½ö½öÊÇGET»òÕßHEADµÈ·½·¨¶ø½ÓÊÕ,ÄÇôÓû§ÑϽûÖØÐ¶¨ÏòÇëÇó³ý·ÇËü¿ÉÒÔ±»Óû§È·ÈÏ,ÕâÒ²ÊÇ¿ÉÄܵÄ.


10.4 ¿Í»§´íÎó 4xx

״̬´úÂë4xxÀàÊÇרÃÅʹÓÃÔÚ¿Í»§¿´ÉÏÈ¥´íÎóµÄÇéÐÎϵÄ.³ý·Çµ±Ó¦´ðÒ»¸öHEADÇëÇóʱ,·þÎñÆ÷Òò¸ÃÓÐÒ»¸ö°üÀ¨´íÎóÇéÐεĽâÊ͵ÄʵÌå,ÒÔ¼°ËüÊÇ·ñÒ»¸öÁÙʱ»òÕßÖÕÁ˵ÄÌõ¼þ.ÕâЩ״̬±àÂë¿ÉÒÔÓ¦ÓÃÓÚÈκÎÇëÇó·½·¨.Óû§´úÀíÓ¦¸ÃÏòÓû§ÏÔʾÈκΰüÀ¨µÄʵÌå.

Èç¹û¿Í»§ÔÚ·¢ËÍÊý¾Ý,ʹÓÃTCPµÄ·þÎñÆ÷µÄʵÏÖÓ¦¸ÃСÐÄÒÔ±£Ö¤ÔÚ·þÎñÆ÷¹ØµôÁËËùÓеÄÊäÈëÁ¬½Óʱ¿Í»§³ÐÈÏÊÕµ½°üº¬Ó¦´ðµÄ°ü.ÔڹصôÖ®ºóÈç¹û¿Í»§¼ÌÐø·¢ËÍÊý¾Ý¸ø·þÎñÆ÷,·þÎñÆ÷TCP¶Ñ»á·¢ËÍÒ»¸öÖØÖÆ°ü,Ò²ÐíÕâÑù×Ó»áÔÚ·þÎñÆ÷¿ªÊ¼±»·ÃÎÊÒÔ¼°HTTPÓ¦ÓóÌÐò±»½âÊ͵ÄÇé¿öÏÂ,»á²Áµô¿Í»§²»ÖªµÀµÄÊäÈ뻺³å.

10.4.1 400 »µÇëÇó

ÇëÇóÓÉÓÚ»ûÐεÄÓï·¨¶ø²»±»·þÎñÆ÷ËùÀí½â.¿Í»§²»Ó¦¸ÃÖØ¸´×Ô¼ºµÄÇëÇóÔÚûÓиıäµÄÇé¿öÏÂ.

10.4.2 401 δÊÚȨµÄ

ÇëÇóÐèÒªÓû§µÄ¼ø¶¨.Ó¦´ð±ØÐèÓÐÓÃÓÚ¶Ô±»ÇëÇó×ÊÔ´µÄÌôÕ½µÄ°üº¬WWW¼ø¶¨±¨Í·ÇøÓò.ÈçÓкÏÊʵÄÈÏÖ¤±¨Í·ÇøÓò,¿Í»§¿ÉÒÔÖØ¸´ÇëÇó.Èç¹ûÇëÇóÒѾ­°üº¬ÁËÈÏÖ¤µÄÐÅÈÎÊé,ÄÇô401Ó¦´ð¾ÍÖ¸³öÁËÈÏÖ¤ÓÉÓÚÕâЩÐÅÈÎÊé¶ø±»¾Ü¾ø.Èç¹û401Ó¦´ð°üÀ¨ºÍÉÏÒ»¸öÓ¦´ðͬÑùµÄÌôÕ½²¢ÇÒÓû§´úÀíÒѾ­³¢ÊÔÈÏÖ¤ÁËÖÁÉÙÒ»´Î,ÄÇôӦ¸Ã¸øÓû§ÔÚÓ¦´ðÖиø³öµÄʵÌå,ÒòΪʵÌåÖпÉÄܰüº¬ÏàÓ¦µÄÕï¶ÏÐÅÏ¢.HTTP·ÃÎÊÈÏÖ¤ÔÚ"HTTP Authentication: Basic and Digest Access Authentication" ÖÐÓÐËù½âÊÍ.

10.4.3 402 ±ØÐèµÄÖ§¸¶
  
ÕâÖÖ´úÂë±»±£´æÏÂÀ´ÒԱ㽫À´Ê¹ÓÃ.


10.4.4 403 ½ûÓÃ

·þÎñÆ÷Àí½âÁËÇëÇó,µ«ÊǾܾøÊµÏÖËü.ÈÏÖ¤²»»á°ïÖú,ÇëÇóÒ²²»Ó¦¸ÃÖØ¸´.Èç¹ûÇëÇóµÄ·½·¨²»ÊÇHEAD²¢ÇÒ·þÎñÆ÷Ô¸Ò⽫ÇëÇóΪʲôûÓÐʵÏÖ¸æËß´ó¼Ò,ËüÓ¦¸ÃÔÚʵÌåÖÐÃèÊö¾Ü¾øµÄÀíÓÉ.Èç¹û·þÎñÆ÷²¢²»Ï뽫ÕâÌõÐÅÏ¢¸æË߿ͻ§,״̬´úÂë404(ûÕÒµ½)¿ÉÒÔÌæ´úʹÓÃÖ®.


10.4.5 404 ûÓÐÕÒµ½

·þÎñÆ÷²¢Ã»ÓÐÕÒµ½ÈκοÉÒÔÆ¥ÅäÇëÇóURI.Ìõ¼þÊÇÓÀ¾ÃµÄ»¹ÊÇÔÝʱµÄҲûÓÐÈκεļ£Ïó.410״̬±àÂëÓ¦¸ÃÔÚ·þÎñÆ÷ÖªµÀÀϵÄ×ÊÔ´ÊÇÓÀÔ¶²»¿ÉÒԵõ½µÄ²¢ÇÒûÓÐÒÔǰµÄµØÖ·µÄÇé¿öÏÂ,ͨ¹ýһЩÄÚÔڵĿÉÅäÖõĻú¹¹,²ÅÓ¦¸ÃʹÓÃ.ÕâÖÖ״̬±àÂëµ±·þÎñÆ÷²»Ï뾫ȷչʾΪʲôÇëÇ󱻾ܾø»òÕߺÎʱûÓÐÆäËûµÄÓ¦´ð¿ÉÒÔÀûÓõÄʱºò±»¹ã·ºµÄÓ¦ÓÃ.



10.4.6 405 ²»±»ÔÊÐíµÄ·½·¨

ÔÚÇëÇóÐÐÖÐÌØÊâÖ¸¶¨µÄ·½·¨²»ÔÊÐí·ÃÎÊÓÉÇëÇóURIÖ¸¶¨µÄ×ÊÔ´.Ó¦´ð±ØÐèÓÐÒ»¸ö°üÀ¨Ò»Ð©¶ÔÓÚ±»ÇëÇóµÄ×ÊÔ´ÓÐЧµÄ·½·¨µÄÔÊÐí±¨Í·.


10.4.7 406 ²»½ÓÊÜ

ÇëÇóÖ¸¶¨µÄ×ÊÔ´Ö»¿ÉÄܲúÉúÒÀÕÕÔÚ·¢ËÍÇëÇóÖеĽÓÊܱ¨Í·Óв»½ÓÊܵÄÄÚÈÝÌØÐÔµÄÓ¦´ðʵÌå.

³ý·ÇËüÊÇÒ»¸öHEADÇëÇó,Ó¦´ðÓ¦¸ÃÓаüÀ¨Ò»ÏµÁпÉ×ÈÀûÓõÄʵÌåÌØÐÔºÍλÖÃ,´ÓÖÐÓû§ºÍÓû§´úÀí¿ÉÒÔÕÒ³ö×î×îÊʺϵÄ.ʵÌåµÄ¸ñʽÓÉÔÚÄÚͬÐÎʽ±¨Í·ÇøÓò¸ø³öµÄýÌåÐÎʽËùÖ¸¶¨.ÒÀ¿¿´Ë¸ñʽºÍÓû§´úÀíµÄÐÔÄÜ,×î¼ÑµÄÑ¡Ôñ¿ÉÄÜ×Ô¶¯µÄÍê³É.È»¶ø,ÕâÖй淶²¢Ã»Óж¨ÒåÈκÎÕë¶Ô´Ë×Ô¶¯Ñ¡ÔñµÄ±ê×¼

×¢½â: HTTP/1.1·þÎñÆ÷ÔÊÐí·µ»ØÒÀÕÕÔÚÇëÇóÖз¢Ë͵ĽÓÊܱ¨Í·²»±»½ÓÊܵÄÓ¦´ð.ÔÚijЩÇé¿öÏÂ,·¢ËÍÒ»¸ö406Ó¦´ðÉõÖÁ¸ü¼ÓÓÐÀû.Óû§´úÀí±»¹ÄÀøÈ¥¼ì²éÊäÈëÓ¦´ðµÄ±¨Í·ÒÔÅжÏÊÇ·ñ¿ÉÒÔ½ÓÊÜ.

Èç¹ûÓ¦´ð²»±»½ÓÊÜ,ÄÇôÓû§´úÀíÓ¦¸ÃÔÝʱֹͣ½ÓÊÕ¸ü¶àÊý¾Ý²¢ÇÒÏòÓû§²éѯÊÇ·ñÐèÒª¸ü½øÒ»²½µÄÐж¯¾ö¶¨.


10.4.8 407 ´úÀí·þÎñÆ÷ÈÏÖ¤Ëù±ØÐè

ÕâÖÖ´úÂëºÜÏà½üÓÚ401,µ«ÊÇËüÖ¸³öÁ˿ͻ§±ØÐëºÍ´úÀí·þÎñÆ÷Ö®¼äÈÏÖ¤×Ô¼º.´úÀí·þÎñÆ÷±ØÐè·µ»ØÒ»¸ö´úÀí·þÎñÆ÷----ÈÏÖ¤±¨Í·ÇøÓò,¸ÃÇøÓò°üÀ¨ÊÇΪÁ˱»ÇëÇóµÄ×ÊÔ´¶øÓÃÓÚ´úÀí·þÎñÆ÷µÄÌôÕ½.¿Í»§¿ÉÄÜËæ×ÅÒ»¸öºÏÊʵĴúÀí·þÎñÆ÷ÈÏÖ¤±¨Í·ÇøÓòÒ»ÆðÖØ¸´ËüµÄÇëÇó.  HTTP·ÃÎÊÈÏÖ¤ÔÚ" HTTP Authentication: Basic and Digest Access Authentication"ÖÐÓнâÊÍ.


10.4.9 408 ÇëÇó³¬Ê±

ÔÚ·þÎñÆ÷×¼±¸µÈ´ýµÄʱ¼ä¶ÎÄÚ,¿Í»§²¢Ã»ÓвúÉúÇëÇó.¿Í»§Ò²Ðí»áÔÚÒÔºóµÄÈÎÒâһʱ¼äÄÚÖØ¸´ÇëÇó.

10.4.10 409 ³åÍ»

ÓÉÓÚÓë×ÊÔ´µÄÏÖÔÚ״̬µÄ³åÍ»ÇëÇóÓοÍÄܲ»ÄÜÍê³É.´úÂëÖ»ÓÐÔÚÓû§±»ÆÚ´ýÓпÉÄܽâ¾ö³åÍ»ºÍÌá½»ÇëÇóµÄµØ·½µÄÇé¿öÏÂÔÊÐíʹÓÃ.Ó¦´ðÌåÓ¦¸Ã°üÀ¨¶ÔÓÚÓû§ÈÏʶ³åÍ»À´Ô´µÄ×ã¹»¶àµÄÐÅÏ¢.ÀíÏëµÄ,Ó¦´ðÌåÓ¦¸ÃÓжÔÓÚÓû§ºÍÓû§´úÀí¿ÉÒÔ½â¾öÎÊÌâµÄ×ã¹»¶àµÄÐÅÏ¢Á¿.È»¶ø,ÕâÒ²ÐíÊDz»¿ÉÄܵĻòÕßÊDz»±ØÐèµÄ.

³åͻͨ³£»á·¢ÉúÔÚÓ¦´ðPUTÇëÇóµÄʱºò.ÀýÈç,°æ±¾ÕýÔÚ±»Ê¹ÓöøÇÒÕýÔÚPUTµÄʵÌåÓкÍÒÔǰÇëÇó(µÚÈý·½)³åÍ»µÄ×ÊÔ´µÄ±ä¸üµÄ»°,·þÎñÆ÷»áʹÓÃ409Ó¦´ðÀ´Ö¸³öËü²»ÄÜÍê³ÉÇëÇó.ÔÚÕâÖÖÇéÐÎÏÂ,Ó¦´ðʵÌå¿ÉÄÜ»á°üÀ¨Ò»ÏµÁÐÔÚÄÚÈÝÐÎʽӦ´ðÖж¨ÒåµÄÁ½ÖÖ°æ±¾µÄÇø±ðÖ®´¦.
10.4.11 410 ֹͣ
·þÎñÆ÷Éϵı»ÇëÇóµÄ×ÊÔ´²»ÔÙ¿ÉÓÃ,¶øÇÒ²»ÖªµÀÒÔǰµÄµØÖ·.ÎÒÃÇÆÚÍû´ËÌõ¼þ±»ÈÏΪÊÇÓÀÔ¶µÄ.ÓÐÁ¬½Ó±à¼­ÄÜÁ¦µÄ¿Í»§ÔÚÓû§Í¬ÒâµÄÇé¿öÏÂ,Ó¦¸Ãɾµô¶ÔÇëÇóURIµÄ²Î¿¼.Èç¹û·þÎñÆ÷²¢²»ÖªµÀ,»òÕßûÓÐÉ豸ȥ¾ö¶¨ÊÇ·ñÌõ¼þÊÇÓÀ¾ÃµÄ,״̬´úÂë404(δÕÒµ½)´ËʱӦ¸ÃʹÓÃ.ÕâÖÖÓ¦´ðÊDz»¿É±»»º´æµÄ³ý·ÇÁíÍâÖ¸³ö.

410Ó¦´ðÖ÷ÒªÊÇͨ¹ýͨ¸æÇëÇóÕß×ÊÔ´ÓÐÒâ²»¿É»ñµÃºÍ·þÎñÆ÷Ö÷ÈËÏ£ÍûÄÇЩԶ·½Á¬½Óµ½×ÊÔ´µÄÁ¬½Ó¶¼±»Çë³ýµôÕâÁ½ÌõÐÅÏ¢ÓÃÓÚÔ®ÖúWEBά»¤.ÕâÑùµÄÊÂÇéºÜÆÕͨ·¢ÉúÔÚʱ¼äÊÜÏÞ,Ôö¼ÓµÄ·þÎñºÍ²»ÔÙ·þÎñÆ÷¶Ë¹¤×÷µÄµÄÊôÓÚ˽ÈËÐÔÖʵÄ×ÊÔ´ÕâЩÇé¿öÏÂ.ÎÒÃDz¢²»ÐèÒª±ê×¢ËùÓеÄÓÀ¾Ã²»¿ÉÓõÄ×ÊÔ´"ûÁË"»òÊDZê×¢ÉÏÈÎÒâÒ»¶Î³¤¶ÈµÄʱ¼ä-----ÕâЩ½»¸øÄÇЩ·þÎñÆ÷µÄÖ÷ÈË×Ô¼ºÈ¥ÅжϰÉ.


10.4.12 411 ±ØÐèµÄ³¤¶È

·þÎñÆ÷¾Ü¾ø½ÓÊÜûÓж¨ÒåµÄÄÚÈݳ¤¶ÈµÄÇëÇó. Èç¹û¼ÓÉÏÁËÒ»¸öÓÐЧµÄ"°üº¬ÓÐÇëÇó±¨ÎÄÕýÎÄÖеij¤¶È"µÄÄÚÈݳ¤¶È±¨Í·ÇøÓò,ÄÇô¿Í»§¿ÉÄÜÖØ¸´ÇëÇó.


10.4.13 412 Ô¤´¦Àíʧ°Ü

ÔÚÒ»¸ö»òÕß¶à¸öÇëÇóÖиø³öµÄÔ¤´¦ÀíÔÚ±»·þÎñÆ÷ÑéÖ¤µÄʱºò»á±»ÆÀ¼ÛΪ´íÎóµÄ.ÕâÖÖÓ¦´ð´úÂëÔÊÐí¿Í»§½«Ô¤´¦Àí·ÅÔÚµ±Ç°×ÊԴά»¤ÐÅÏ¢(±¨Í·ÇøÓòÊý¾Ý),²¢ÇÒÕâÑù×÷ÒÔ·ÀÖ¹ÓÐÆäËûµÄÊÊÓ¦×ÊÔ´ÇëÇóµÄ·¨µÄ¶ø·ÇËùÒªµÄÄÇÒ»¸ö.


10.4.14 413 ÇëÇóʵÌåÌ«´ó

·þÎñÆ÷¾Ü¾ø´¦ÀíÒ»¸öÇëÇóÒòΪÇëÇó±È·þÎñÆ÷ËùÄܺÍËùÔ¸´¦ÀíµÄ»¹Òª´ó.·þÎñÆ÷¿ÉÄܹصôÁ¬½ÓÒÔ·ÀÖ¹¿Í»§¼ÌÐøÇëÇó.

Èç¹ûÌõ¼þÊÇÔÝʱµÄ,·þÎñÆ÷Ó¦¸ÃÓÐÒ»¸öÖØÐÂÊÔ-ÔÚÖ®ºó±¨Í·ÇøÓòÒÔ±ãÓÚÖ¸³öÕâÊÇÔÝʱµÄÔÚʲôʱ¼äÒÔºó¿Í»§¿ÉÒÔÔÙÊÔÒ»´Î.
10.4.15 414 ÇëÇóµÄURI¹ý³¤

·þÎñÆ÷¾Ü¾øÇëÇóµÄ·þÎñÒòΪÇëÇóµÄURI±È·þÎñÆ÷ËùÔ¸Òâ½âÊ͵ÄÒª³¤.ÕâÖֱȽÏÕäÏ¡µÄÌõ¼þÖ®¿ÉÄÜ·¢ÉúÔÚµ³¿Î»¥²¹Ç¡µ±µÄ½«POSTÇëÇó±äΪÓг¤²éѯÐÅÏ¢µÄ GETÇëÇóµÄÇé¿öÏÂ,»òÊǿͻ§Âäµ½ÁËÒ»¸öÖØÐ¶¨ÏòµÄURIºÚ¶´ÖÐʱ,ÔÙ»òÕßÊÇÔÚһЩʹÓù̶¨³¤¶È»º³åÇøÓÃÒÔ¶Á»òÕß´¦ÀíÇëÇóµÄURIµÄ·þÎñÆ÷Ôâµ½×갲ȫ©¶´µÄºÚ¿ÍµÄ¹¥»÷µÄʱºò.


10.4.16 415 ²»±»Ö§³ÖµÄýÌåÀàÐÍ

·þÎñÆ÷¾Ü¾øÌṩ·þÎñ¸øÇëÇóÒòΪÇëÇóµÄʵÌåËùÇëÇóµÄ·½·¨ÊÇÔÚÒ»ÖÖ²»±»ÇëÇó×ÊÔ´Ö§³ÖµÄ¸ñʽÏÂ.

10.4.17 416 ÇëÇó·¶Î§²»Âú×ã

Èç¹ûÇëÇó°üÀ¨·¶Î§ÇëÇó±¨Í·ÇøÓò,»òÕßÊÇÔÚÇøÓòÄÚûÓз¶Î§ËµÃ÷·ûµÄÖµÒç³öµ±Ç°Ñ¡Ôñ×ÊÔ´µÄÑÓÉì,ÔÙ»òÕßÊÇÇëÇóûÓаüº¬Èç¹û--·¶Î§ÇëÇó--±¨Í·ÇøÓò,·þÎñÆ÷Ó¦¸Ã·µ»ØÁ¬Í¬×´Ì¬´úÂëµÄÒ»¸öÓ¦´ð.(¶ÔÓÚ×Ö½Ú-·¶Î§,ËüÒâζ×ÅËùÓеÄ×Ö½Ú·¶Î§ËµÃ÷ÖеĵÚÒ»×Ö½Ú???µÄÖµ±Èµ±Ç°Ñ¡Ôñ×ÊÔ´µÄ³¤¶ÈÒª´ó)

µ±×´Ì¬´úÂë·µ»ØÒ»¸ö×Ö½Ú·¶Î§ÇëÇóʱ,Ó¦´ðÓ¦¸Ã°üº¬Ò»¸öÏêϸ˵Ã÷Ñ¡Ôñ×ÊÔ´µÄ³¤¶ÈµÄÄÚÈÝ·¶Î§ÇøÓò.(Çë²ÎÔÄ14.16).Ó¦´ðÑϽûʹÓöಿ·Ö/×Ö½Ú·¶Î§µÄÄÚÈÝÐÎʽ.

10.4.18 417 ÆÚÍûʧ°Ü

ÔÚÇëÇó±¨Í·ÇøÓò¸ø³öµÄÔ¤Áϲ»¿ÉÄܱ»·þÎñÆ÷ʵÏÖ,»òÕß,Èç¹û·þÎñÆ÷ÊÇ´úÀí·þÎñÆ÷,·þÎñÆ÷ÓÐÇëÇ󲻿ÉÄܱ»ÏÂÒ»¸ö??·þÎñÆ÷ʵÏÖµÄÄ£ºýµÄÖ¤¾Ý


10.5 ·þÎñÆ÷´íÎó 5xx

Ó¦´ð״̬´úÂëÓð¢À­²®Êý×Ö"5"±íʾ·þÎñÆ÷ÖªµÀËü×Ô¼ºÓдíÎó»òÕß×Ô¼º²»ÄÜʵÏÖÇëÇóµÈÕâЩÇé¿ö.³ýÁ˵±Ó¦´ðÒ»¸öHEADÇëÇó,·þÎñÆ÷Ó¦¸ÃÓÐÒ»¸ö°üÀ¨´íÎóÐÎʽµÄ½âÊ͵ÄʵÌåºÍËüÊÇ·ñÔÝʱ»òÕßÓÀ¾ÃµÄÌõ¼þµÄ½âÊ͵ÄʵÌå.Óû§´úÀíÓ¦¸ÃÏÔʾÈκΰüÀ¨µÄʵÌ司Óû§.ÕâЩӦ´ð´úÂë¶ÔÓÚÈκÎÇëÇóµÄ·½·¨¶¼ÊÇÊÊÓõÄ.


10.5.1 500 ·þÎñÆ÷ÄÚ²¿´íÎó

·þÎñÆ÷Óöµ½Ô¤Áϵ½µÄ·ÀÖ¹ËüÍê³ÉÇëÇóµÄÇé¿ö.


10.5.2 501 ²»ÄÜʵÏÖ

·þÎñÆ÷²»Ö§³ÖÍê³ÉÇëÇóËù±ØÐèµÄ¹¦ÄÜÐÔ. µ±·þÎñÆ÷²¢²»ÈÏʶÇëÇóµÄ·½·¨²¢ÇÒûÓÐÄÜÁ¦¶ÔÓÚÈκÎ×ÊÔ´Ö§³Öʱ,ÕâÊǺÏÊʵÄÓ¦´ð


10.5.3 502 »µÍø¹Ø

·þÎñÆ÷,µ±±»ÓÃ×÷Ò»¸öÍø¹Ø»òÕßÊÇ´úÀí·þÎñÆ÷ʱ,¾Í»á´ÓÉÏÁ÷µÄ·þÎñÆ÷ÊÕµ½ÎÞЧµÄÓ¦´ðÒÔÊÔͼÍê³ÉÇëÇóµÄ·ÃÎÊ.


10.5.4 503 ÄÑÒÔ»ñµÃµÄ·þÎñ.

ÓÉÓÚÔÝʱµÄ¹ýÔØ»òÕß·þÎñÆ÷ά»¤,·þÎñÆ÷´Ëʱ²»ÄÜ´¦ÖÃÇëÇó.Õâ˵Ã÷ÁËÕâÊÇÒ»¸öÔÝʱµÄÌõ¼þ¹ýһЩµ¢¸é»á¼õÇá.Èç¹ûÖªµÀ,µ¢¸éµÄ³¤¶ÈÓ¦»áÔÚÖØÐÂÊÔ-ÔÚÖ®ºó±¨Í·ÖÐÖ¸³ö.Èç¹ûûÓÐÖØÐÂÊÔ-ÔÚÖ®ºó¸ø³ö,¿Í»§Ó¦¸Ã´¦Àí´¦ÖÃÓ¦´ð¾ÍÏñ´¦ÀíÒ»¸ö500Ó¦´ðÒ»Ñù¡£

×¢½â£º503״̬´úÂëµÄ´æÔÚ²¢²»°µÊ¾×Å·þÎñÆ÷±ØÐèʹÓÃËüµ±Ëü±äµÃ¹ýÔØÊ±¡£ÓÐЩ·þÎñÆ÷Ö»Ïë¼òµ¥µÄ¾Ü¾øÁ¬½Ó¡£

10.5.5 504 Íø¹Ø³¬Ê±

·þÎñÆ÷,µ±±»ÓÃ×÷ÊÇÍø¹Ø»òÕßÊÇ´úÀí·þÎñÆ÷ʱ, ÓÉÓÚURIÖ¸¶¨µÄÉÏÓηþÎñÆ÷»òÕ߯äËûһЩ¸¨Öú·þÎñÆ÷ÒÔÓÐ×ʸñ³¢ÊÔÍê³ÉÇëÇó,²¢Ã»ÓÐÊÕµ½¼°Ê±µÄÓ¦´ð.

×¢½â:É豸ע½â:һЩչ¿ªµÄ´úÀí·þÎñÆ÷¶¼ÖªµÀ·µ»Ø400»òÕß500µ±DNS²éÕÒʱ¼ä¹ý³¤Ê±.

10.5.6 505 HTTP°æ±¾²»Ö§³Ö

·þÎñÆ÷²¢²»Ö§³Ö,»òÕ߾ܾøÖ§³Ö,ÔÚÇëÇóÐÅÏ¢ÖÐÓõ½ÁËHTTPЭÒé°æ±¾.·þÎñÆ÷Ö¸³öËü²»ÄÜ»òÊDz»Ô¸Íê³ÉʹÓÃÓë¿Í»§¶ËÒ»ÑùµÄ°æ±¾µÄÇëÇó,¾ÍÏñÔÚÕ½Ú3.1ÖÐÃèÊöµÄÄÇÑù,???????.Ó¦´ðÓ¦¸Ã°üº¬ÃèÊöΪʲôÄǸö°æ±¾²»ÎªÖ§³Ö¶øÎªÊ²Ã´ÆäËûЭÒé±»·þÎñÆ÷Ö§³ÖµÄʵÌå..


11.Èë¿ÚÑéÖ¤

HTTPÌṩÁËһЩ¿ÉÒÔÑ¡ÔñµÄÓÃÓÚ·þÎñÆ÷ÌôÕ½Óû§ÇëÇóºÍÓû§ÌṩÑéÖ¤ÐÅÏ¢µÄµÄÌôÕ½-Ó¦´ðÑéÖ¤»úÖÆ.Èë¿ÚÑéÖ¤µÄ´óÌå¿ò¼Ü,ºÍ»ù´¡¼°·ÖÀàÑéÖ¤µÄ¹æ·¶ÔÚ" HTTP ¹æ·¶:"»ù´¡¼°·ÖÀàÈë¿ÚÑéÖ¤"ÖÐÏêϸ˵Ã÷.Õâ·Ý˵Ã÷´Ó¹æ·¶ÖвÉÓÃÁË"ÌôÕ½"ºÍ"Íâ½»¹úÊé"µÄ¶¨Òå


12.ÄÚÈÝ̸ÅÐ

´ó¶àÊýHTTPÓ¦´ð¶¼ÓÐÒ»¸ö°üÀ¨ÈËÀàÓû§½âÊÍÐÅÏ¢µÄʵÌå.×ÔÈ»µØ,Ïà¶ÔÓÚÇëÇóËüÐèÒªÌṩ¸øÓû§"×î¼ÑÀûÓÃ"µÄʵÌå.ºÜ²»ÐÒµÄÊÇ,¶ÔÓÚ·þÎñÆ÷ºÍ´æ´¢Æ÷À´Ëµ,²»ÊÇËùÓеÄÓû§¶¼ÓÐͬÑùµÄ¹ØÓÚ"ʲôÊÇ×îºÃµÄ"µÄÅжÏ×¼Ôò,²¢ÇÒ²¢²»ÊÇËùÓеÄÓû§´úÀíÓÐÏàͬµÄ½âÊÍʵÌåÐÎʽµÄÄÜÁ¦.Ϊ´Ë,HTTPΪÁË"ÄÚÈÝ̸ÅÐ" ÌṩÁËһЩ»úÖÆ-----µ±ÓкܶàÖÖ¿ÉÄܵıíʾʱÈçºÎÑ¡Ôñ¶ÔÓÚÒ»¸öÇëÇóµÄ×î¼ÑµÄ±íʾ.

×¢½â: Õâ²»ÊÇËùνµÄ"¸ñʽ̸ÅÐ,ÒòΪ±ä»¯µÄ±íÏÖÒ²ÐíÊÇÏàͬµÄýÌåÐÎʽ,µ«ÊÇʹÓÃÄÇÖÖÐͺŵIJ»Í¬ÐÔÄܵÄ,»¹Ò²ÐíÊÇʹÓÃÁ˲»Í¬µÄÓïÑÔ.
Èκΰüº¬Ò»¸öʵÌåÕýÎĵĵÄÓ¦´ð¶¼ÓпÉÄÜÊÜÅäÓÚ̸ÅÐ,ÉõÖÁ°üÀ¨ÄÇЩ´íÎóµÄÓ¦´ð.

ÔÚHTTPÖÐÓÐÁ½ÖÖ¿ÉÄܵÄÄÚÈÝ̸ÅÐ:·þÎñÆ÷Çý¶¯µÄºÍ´úÀíÇý¶¯µÄ̸ÅÐ.ÕâÁ½ÖÖ̸ÅÐÊÇÏ໥Õý½»µÄ,ÕâÑùËûÃÇ¿ÉÒÔµ¥¶À»òÕß»ìºÏʹÓÃ.»ìºÏʹÓõÄÒ»ÖÖ±»³ÆÎªÍ¸Ã÷µÄ̸Åеķ½·¨,·¢ÉúÔÚµ±»º´æÊ¹ÓÃÓÉ×î³õµÄΪÁ˺óÀ´µÄÇëÇó¶øÌṩ·þÎñÆ÷Çý¶¯Ì¸ÅеķþÎñÆ÷ÌṩµÄ´úÀíÇý¶¯Ì¸ÅÐÐÅϢʱ.

12.1 ·þÎñÆ÷Çý¶¯Ì¸ÅÐ

Èç¹û¶ÔÓÚÒ»¸öÇëÇóµÄ×î¼Ñ±íʾµÄÑ¡ÔñÓÉ·þÎñÆ÷ÌṩµÄÔËËã·¨ÔòÀ´Íê³É,ÎÒÃǾͽÐËüÊÇ·þÎñÆ÷Çý¶¯Ì¸ÅÐ.Ñ¡ÔñÊÇ»ùÓÚÓ¦´ðÖпÉÐеĽâÊͺÍÔÚÇëÇó±¨ÎĵÄÌØ¶¨±¨Í·ÇøÓòµÄÄÚÈÝ»òÊÇÆäËûһЩÊʺÏÇëÇóµÄÐÅÏ¢(Èç¿Í»§µÄÍøÂçµØÖ·).

·þÎñÆ÷Çý¶¯ÔÚ´ÓËùÓпÉÐеıíʾ·¨ÖÐÌôÑ¡×î¼ÑµÄÔËËã·¨Ôò¶ÔÓÚ¿Í»§ºÜÄÑÃèÊöʱÊÇÓÐÀûµÄ,»òÕßÊǵ±·þÎñÆ÷ÒªÇó½«ËüµÄ"×î¼Ñ¹À¼Æ"ºÍµÚÒ»Ó¦´ðÒ»ÆðË͸ø¿Í»§¶ËʱÓÐÀû.ΪÁËÌá¸ß·þÎñÆ÷µÄ¹À¼ÆÄÜÁ¦,Óû§´úÀí¿ÉÒÔ°üº¬ÎªÁËÕâÑùÒ»¸öÓ¦´ðÃèÊö×Ô¼º²ÎÊýÑ¡ÔñµÄÇëÇó±¨Í·ÇøÓò.


·þÎñÆ÷Çý¶¯Ì¸ÅÐÓÐÕâЩȱµã:

1. ¶ÔÓÚÈκÎÓû§À´Ëµ¾ö¶¨Ê²Ã´ÊÇ×î¼ÑµÄʵ¼ÊÉÏÊDz»¿ÉÄܵÄ,ÒòΪÄÇÑùÐèÒªÓйØÓÚÓû§´úÀíÄÜÁ¦ºÍÓ¦´ðËùÏëÒª·¢»ÓµÄÓÃ;µÄËùÓÐÍêÕûµÄÐÅÏ¢.
2. ÈÃÓû§´úÀíÔÚÿһ¸öÇëÇóÖÐÃèÊö×Ô¼ºµÄÄÜÁ¦Ò²ÊǺܵÍЧµÄ²¢ÇÒ¶ÔÓÚÓû§µÄÒþ˽ҲÊÇDZÔÚµÄÍþв.
3. Ëü¸´ÔÓÁËÔ­·þÎñÆ÷µÄʵÏÖºÍÏà¶ÔÓÚÇëÇóµÄÔËËã·¨Ôò.
4.Ëü¿ÉÄÜ»áÏÞÖÆÒ»¸ö¹«¹²»º´æµÄÄÜÁ¦,ÒòΪ»º´æ¶ÔÓÚ²»Í¬µÄÇëÇó½«Ê¹ÓÃͬÑùµÄÓ¦´ð.

HTTP/1.1 °üº¬ÒÔÏÂͨ¹ýÃèÊöÓû§´úÀíµÄÐÔÄܺÍÓû§µÄ²ÎÊýÑ¡Ôñʹ·þÎñÆ÷Çý¶¯Ì¸ÅгÉΪ¿ÉÄܵÄÇëÇó±¨Í·ÇøÓò: ½ÓÊÜ(Õ½Ú14.1),???(Õ½Ú14.2),½ÓÊܱàÂë(14.3),½ÓÊÜÓïÑÔ(14.4),ÒÔ¼°Óû§´úÀí(14.43).È»¶ø,Ô­·þÎñÆ÷²¢²»ÊÜÏÞÓÚÕâЩ³ß´ç,²¢ÇÒ¿ÉÄÜ»á»ùÓÚÇëÇóµÄ¸÷¸÷·½Ãæ¶ø±ä»¯²»Í¬µÄÓ¦´ð,°üÀ¨ÔÚÇëÇó±¨Í·ÇøÓòÖ®ÍâµÄÐÅÏ¢»òÕßÔڴ˹淶ÖÐûÓж¨ÒåµÄÀ©Õ¹±¨Í·ÇøÓò.

²»Í¬µÄ±¨Í·ÇøÓò¿ÉÒÔÓÃ×÷±í´ï
·þÎñÆ÷ÓÃ×÷Ñ¡Ôñ·þ´Ó·þÎñÆ÷Çý¶¯Ì¸Åеıíʾ·¨µÄ±äÁ¿.Çë²éÔÄÕ½Ú13.6¹ØÓÚ»º´æÖв»Í¬±¨Í·ÇøÓòµÄÓ÷¨ºÍÕ½Ú14.44¹ØÓÚ·þÎñÆ÷²»Í¬±¨Í·ÇøÓòµÄÓ÷¨.

12.2 ´úÀíÇý¶¯Ì¸ÅÐ
ÔÚ´úÀíÇý¶¯Ì¸ÅÐÖÐ,¶ÔÓÚÒ»¸öÓ¦´ðµÄ×î¼Ñ±íʾ·¨µÄÑ¡ÔñÊÇÔÚ´úÀí´ÓÔ­·þÎñÆ÷¶ËÊÕµ½×î³õµÄÓ¦´ðºóʵÏÖµÄ.Ñ¡ÔñÊÇ»ùÓÚһϵÁпÉÓõÄÓ¦´ðµÄͨ¹ý×Ô¼ºURI¼ø¶¨µÄ±íʾ·¨,ÆäÖаüÀ¨³õÓ¦´ðµÄ±¨Í·ÇøÓòºÍʵÌåÕýÎÄ.´Ó±íʾ·¨ÖеÄÑ¡Ôñ¿ÉÒÔ×Ô¶¯ÊµÏÖ(Èç¹ûÓû§ÓÐÄÜÁ¦Õâô×ö)»òÕßÈ˹¤µÄÓû§´Ó²úÉúµÄ²Ëµ¥(¿ÉÄÜÊdz¬Îı¾)ÖÐÑ¡Ôñ.

´úÀíÇý¶¯µÄ̸ÅÐ,µ±Ó¦´ðÓпÉÄܲ»Í¬ÓÚÆÕͨʹÓõijߴçʱ»òÕßÊÇÔ­·þÎñÆ÷²»Äܹ»´Ó¼ì²éÇëÇóÖоö¶¨Óû§´úÀíµÄÐÔÄÜʱ,²¢ÇÒÒ»°ã˵À´µ±¹«¹²µÄ»º´æ±»ÓÃ×÷·ÖÉ¢·þÎñÆ÷¸ºÔغͼõÉÙÍøÂçÓ÷¨.

´úÀíÇý¶¯µÄ̸ÅÐÒ²ÓÐÐèÒª¶þ´ÎÇëÇóÒÔ»ñµÃ×î¼ÑÌæ»»±íʾ·¨ÕâÑùÒ»¸öȱµã.Ö»Óе±»º´æÔÚʹÓÃʱ¶þ´ÎÓ¦´ð²ÅÓÐЧ.×÷Ϊ²¹³ä,¹æ·¶Öв¢Ã»Óж¨ÒåÖ§³Ö×Ô¶¯Ñ¡ÔñµÄÈκλúÖÆ,ËäÈ»ËüҲûÓÐ×èÖ¹ÈκλúÖÆ±»·¢Õ¹ÈçÏñÔÚHTTP/1.1ÖеÄÀ©Õ¹ÄÇÑù.

ÔÚµ±·þÎñÆ÷²»Ô¸»òÊDz»ÄÜÌṩ²»Í¬µÄʹÓ÷þÎñÆ÷Çý¶¯Ì¸ÅеÄÓ¦´ðʱ,HTTP/1.1¶¨ÒåÁË300(¶àÖÖÑ¡Ôñ)ºÍ406(²»½ÓÊÜ)ÕâÁ½ÖÖ״̬±àÂëÒÔʹ´úÀíÇý¶¯Ì¸ÅгÉΪ¿ÉÄÜ.

12.3 ͸Ã÷µÄÅжÏ

͸Ã÷µÄÅжÏÊÇ·þÎñÆ÷Çý¶¯ºÍ´úÀíÇý¶¯Ì¸ÅеĽáºÏÌå.µ±»º´æ±»¹©¸øÁËһϵÁпÉ×ÈÀûÓõÄÓ¦´ðµÄ±íʾ·¨²¢ÇÒ±äÁ¿µÄ³ß´ç±»»º´æ³ä·ÖÀí½âʱ,»º´æ¿ÉÒÔÖ´Ðдú±íΪÁË×ÊÔ´µÄºóÀ´ÇëÇóµÄÔ­·þÎñÆ÷·þÎñÆ÷Çý¶¯µÄÅжÏ.

͸Ã÷µÄ̸ÅÐÓзÖÉ¢ÕâÑùµÄÓŵã, ·ñÔòÊÇÔ­·þÎñÆ÷±ØÐèµÄ̸Åй¤×÷,ÒÔ¼°µ±»º´æ¿ÉÒÔÕýÈ·¹À¼ÆÓ¦´ðʱ¿ÉÈ¥³ýÓû§´úÀí¶þ´ÎÇëÇóµÄÑØÊ±.

´Ë¹æ·¶Ã»Óж¨ÒåÈκιØÓÚ͸Ã÷ÅжϵĻúÖÆ,ËäÈ»ËüҲûÓÐÏñÔÚHTTP/1.1ÖÐʹÓõÄÀ©Õ¹ÄÇÑù×èÖ¹·¢Õ¹»úÖÆ.
13 HTTPÖеĻº´æ
    HTTPµäÐÍÓ¦ÓÃÓÚÄÜͨ¹ý²ÉÓûº´æ¼¼Êõ¶øÌá¸ßÐÔÄܵķֲ¼Ê½ÐÅϢϵͳ¡£HTTP/1.1ЭÒé°üÀ¨µÄÐí¶àÔªËØ¶¼¾¡¿ÉÄܵĽøÐлº´æ²Ù×÷¡£ÒòΪÕâÐ©ÔªËØÓëЭÒéµÄÆäËû·½ÃæÓÐ×Åǧ˿ÍòÂÆµÄÁªÏµ£¬¶øÇÒËûÃÇÏ໥×÷Óá¢Ó°Ïì¡£Òò´Ë£¬¶ÀÁ¢ÓÚËã·¨¡¢±¨Í·¡¢ÏìÓ¦´úÂëµÈµÄϸ½ÚÃèÊöÀ´½²ÊöHTTPÖлº´æµÄ»ù±¾Éè¼ÆÊÇ´óÓÐñÔÒæµÄ¡£
    Èç¹û²»¶Ô»º´æ¼¼Êõ×öÃ÷ÏÔ¸ÄÉÆ£¬Ëû½«Ò»ÎÞÓô¦¡£HTTP/1.1Öлº´æµÄÄ¿µÄÊǽµµÍÔÚÖÚ¶àÇé¿öÏ·¢ËÍÇëÇóµÄÐèÒª£¬Í¬Ê±½µµÍÔÚÆäËûÇé¿öÏ·¢ËÍÍêÕûÏìÓ¦µÄÐèÒª¡£Ç°ÕßʹÖÚ¶à²Ù×÷ÖÐÍù·µÁ÷³Ì¼õÉÙ£¬ÎÒÃÇÓÃ"¹ýÆÚ" »úÖÆÀ´´ïµ½ÕâһĿµÄ£¨¼û13.2½Ú£©£»ºóÕßÊ¹ÍøÂç´ø¿íÐèÇ󽵵ͣ¬ÎÒÃÇÓÃ"ÈÏÖ¤"»úÖÆÀ´´ïµ½ÕâһĿµÄ£¨¼û13.3½Ú£©¡£


    ¶ÔÐÔÄÜ,¿ÉÓÃÐԺͷÖÀë²Ù×÷µÄÐèÒªÒªÇóÎÒÃÇÄÜ·Å¿íÓïÒå͸Ã÷¶ÈµÄÒªÇó.HTTP1.1ЭÒéÔÊÐíÔ´·þÎñÆ÷,»º´æºÍ´úÀí¿Í»§ÔÚ±ØÒªÊ±Ã÷È·½µµÍ͸Ã÷¶È.È»¶ø,ÒòΪ²»Í¸Ã÷²Ù×÷»áÃÔ»ó²»×¨ÒµµÄÓû§,¶øÇÒ¿ÉÄÜͬijЩ·þÎñÆ÷Ó¦Óò»¼æÈÝ(Èç).ÔÚÏÂÁÐÇé¿öÏÂ,ЭÒéÐèҪ͸Ã÷¶È±»½µµÍ:
    ½öµ±´úÀí»òÔ´·þÎñÆ÷Ìá³öÃ÷È·µÄЭÒé²ã´ÎµÄ·Å¿íÇëÇó.
    ½öµ±»º´æ»ò´úÀíÏòÖÕ¶ËÓû§Ìá³öÃ÷È·µÄ·Å¿í¾¯¸æ.

Òò´Ë,HTTP1.1ЭÒéÂú×ãÈçÏÂÒªËØ:
      1.µ±¸÷²¿·Ö¶¼Ìá³öÒªÇóʱ,ЭÒéÌṩÍêÈ«µÄÓïÒå͸Ã÷¶È.
      2.ЭÒéÔÊÐíÔ´·þÎñÆ÷»òÓû§´úÀíÃ÷È·ÇëÇóÇÒ¿ØÖƲ»Í¸Ã÷²Ù×÷.
      3.ЭÒéÔÊÐí»º´æ¶Ôδ´ïµ½ÒªÇóµÄÓïÒå͸Ã÷¶ÈµÄÏìÓ¦·¢³ö¾¯¸æ.      
˵Ã÷:·þÎñÆ÷,»º´æ,»ò´úÀíÉ豸¿ÉÄÜÃæÁÙµÄÉè¼Æ¾ö²ß²»ÔÚ±¾ËµÃ÷ÊéÌÖÂÛ·¶Î§Ö®ÄÚ.Èç¹ûÓйØÓÚÓïÒå͸Ã÷¶ÈµÄ¾ö²ß,´ËÉ豸Ӧ¾¡Á¦±£³ÖÓïÒå͸Ã÷¶È³ý·ÇÓÐ×Ðϸ¶øÍêÕûµÄ·ÖÎö±íÃ÷ÆÆ»µÍ¸Ã÷¶È½«ÓÐÖØ´óºÃ´¦.

13.1.1»º´æ ÕýÈ·ÐÔ
   ÔÚÈçÏÂÁÐÇé¿öÏÂ,Ò»¸öÕýÈ·µÄ»º´æ±ØÐë´ÓËûËù´æ´¢µÄÄÚÈÝÖÐÑ¡³ö×îÐÂÕßÀ´ÏìÓ¦ÇëÇó. (²Î¼û13.2.5,13.2.6,13.12½Ú)
   
1. ¾­¹ý¼ìÑé,Ô´·þÎñÆ÷¶ÔÊÕµ½ÏìÓ¦ÖØÐÂÈ·ÈÏÉúЧ·µ»ØµÄ½á¹ûÓëÔ­À´Ïàͬ.£¨²Î¼û13.3½Ú£©

2£®."×ã¹»±£ÏÊ"(²Î¼û13.2½Ú).ÔÚȱʡֵÇé¿öÏÂ,Ëü±íʾ¶Ô´úÀí,Ô´·þÎñÆ÷ºÍ»º´æ
µÄ×îµÍµÄ±£ÏÊÐÔÒªÇó(²Î¼û14.9½Ú);Èç¹ûÔ´·þÎñÆ÷Ïêϸ˵Ã÷,ÄÇô±£ÏÊÐÔÒªÇó½öÊǶÔÔ´·þÎñÆ÷±¾Éí¶øÑÔÓÐЧ.Èç¹ûijһ´æ´¢µÄÏìÓ¦¶Ô´úÀíºÍÔ´·þÎñÆ÷µÄ×îµÍ±£ÏÊÒªÇóÈÔ²»Âú×ã,É÷ÖØ¿¼ÂÇ,»º´æÓ¦·µ»ØÏìÓ¦²¢¼ÓÈëÊʵ±¾¯¸æ±¨Í·(²Î¼û13.1.5,14.46½Ú),³ý·ÇÕâÖÖÏìÓ¦ÊDZ»½ûÖ¹µÄ(²Î¼û14.9½Ú).

3.  304(δÐÞ¸Ä),305(´úÀíÈËÖØ¼Ä),»ò ´íÎó(4xx,5xx)ÏìÓ¦ÐÅÏ¢.


        Èç¹û»º´æÎÞ·¨ÓëÔ´·þÎñÆ÷ͨÐÅ,Ôòµ±ÏìÓ¦ÄÜÕýÈ·µÄ´Ó»º´æ·¢³öʱ,»º´æÓ¦
ÈçÉÏÏìÓ¦;Èç¹û²»ÄÜ,Ôò»º´æÓ¦·¢³ö´íÎó»ò¾¯¸æÐÅÏ¢ÒÔ˵Ã÷´æÔÚͨÐŹÊÕÏ.
        Èç¹û»º´æÊÕµ½ÏìÓ¦(²»ÂÛÊÇÒ»¸öÍêÕûÏìÓ¦»¹ÊÇÒ»¸ö304ÏìÓ¦),Ëü»á½«Æäת¼Ä
¸øÇëÇó¿Í»§,µ±ÊÕµ½µÄÏìÓ¦±»Ë¢ÐÂʱ,»º´æÓ¦¸Ãת¼Ä¸øÇëÇó¿Í»§¶ø²»Ðë¼ÓÈëеľ¯¸æ
ÐÅÏ¢(ÇÒÎÞÐèÈ¥µôÒѾ­´æÔڵľ¯¸æ±¨Í·).»º´æ²»Äܽö½öÒòΪijһÏìÓ¦ÔÚ´«Ë͹ý³ÌÖÐ
"¹ýʱ"Á˶øÁîÏìÓ¦ÖØÐÂÉúЧ,Õ⽫ÒýÈëÒ»¸öËÀÑ­»·.Ò»¸öÓû§´úÀíÊÕµ½Ã»Óо¯¸æµÄ¹ý
ʱÏìÓ¦Ó¦¶ÔÓû§ÏÔʾ¾¯¸æ.   


13.1.2 ¾¯¸æÐÅÏ¢
        µ±»º´æÆ÷·µ»ØÏìÓ¦¼È²»ÊǵÚÒ»ÊÖµÄÒ²²»ÊÇ×î±£ÏÊ(fresh)µÄ,´ËÏìÓ¦±ØÐ븽¼Ó¾¯¸æ,
ʹÓÃÒ»°ã¾¯¸æ±¨Í·.´Ë¾¯¸æ±¨Í·ÐÅÏ¢ºÍ¸Õ¸Õ¶¨ÒåµÄ¾¯¸æÔÚ14.46ÖÐÓÐÏêÊö,´Ë¾¯¸æÔÊÐí
¿Í»§²ÉÈ¡Êʵ±Ðж¯.
        ¾¯¸æÐÅÏ¢¿ÉÒÔ±»ÓÃ×÷Ëû;,²»ÂÛÊÇ·ñÓ뻺´æÓйØ.¾¯¸æµÄʹÓÃ,¶ø·Ç´íÎó×´
̬´úÂëÇø·ÖÁËǰÊöÏìÓ¦ºÍʵ¼Ê´íÎó.
        ¾¯¸æÐÅÏ¢ÓÉÈýÀà°¢À­²®Êý×Ö´úÂë±íʾ.µÚÒ»¸öÊý×Ö±íÃ÷µ±ÖØ·¢³É¹¦ºó¾¯¸æÐÅ
Ï¢ÊÇ·ñ±ØÐë»ò±ØÐë²»±»É¾³ý.

   See section 14.46 for the definitions of the codes themselves.
1xx ÕâÊÇÃèÊöÏìӦˢлòÖØ·¢×´Ì¬µÄ¾¯¸æÐÅÏ¢,Òò´ËÔÚÖØ·¢³Éºó¹¦±ØÐ뱻ɾ³ýµô
    1xx¾¯¸æÐÅÏ¢½öµ±È·ÈÏÒ»¸ö»º´æÊµÌåʱ²ÅÓÉ»º´æÆ÷²úÉú.Ëü²»ÄÜÓÉ´úÀí¶Ë²úÉú.
2xx Ò»¸öÃèÊöʵÌåÄÚÈÝ»ò±¨Í·µÄ¾¯¸æÐÅÏ¢,Ëü²»ÒòÖØÐÂÈ·È϶ø±»½ÃÕý,¶øÇÒÔڳɹ¦µÄ
     ÖØÐÂÈ·ÈϺóÒ²²»Äܱ»É¾³ý.

´úÂ붨Òå¼û14.46

        HTTP1.0 »º´æÆ÷´æ´¢ÏìÓ¦ÖеÄËùÓо¯¸æÐÅÏ¢,ÇÒ²»»áɾ³ýµÚÒ»Àྯ¸æ.
´«¸øHTTP1.0µÄ¾¯¸æÐ