Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
һƪÎÄÕ´øÄãÏê½â HTTP ЭÒé£¨ÍøÂçЭÒéÆªÒ»£©
 
  1918  次浏览      31
 2019-3-22  
 
±à¼­ÍƼö:

±¾ÎÄÀ´×ÔÓÚ¼òÊ飬¿ªÆªÒ»¸ö˼άµ¼Í¼ÈôøÎÒÃÇÁìÂÔÈ«Îĵķç²É£¬È»ºóÓÉdzÈëÉîµÄHTTPЭÒéµÄ¹¤×÷¹ý³Ì£¬±¨ÎÄ£¬Ð­×÷µÄweb·þÎñÆ÷µÈ¡£

±¾ÆªÎÄÕÂÆª·ù±È½Ï³¤£¬ÏÈÀ´¸ö˼άµ¼Í¼Ô¤ÀÀһϡ£

Ò»ÕÅͼ´øÄã¿´Í걾ƪÎÄÕÂ

Ò»¡¢¸ÅÊö

1.¼ÆËã»úÍøÂçÌåϵ½á¹¹·Ö²ã

¼ÆËã»úÍøÂçÌåϵ½á¹¹·Ö²ã

2.TCP/IP ͨÐÅ´«ÊäÁ÷

ÀûÓà TCP/IP ЭÒé×å½øÐÐÍøÂçͨÐÅʱ£¬»áͨ¹ý·Ö²ã˳ÐòÓë¶Ô·½½øÐÐͨÐÅ¡£·¢ËͶ˴ÓÓ¦ÓòãÍùÏÂ×ߣ¬½ÓÊÕ¶ËÔò´ÓÁ´Â·²ãÍùÉÏ×ß¡£ÈçÏ£º

TCP/IP ͨÐÅ´«ÊäÁ÷Ê×ÏÈ×÷Ϊ·¢ËͶ˵Ŀͻ§¶ËÔÚÓ¦Óò㣨HTTP ЭÒ飩·¢³öÒ»¸öÏ뿴ij¸ö Web Ò³ÃæµÄ HTTP ÇëÇó¡£

½Ó×Å£¬ÎªÁË´«Êä·½±ã£¬ÔÚ´«Êä²ã£¨TCP ЭÒ飩°Ñ´ÓÓ¦Óò㴦ÊÕµ½µÄÊý¾Ý£¨HTTP ÇëÇó±¨ÎÄ£©½øÐзָ²¢ÔÚ¸÷¸ö±¨ÎÄÉÏ´òÉϱê¼ÇÐòºÅ¼°¶Ë¿ÚºÅºóת·¢¸øÍøÂç²ã¡£

ÔÚÍøÂç²ã£¨IP ЭÒ飩£¬Ôö¼Ó×÷ΪͨÐÅÄ¿µÄµØµÄ MAC µØÖ·ºóת·¢¸øÁ´Â·²ã¡£ÕâÑùÒ»À´£¬·¢ÍùÍøÂçµÄͨÐÅÇëÇó¾Í×¼±¸ÆëÈ«ÁË¡£

½ÓÊն˵ķþÎñÆ÷ÔÚÁ´Â·²ã½ÓÊÕµ½Êý¾Ý£¬°´ÐòÍùÉϲ㷢ËÍ£¬Ò»Ö±µ½Ó¦Óò㡣µ±´«Êäµ½Ó¦Óò㣬²ÅÄÜËãÕæÕý½ÓÊÕµ½Óɿͻ§¶Ë·¢Ë͹ýÀ´µÄ HTTPÇëÇó¡£

ÈçÏÂͼËùʾ£º

HTTP ÇëÇó

ÔÚÍøÂçÌåϵ½á¹¹ÖУ¬°üº¬ÁËÖÚ¶àµÄÍøÂçЭÒ飬ÕâÆªÎÄÕÂÖ÷ÒªÎ§ÈÆ HTTP ЭÒ飨HTTP/1.1°æ±¾£©Õ¹¿ª¡£

HTTPЭÒ飨HyperText Transfer Protocol£¬³¬Îı¾´«ÊäЭÒ飩ÊÇÓÃÓÚ´ÓWWW·þÎñÆ÷´«Ê䳬Îı¾µ½±¾µØä¯ÀÀÆ÷µÄ´«ÊäЭÒé¡£Ëü¿ÉÒÔʹä¯ÀÀÆ÷¸ü¼Ó¸ßЧ£¬Ê¹ÍøÂç´«Êä¼õÉÙ¡£Ëü²»½ö±£Ö¤¼ÆËã»úÕýÈ·¿ìËٵش«Ê䳬Îı¾Îĵµ£¬»¹È·¶¨´«ÊäÎĵµÖеÄÄÄÒ»²¿·Ö£¬ÒÔ¼°ÄIJ¿·ÖÄÚÈÝÊ×ÏÈÏÔʾ(ÈçÎı¾ÏÈÓÚͼÐÎ)µÈ¡£

HTTPÊǿͻ§¶Ëä¯ÀÀÆ÷»òÆäËû³ÌÐòÓëWeb·þÎñÆ÷Ö®¼äµÄÓ¦ÓòãͨÐÅЭÒé¡£ÔÚInternetÉϵÄWeb·þÎñÆ÷ÉÏ´æ·ÅµÄ¶¼Êdz¬Îı¾ÐÅÏ¢£¬¿Í»§»úÐèҪͨ¹ýHTTPЭÒé´«ÊäËùÒª·ÃÎʵij¬Îı¾ÐÅÏ¢¡£HTTP°üº¬ÃüÁîºÍ´«ÊäÐÅÏ¢£¬²»½ö¿ÉÓÃÓÚWeb·ÃÎÊ£¬Ò²¿ÉÒÔÓÃÓÚÆäËûÒòÌØÍø/ÄÚÁªÍøÓ¦ÓÃϵͳ֮¼äµÄͨÐÅ£¬´Ó¶øÊµÏÖ¸÷ÀàÓ¦ÓÃ×ÊÔ´³¬Ã½Ìå·ÃÎʵɡ£

ÎÒÃÇÔÚä¯ÀÀÆ÷µÄµØÖ·À¸ÀïÊäÈëµÄÍøÕ¾µØÖ·½Ð×öURL (Uniform Resource Locator£¬Í³Ò»×ÊÔ´¶¨Î»·û)¡£¾ÍÏñÿ¼Òÿ»§¶¼ÓÐÒ»¸öÃÅÅÆµØÖ·Ò»Ñù£¬Ã¿¸öÍøÒ³Ò²¶¼ÓÐÒ»¸öInternetµØÖ·¡£µ±ÄãÔÚä¯ÀÀÆ÷µÄµØÖ·¿òÖÐÊäÈëÒ»¸öURL»òÊǵ¥»÷Ò»¸ö³¬¼¶Á´½Óʱ£¬URL¾ÍÈ·¶¨ÁËÒªä¯ÀÀµÄµØÖ·¡£ä¯ÀÀÆ÷ͨ¹ý³¬Îı¾´«ÊäЭÒé(HTTP)£¬½«Web·þÎñÆ÷ÉÏÕ¾µãµÄÍøÒ³´úÂëÌáÈ¡³öÀ´£¬²¢·­Òë³ÉƯÁÁµÄÍøÒ³¡£

¶þ¡¢HTTP ¹¤×÷¹ý³Ì

HTTPÇëÇóÏìӦģÐÍ

HTTPͨÐÅ»úÖÆÊÇÔÚÒ»´ÎÍêÕûµÄ HTTP ͨÐŹý³ÌÖУ¬¿Í»§¶ËÓë·þÎñÆ÷Ö®¼ä½«Íê³ÉÏÂÁÐ7¸ö²½Ö裺½¨Á¢ TCP Á¬½Ó

ÔÚHTTP¹¤×÷¿ªÊ¼Ö®Ç°£¬¿Í»§¶ËÊ×ÏÈҪͨ¹ýÍøÂçÓë·þÎñÆ÷½¨Á¢Á¬½Ó£¬¸ÃÁ¬½ÓÊÇͨ¹ý TCP À´Íê³ÉµÄ£¬¸ÃЭÒéÓë IP ЭÒ鹲ͬ¹¹½¨ Internet£¬¼´ÖøÃûµÄ TCP/IP ЭÒé×壬Òò´Ë Internet ÓÖ±»³Æ×÷ÊÇ TCP/IP ÍøÂç¡£HTTP ÊÇ±È TCP ¸ü¸ß²ã´ÎµÄÓ¦ÓòãЭÒ飬¸ù¾Ý¹æÔò£¬Ö»ÓеͲãЭÒ齨Á¢Ö®ºó£¬²ÅÄܽøÐи߲ãЭÒéµÄÁ¬½Ó£¬Òò´Ë£¬Ê×ÏÈÒª½¨Á¢ TCP Á¬½Ó£¬Ò»°ã TCP Á¬½ÓµÄ¶Ë¿ÚºÅÊÇ80£»

¿Í»§¶ËÏò·þÎñÆ÷·¢ËÍÇëÇóÃüÁî

Ò»µ©½¨Á¢ÁËTCPÁ¬½Ó£¬¿Í»§¶Ë¾Í»áÏò·þÎñÆ÷·¢ËÍÇëÇóÃüÁ

ÀýÈ磺GET/sample/hello.jsp HTTP/1.1¿Í»§¶Ë·¢ËÍÇëÇóÍ·ÐÅÏ¢

¿Í»§¶Ë·¢ËÍÆäÇëÇóÃüÁîÖ®ºó£¬»¹ÒªÒÔÍ·ÐÅÏ¢µÄÐÎʽÏò·þÎñÆ÷·¢ËÍһЩ±ðµÄÐÅÏ¢£¬Ö®ºó¿Í»§¶Ë·¢ËÍÁËÒ»¿Õ°×ÐÐÀ´Í¨Öª·þÎñÆ÷£¬ËüÒѾ­½áÊøÁ˸ÃÍ·ÐÅÏ¢µÄ·¢ËÍ£»

·þÎñÆ÷Ó¦´ð

¿Í»§¶ËÏò·þÎñÆ÷·¢³öÇëÇóºó£¬·þÎñÆ÷»á¿Í»§¶Ë·µ»ØÏìÓ¦£»

ÀýÈ磺 HTTP/1.1 200 OK

ÏìÓ¦µÄµÚÒ»²¿·ÖÊÇЭÒéµÄ°æ±¾ºÅºÍÏìӦ״̬Âë

·þÎñÆ÷·µ»ØÏìӦͷÐÅÏ¢

ÕýÈç¿Í»§¶Ë»áËæÍ¬ÇëÇó·¢Ë͹ØÓÚ×ÔÉíµÄÐÅÏ¢Ò»Ñù£¬·þÎñÆ÷Ò²»áËæÍ¬ÏìÓ¦ÏòÓû§·¢Ë͹ØÓÚËü×Ô¼ºµÄÊý¾Ý¼°±»ÇëÇóµÄÎĵµ£»

·þÎñÆ÷Ïò¿Í»§¶Ë·¢ËÍÊý¾Ý

·þÎñÆ÷Ïò¿Í»§¶Ë·¢ËÍÍ·ÐÅÏ¢ºó£¬Ëü»á·¢ËÍÒ»¸ö¿Õ°×ÐÐÀ´±íʾͷÐÅÏ¢µÄ·¢Ë͵½´ËΪ½áÊø£¬½Ó×Å£¬Ëü¾ÍÒÔ Content-Type ÏìӦͷÐÅÏ¢ËùÃèÊöµÄ¸ñʽ·¢ËÍÓû§ËùÇëÇóµÄʵ¼ÊÊý¾Ý£»

·þÎñÆ÷¹Ø±Õ TCP Á¬½Ó

Ò»°ãÇé¿öÏ£¬Ò»µ©·þÎñÆ÷Ïò¿Í»§¶Ë·µ»ØÁËÇëÇóÊý¾Ý£¬Ëü¾ÍÒª¹Ø±Õ TCP Á¬½Ó£¬È»ºóÈç¹û¿Í»§¶Ë»òÕß·þÎñÆ÷ÔÚÆäÍ·ÐÅÏ¢¼ÓÈëÁËÕâÐдúÂë Connection:keep-alive £¬TCP Á¬½ÓÔÚ·¢Ëͺó½«ÈÔÈ»±£³Ö´ò¿ª×´Ì¬£¬ÓÚÊÇ£¬¿Í»§¶Ë¿ÉÒÔ¼ÌÐøÍ¨¹ýÏàͬµÄÁ¬½Ó·¢ËÍÇëÇó¡£±£³ÖÁ¬½Ó½ÚÊ¡ÁËΪÿ¸öÇëÇó½¨Á¢ÐÂÁ¬½ÓËùÐèµÄʱ¼ä£¬»¹½ÚÔ¼ÁËÍøÂç´ø¿í¡£

Èý¡¢HTTP ЭÒé»ù´¡

1.ͨ¹ýÇëÇóºÍÏìÓ¦µÄ½»»»´ï³ÉͨÐÅ

Ó¦Óà HTTP ЭÒéʱ£¬±Ø¶¨ÊÇÒ»¶Ëµ£Èοͻ§¶Ë½ÇÉ«£¬ÁíÒ»¶Ëµ£ÈηþÎñÆ÷¶Ë½ÇÉ«¡£½ö´ÓÒ»ÌõͨÐÅÏß·À´Ëµ£¬·þÎñÆ÷¶ËºÍ¿Í·þ¶ËµÄ½ÇÉ«ÊÇÈ·¶¨µÄ¡£HTTP ЭÒ鹿¶¨£¬ÇëÇó´Ó¿Í»§¶Ë·¢³ö£¬×îºó·þÎñÆ÷¶ËÏìÓ¦¸ÃÇëÇó²¢·µ»Ø¡£»»¾ä»°Ëµ£¬¿Ï¶¨ÊÇÏÈ´Ó¿Í»§¶Ë¿ªÊ¼½¨Á¢Í¨Ðŵ쬷þÎñÆ÷¶ËÔÚûÓнÓÊÕµ½ÇëÇó֮ǰ²»»á·¢ËÍÏìÓ¦¡£

2.HTTP ÊDz»±£´æ×´Ì¬µÄЭÒé

HTTP ÊÇÒ»ÖÖÎÞ״̬ЭÒ顣ЭÒé×ÔÉí²»¶ÔÇëÇóºÍÏìÓ¦Ö®¼äµÄͨÐÅ״̬½øÐб£´æ¡£Ò²¾ÍÊÇ˵ÔÚ HTTP Õâ¸ö¼¶±ð£¬Ð­Òé¶ÔÓÚ·¢Ë͹ýµÄÇëÇó»òÏìÓ¦¶¼²»×ö³Ö¾Ã»¯´¦Àí¡£ÕâÊÇΪÁ˸ü¿ìµØ´¦Àí´óÁ¿ÊÂÎñ£¬È·±£Ð­ÒéµÄ¿ÉÉìËõÐÔ£¬¶øÌØÒâ°Ñ HTTP ЭÒéÉè¼Æ³ÉÈç´Ë¼òµ¥µÄ¡£

¿ÉÊÇËæ×Å Web µÄ²»¶Ï·¢Õ¹£¬ÎÒÃǵĺܶàÒµÎñ¶¼ÐèÒª¶ÔͨÐÅ״̬½øÐб£´æ¡£ÓÚÊÇÎÒÃÇÒýÈëÁË Cookie ¼¼Êõ¡£ÓÐÁË Cookie ÔÙÓà HTTP ЭÒéͨÐÅ£¬¾Í¿ÉÒÔ¹ÜÀí״̬ÁË¡£

3.ʹÓà Cookie µÄ״̬¹ÜÀí

Cookie ¼¼Êõͨ¹ýÔÚÇëÇóºÍÏìÓ¦±¨ÎÄÖÐдÈë Cookie ÐÅÏ¢À´¿ØÖƿͻ§¶ËµÄ״̬¡£Cookie »á¸ù¾Ý´Ó·þÎñÆ÷¶Ë·¢Ë͵ÄÏìÓ¦±¨ÎÄÄÚµÄÒ»¸ö½Ð×ö Set-Cookie µÄÊײ¿×Ö¶ÎÐÅÏ¢£¬Í¨Öª¿Í»§¶Ë±£´æCookie¡£µ±Ï´οͻ§¶ËÔÙÍù¸Ã·þÎñÆ÷·¢ËÍÇëÇóʱ£¬¿Í»§¶Ë»á×Ô¶¯ÔÚÇëÇó±¨ÎÄÖмÓÈë Cookie Öµºó·¢ËͳöÈ¥¡£·þÎñÆ÷¶Ë·¢ÏÖ¿Í»§¶Ë·¢Ë͹ýÀ´µÄ Cookie ºó£¬»áÈ¥¼ì²é¾¿¾¹ÊÇ´ÓÄÄÒ»¸ö¿Í»§¶Ë·¢À´µÄÁ¬½ÓÇëÇó£¬È»ºó¶Ô±È·þÎñÆ÷ÉϵļǼ£¬×îºóµÃµ½Ö®Ç°µÄ״̬ÐÅÏ¢¡£

Cookie µÄÁ÷³Ì

4.ÇëÇó URI ¶¨Î»×ÊÔ´

HTTP ЭÒéʹÓà URI ¶¨Î»»¥ÁªÍøÉϵÄ×ÊÔ´¡£ÕýÊÇÒòΪ URI µÄÌØ¶¨¹¦ÄÜ£¬ÔÚ»¥ÁªÍøÉÏÈÎÒâλÖõÄ×ÊÔ´¶¼ÄÜ·ÃÎʵ½¡£

5.¸æÖª·þÎñÆ÷ÒâͼµÄ HTTP ·½·¨£¨HTTP/1.1£©

HTTP ·½·¨

6.³Ö¾ÃÁ¬½Ó

HTTP ЭÒéµÄ³õʼ°æ±¾ÖУ¬Ã¿½øÐÐÒ»¸ö HTTP ͨÐŶ¼Òª¶Ï¿ªÒ»´Î TCP Á¬½Ó¡£±ÈÈçʹÓÃä¯ÀÀÆ÷ä¯ÀÀÒ»¸ö°üº¬¶àÕÅͼƬµÄ HTML Ò³ÃæÊ±£¬ÔÚ·¢ËÍÇëÇó·ÃÎÊ HTML Ò³Ãæ×ÊÔ´µÄͬʱ£¬Ò²»áÇëÇó¸Ã HTML Ò³ÃæÀï°üº¬µÄÆäËû×ÊÔ´¡£Òò´Ë£¬Ã¿´ÎµÄÇëÇó¶¼»áÔì³ÉÎÞηµÄ TCP Á¬½Ó½¨Á¢ºÍ¶Ï¿ª£¬Ôö¼ÓͨÐÅÁ¿µÄ¿ªÏú¡£

ΪÁ˽â¾öÉÏÊö TCP Á¬½ÓµÄÎÊÌ⣬HTTP/1.1 ºÍ²¿·Ö HTTP/1.0 Ïë³öÁ˳־ÃÁ¬½ÓµÄ·½·¨¡£ÆäÌØµãÊÇ£¬Ö»ÒªÈÎÒâÒ»¶ËûÓÐÃ÷È·Ìá³ö¶Ï¿ªÁ¬½Ó£¬Ôò±£³Ö TCP Á¬½Ó״̬¡£Ö¼ÔÚ½¨Á¢Ò»´Î TCP Á¬½Óºó½øÐжà´ÎÇëÇóºÍÏìÓ¦µÄ½»»¥¡£ÔÚ HTTP/1.1 ÖУ¬ËùÓеÄÁ¬½ÓĬÈ϶¼Êdz־ÃÁ¬½Ó¡£

7.¹ÜÏß»¯

³Ö¾ÃÁ¬½ÓʹµÃ¶àÊýÇëÇóÒÔ¹ÜÏß»¯·½Ê½·¢ËͳÉΪ¿ÉÄÜ¡£ÒÔǰ·¢ËÍÇëÇóºóÐèµÈ´ý²¢½ÓÊÕµ½ÏìÓ¦£¬²ÅÄÜ·¢ËÍÏÂÒ»¸öÇëÇó¡£¹ÜÏß»¯¼¼Êõ³öÏֺ󣬲»ÓõȴýÒà¿É·¢ËÍÏÂÒ»¸öÇëÇó¡£ÕâÑù¾ÍÄÜ×öµ½Í¬Ê±²¢Ðз¢ËͶà¸öÇëÇ󣬶ø²»ÐèÒªÒ»¸ö½ÓÒ»¸öµØµÈ´ýÏìÓ¦ÁË¡£

±ÈÈ磬µ±ÇëÇóÒ»¸ö°üº¬¶àÕÅͼƬµÄ HTML Ò³ÃæÊ±£¬Óë°¤¸öÁ¬½ÓÏà±È£¬Óó־ÃÁ¬½Ó¿ÉÒÔÈÃÇëÇó¸ü¿ì½áÊø¡£¶ø¹ÜÏß»¯¼¼ÊõÒª±È³Ö¾ÃÁ¬½ÓËٶȸü¿ì¡£ÇëÇóÊýÔ½¶à£¬Ê±¼ä²î¾ÍÔ½Ã÷ÏÔ¡£

ËÄ¡¢HTTP ЭÒ鱨ÎĽṹ

1.HTTP ±¨ÎÄ

ÓÃÓÚ HTTP ЭÒé½»»¥µÄÐÅÏ¢±»³ÆÎª HTTP ±¨ÎÄ¡£ÇëÇó¶Ë£¨¿Í»§¶Ë£©µÄ HTTP ±¨ÎĽÐ×öÇëÇó±¨ÎÄ£»ÏìÓ¦¶Ë£¨·þÎñÆ÷¶Ë£©µÄ½Ð×öÏìÓ¦±¨ÎÄ¡£HTTP ±¨Îı¾ÉíÊÇÓɶàÐУ¨Óà CR+LF ×÷»»Ðзû£©Êý¾Ý¹¹³ÉµÄ×Ö·û´®Îı¾¡£

2.HTTP ±¨ÎĽṹ

HTTP ±¨ÎÄ´óÖ¿ɷÖΪ±¨ÎÄÊײ¿ºÍ±¨ÎÄÖ÷ÌåÁ½²¿·Ö¡£Á½ÕßÓÉ×î³õ³öÏֵĿÕÐУ¨CR+LF£©À´»®·Ö¡£Í¨³££¬²¢²»Ò»¶¨Óб¨ÎÄÖ÷Ìå¡£ÈçÏ£º

HTTP ±¨ÎĽṹ

2.1ÇëÇó±¨ÎĽṹ

ÇëÇó±¨ÎĽṹ

ÇëÇó±¨ÎĵÄÊײ¿ÄÚÈÝÓÉÒÔÏÂÊý¾Ý×é³É£ºÇëÇóÐÐ ¡ª¡ª °üº¬ÓÃÓÚÇëÇóµÄ·½·¨¡¢ÇëÇó URI ºÍ HTTP °æ±¾¡£

Êײ¿×Ö¶Î ¡ª¡ª °üº¬±íʾÇëÇóµÄ¸÷ÖÖÌõ¼þºÍÊôÐԵĸ÷ÀàÊײ¿¡££¨Í¨ÓÃÊײ¿¡¢ÇëÇóÊײ¿¡¢ÊµÌåÊײ¿ÒÔ¼°RFCÀï䶨ÒåµÄÊײ¿Èç Cookie µÈ£©

ÇëÇó±¨ÎĵÄʾÀý£¬ÈçÏ£º

ÇëÇó±¨ÎÄʾÀý

2.2ÏìÓ¦±¨ÎĽṹ

ÏìÓ¦±¨ÎĽṹ

ÏìÓ¦±¨ÎĵÄÊײ¿ÄÚÈÝÓÉÒÔÏÂÊý¾Ý×é³É£º×´Ì¬ÐÐ ¡ª¡ª °üº¬±íÃ÷ÏìÓ¦½á¹ûµÄ״̬Âë¡¢Ô­Òò¶ÌÓïºÍ HTTP °æ±¾¡£

Êײ¿×Ö¶Î ¡ª¡ª °üº¬±íʾÇëÇóµÄ¸÷ÖÖÌõ¼þºÍÊôÐԵĸ÷ÀàÊײ¿¡££¨Í¨ÓÃÊײ¿¡¢ÏìÓ¦Êײ¿¡¢ÊµÌåÊײ¿ÒÔ¼°RFCÀï䶨ÒåµÄÊײ¿Èç Cookie µÈ£©

ÏìÓ¦±¨ÎĵÄʾÀý£¬ÈçÏ£º

ÏìÓ¦±¨ÎÄʾÀý

Îå¡¢HTTP ±¨ÎÄÊײ¿Ö®ÇëÇóÐС¢×´Ì¬ÐÐ

1.ÇëÇóÐÐ

¾Ù¸öÀõ×Ó£¬ÏÂÃæÊÇÒ»¸ö HTTP ÇëÇóµÄ±¨ÎÄ£º

GET /index.htm HTTP/1.1

Host: sample.com

ÆäÖУ¬ÏÂÃæµÄÕâÐоÍÊÇÇëÇóÐУ¬

GET /index.htm HTTP/1.1¿ªÍ·µÄ GET ±íʾÇëÇó·ÃÎÊ·þÎñÆ÷µÄÀàÐÍ£¬³ÆÎª·½·¨£»

ËæºóµÄ×Ö·û´® /index.htm Ö¸Ã÷ÁËÇëÇó·ÃÎʵÄ×ÊÔ´¶ÔÏó£¬Ò²½Ð×öÇëÇó URI£»

×îºóµÄ HTTP/1.1£¬¼´ HTTP µÄ°æ±¾ºÅ£¬ÓÃÀ´Ìáʾ¿Í»§¶ËʹÓÃµÄ HTTP ЭÒ鹦ÄÜ¡£

×ÛºÏÀ´¿´£¬´óÒâÊÇÇëÇó·ÃÎÊij̨ HTTP ·þÎñÆ÷É쵀 /index.htm Ò³Ãæ×ÊÔ´¡£

2.״̬ÐÐ

ͬÑù¾Ù¸öÀõ×Ó£¬ÏÂÃæÊÇÒ»¸ö HTTP ÏìÓ¦µÄ±¨ÎÄ£º

HTTP/1.1 200 OK

Date: Mon, 10 Jul 2017 15:50:06 GMT

Content-Length: 256

Content-Type: text/html

<html>

...

ÆäÖУ¬ÏÂÃæµÄÕâÐоÍÊÇ״̬ÐУ¬

HTTP/1.1 200 OK¿ªÍ·µÄ HTTP/1.1 ±íʾ·þÎñÆ÷¶ÔÓ¦µÄ HTTP °æ±¾£»

½ô°¤×ÅµÄ 200 OK ±íʾÇëÇóµÄ´¦Àí½á¹ûµÄ״̬ÂëºÍÔ­Òò¶ÌÓï¡£

Áù¡¢HTTP ±¨ÎÄÊײ¿Ö®Êײ¿×ֶΣ¨Öصã·ÖÎö£©

1.Êײ¿×ֶθÅÊö

ÏÈÀ´»Ø¹ËÒ»ÏÂÊײ¿×Ö¶ÎÔÚ±¨ÎĵÄλÖã¬HTTP ±¨Îİüº¬±¨ÎÄÊײ¿ºÍ±¨ÎÄÖ÷Ì壬±¨ÎÄÊײ¿°üº¬ÇëÇóÐУ¨»ò״̬ÐУ©ºÍÊײ¿×ֶΡ£

ÔÚ±¨ÎÄÖÚ¶àµÄ×ֶε±ÖУ¬HTTP Êײ¿×ֶΰüº¬µÄÐÅÏ¢×îΪ·á¸»¡£Êײ¿×Ö¶Îͬʱ´æÔÚÓÚÇëÇóºÍÏìÓ¦±¨ÎÄÄÚ£¬²¢º­¸Ç HTTP ±¨ÎÄÏà¹ØµÄÄÚÈÝÐÅÏ¢¡£Ê¹ÓÃÊײ¿×Ö¶ÎÊÇΪÁ˸ø¿Í·þ¶ËºÍ·þÎñÆ÷¶ËÌṩ±¨ÎÄÖ÷Ìå´óС¡¢ËùʹÓõÄÓïÑÔ¡¢ÈÏÖ¤ÐÅÏ¢µÈÄÚÈÝ¡£

2.Êײ¿×ֶνṹ

HTTP Êײ¿×Ö¶ÎÊÇÓÉÊײ¿×Ö¶ÎÃûºÍ×Ö¶ÎÖµ¹¹³ÉµÄ£¬ÖмäÓÃðºÅ¡°£º¡±·Ö¸ô¡£

ÁíÍ⣬×Ö¶ÎÖµ¶ÔÓ¦µ¥¸ö HTTP Êײ¿×ֶοÉÒÔÓжà¸öÖµ¡£

µ± HTTP ±¨ÎÄÊײ¿ÖгöÏÖÁËÁ½¸ö»òÒÔÉϾßÓÐÏàͬÊײ¿×Ö¶ÎÃûµÄÊײ¿×Ö¶Îʱ£¬ÕâÖÖÇé¿öÔڹ淶ÄÚÉÐδÃ÷È·£¬¸ù¾Ýä¯ÀÀÆ÷ÄÚ²¿´¦ÀíÂß¼­µÄ²»Í¬£¬ÓÅÏÈ´¦ÀíµÄ˳Ðò¿ÉÄܲ»Í¬£¬½á¹û¿ÉÄܲ¢²»Ò»Ö¡£

 

3.Êײ¿×Ö¶ÎÀàÐÍ

Êײ¿×ֶθù¾Ýʵ¼ÊÓÃ;±»·ÖΪÒÔÏÂ4ÖÖÀàÐÍ£º

4.ͨÓÃÊײ¿×ֶΣ¨HTTP/1.1£©

 

4.1 Cache-Control

ͨ¹ýÖ¸¶¨Êײ¿×Ö¶Î Cache-Control µÄÖ¸Á¾ÍÄܲÙ×÷»º´æµÄ¹¤×÷»úÖÆ¡£

4.1.1 ¿ÉÓõÄÖ¸ÁîÒ»ÀÀ

¿ÉÓõÄÖ¸Áî°´ÇëÇóºÍÏìÓ¦·ÖÀàÈçÏ£º

»º´æÇëÇóÖ¸Áî

 

»º´æÏìÓ¦Ö¸Áî

 

4.1.2 ±íʾÄÜ·ñ»º´æµÄÖ¸Áî

public Ö¸Áî

Cache-Control: public

µ±Ö¸¶¨Ê¹Óà public Ö¸Áîʱ£¬ÔòÃ÷È·±íÃ÷ÆäËûÓû§Ò²¿ÉÀûÓûº´æ¡£

private Ö¸Áî

Cache-Control: private

µ±Ö¸¶¨ private Ö¸Áîºó£¬ÏìÓ¦Ö»ÒÔÌØ¶¨µÄÓû§×÷Ϊ¶ÔÏó£¬ÕâÓë public Ö¸ÁîµÄÐÐΪÏà·´¡£»º´æ·þÎñÆ÷»á¶Ô¸ÃÌØ¶¨Óû§Ìṩ×ÊÔ´»º´æµÄ·þÎñ£¬¶ÔÓÚÆäËûÓû§·¢Ë͹ýÀ´µÄÇëÇ󣬴úÀí·þÎñÆ÷Ôò²»»á·µ»Ø»º´æ¡£

no-cache Ö¸Áî

Cache-Control: no-cache

ʹÓà no-cache Ö¸ÁîÊÇΪÁË·ÀÖ¹´Ó»º´æÖзµ»Ø¹ýÆÚµÄ×ÊÔ´¡£

¿Í»§¶Ë·¢Ë͵ÄÇëÇóÖÐÈç¹û°üº¬ no-cache Ö¸ÁÔò±íʾ¿Í»§¶Ë½«²»»á½ÓÊÕ»º´æ¹ýµÄÏìÓ¦¡£ÓÚÊÇ£¬¡°Öм䡱µÄ»º´æ·þÎñÆ÷±ØÐë°Ñ¿Í»§¶ËÇëÇóת·¢¸øÔ´·þÎñÆ÷¡£

Èç¹û·þÎñÆ÷Öзµ»ØµÄÏìÓ¦°üº¬ no-cache Ö¸ÁÄÇô»º´æ·þÎñÆ÷²»ÄܶÔ×ÊÔ´½øÐлº´æ¡£Ô´·þÎñÆ÷ÒÔºóÒ²½«²»ÔÙ¶Ô»º´æ·þÎñÆ÷ÇëÇóÖÐÌá³öµÄ×ÊÔ´ÓÐЧÐÔ½øÐÐÈ·ÈÏ£¬ÇÒ½ûÖ¹Æä¶ÔÏìÓ¦×ÊÔ´½øÐлº´æ²Ù×÷¡£

Cache-Control: no-cache=Location

ÓÉ·þÎñÆ÷·µ»ØµÄÏìÓ¦ÖУ¬Èô±¨ÎÄÊײ¿×Ö¶Î Cache-Control ÖÐ¶Ô no-cache ×Ö¶ÎÃû¾ßÌåÖ¸¶¨²ÎÊýÖµ£¬ÄÇô¿Í»§¶ËÔÚ½ÓÊÕµ½Õâ¸ö±»Ö¸¶¨²ÎÊýÖµµÄÊײ¿×ֶζÔÓ¦µÄÏìÓ¦±¨Îĺ󣬾Ͳ»ÄÜʹÓûº´æ¡£»»ÑÔÖ®£¬ÎÞ²ÎÊýÖµµÄÊײ¿×ֶοÉÒÔʹÓûº´æ¡£Ö»ÄÜÔÚÏìÓ¦Ö¸ÁîÖÐÖ¸¶¨¸Ã²ÎÊý¡£

no-store Ö¸Áî

Cache-Control: no-store

µ±Ê¹Óà no-store Ö¸Áîʱ£¬°µÊ¾ÇëÇ󣨺ͶÔÓ¦µÄÏìÓ¦£©»òÏìÓ¦Öаüº¬»úÃÜÐÅÏ¢¡£Òò´Ë£¬¸ÃÖ¸Áî¹æ¶¨»º´æ²»ÄÜÔÚ±¾µØ´æ´¢ÇëÇó»òÏìÓ¦µÄÈÎÒ»²¿·Ö¡£

×¢Ò⣺no-cache Ö¸Áî´ú±í²»»º´æ¹ýÆÚµÄÖ¸Á»º´æ»áÏòÔ´·þÎñÆ÷½øÐÐÓÐЧÆÚÈ·ÈϺó´¦Àí×ÊÔ´£»no-store Ö¸Áî²ÅÊÇÕæÕýµÄ²»½øÐлº´æ¡£

4.1.3 Ö¸¶¨»º´æÆÚÏÞºÍÈÏÖ¤µÄÖ¸Áî

s-maxage Ö¸Áî

Cache-Control: s-maxage=604800£¨µ¥Î»£ºÃ룩

s-maxage Ö¸ÁîµÄ¹¦ÄÜºÍ max-age Ö¸ÁîµÄÏàͬ£¬ËüÃǵIJ»Í¬µãÊÇ s-maxage Ö¸ÁîÖ»ÊÊÓÃÓÚ¹©¶àλÓû§Ê¹ÓõĹ«¹²»º´æ·þÎñÆ÷£¨Ò»°ãÖ¸´úÀí£©¡£Ò²¾ÍÊÇ˵£¬¶ÔÓÚÏòͬһÓû§Öظ´·µ»ØÏìÓ¦µÄ·þÎñÆ÷À´Ëµ£¬Õâ¸öÖ¸ÁîûÓÐÈκÎ×÷Óá£

ÁíÍ⣬µ±Ê¹Óà s-maxage Ö¸Áîºó£¬ÔòÖ±½ÓºöÂÔ¶Ô Expires Êײ¿×ֶμ° max-age Ö¸ÁîµÄ´¦Àí¡£

max-age Ö¸Áî

Cache-Control: max-age=604800£¨µ¥Î»£ºÃ룩

µ±¿Í»§¶Ë·¢Ë͵ÄÇëÇóÖаüº¬ max-age Ö¸Áîʱ£¬Èç¹ûÅж¨»º´æ×ÊÔ´µÄ»º´æÊ±¼äÊýÖµ±ÈÖ¸¶¨µÄʱ¼ä¸üС£¬ÄÇô¿Í»§¶Ë¾Í½ÓÊÕ»º´æµÄ×ÊÔ´¡£ÁíÍ⣬µ±Ö¸¶¨ max-age µÄֵΪ0£¬ÄÇô»º´æ·þÎñÆ÷ͨ³£ÐèÒª½«ÇëÇóת·¢¸øÔ´·þÎñÆ÷¡£

µ±·þÎñÆ÷·µ»ØµÄÏìÓ¦Öаüº¬ max-age Ö¸Áîʱ£¬»º´æ·þÎñÆ÷½«²»¶Ô×ÊÔ´µÄÓÐЧÐÔÔÙ×÷È·ÈÏ£¬¶ø max-age ÊýÖµ´ú±í×ÊÔ´±£´æÎª»º´æµÄ×ʱ¼ä¡£

Ó¦Óà HTTP/1.1 °æ±¾µÄ»º´æ·þÎñÆ÷Óöµ½Í¬Ê±´æÔÚ Expires Êײ¿×ֶεÄÇé¿öʱ£¬»áÓÅÏÈ´¦Àí max-age Ö¸Á²¢ºöÂÔµô Expires Êײ¿×ֶΣ»¶ø HTTP/1.0 °æ±¾µÄ»º´æ·þÎñÆ÷ÔòÏà·´¡£

min-fresh Ö¸Áî

Cache-Control: min-fresh=60£¨µ¥Î»£ºÃ룩

min-fresh Ö¸ÁîÒªÇ󻺴æ·þÎñÆ÷·µ»ØÖÁÉÙ»¹Î´¹ýÖ¸¶¨Ê±¼äµÄ»º´æ×ÊÔ´¡£

max-stale Ö¸Áî

Cache-Control: max-stale=3600£¨µ¥Î»£ºÃ룩

ʹÓà max-stale ¿Éָʾ»º´æ×ÊÔ´£¬¼´Ê¹¹ýÆÚÒ²ÕÕ³£½ÓÊÕ¡£

Èç¹ûÖ¸Áîδָ¶¨²ÎÊýÖµ£¬ÄÇôÎÞÂÛ¾­¹ý¶à¾Ã£¬¿Í»§¶Ë¶¼»á½ÓÊÕÏìÓ¦£»Èç¹ûÖ¸¶¨Á˾ßÌå²ÎÊýÖµ£¬ÄÇô¼´Ê¹¹ýÆÚ£¬Ö»ÒªÈÔ´¦ÓÚ max-stale Ö¸¶¨µÄʱ¼äÄÚ£¬ÈԾɻᱻ¿Í»§¶Ë½ÓÊÕ¡£

only-if-cached Ö¸Áî

Cache-Control: only-if-cached

±íʾ¿Í»§¶Ë½öÔÚ»º´æ·þÎñÆ÷±¾µØ»º´æÄ¿±ê×ÊÔ´µÄÇé¿öϲŻáÒªÇóÆä·µ»Ø¡£»»ÑÔÖ®£¬¸ÃÖ¸ÁîÒªÇ󻺴æ·þÎñÆ÷²»ÖØÐ¼ÓÔØÏìÓ¦£¬Ò²²»»áÔÙ´ÎÈ·ÈÏ×ÊÔ´µÄÓÐЧÐÔ¡£

must-revalidate Ö¸Áî

Cache-Control: must-revalidate

ʹÓà must-revalidate Ö¸Á´úÀí»áÏòÔ´·þÎñÆ÷ÔÙ´ÎÑéÖ¤¼´½«·µ»ØµÄÏìÓ¦»º´æÄ¿Ç°ÊÇ·ñÈÔÓÐЧ¡£ÁíÍ⣬ʹÓà must-revalidate Ö¸Áî»áºöÂÔÇëÇóµÄ max-stale Ö¸Áî¡£

proxy-revalidate Ö¸Áî

Cache-Control: proxy-revalidate

proxy-revalidate Ö¸ÁîÒªÇóËùÓеĻº´æ·þÎñÆ÷ÔÚ½ÓÊÕµ½¿Í»§¶Ë´øÓиÃÖ¸ÁîµÄÇëÇó·µ»ØÏìӦ֮ǰ£¬±ØÐëÔÙ´ÎÑéÖ¤»º´æµÄÓÐЧÐÔ¡£

no-transform Ö¸Áî

Cache-Control: no-transform

ʹÓà no-transform Ö¸Áî¹æ¶¨ÎÞÂÛÊÇÔÚÇëÇó»¹ÊÇÏìÓ¦ÖУ¬»º´æ¶¼²»ÄܸıäʵÌåÖ÷ÌåµÄýÌåÀàÐÍ¡£ÕâÑù×ö¿É·ÀÖ¹»º´æ»ò´úÀíѹËõͼƬµÈÀàËÆ²Ù×÷¡£

4.1.4 Cache-Control À©Õ¹

Cache-Control: private, community="UCI"

ͨ¹ý cache-extension ±ê¼Ç£¨token£©£¬¿ÉÒÔÀ©Õ¹ Cache-Control Êײ¿×Ö¶ÎÄÚµÄÖ¸Áî¡£ÉÏÊö community Ö¸Áî¼´À©Õ¹µÄÖ¸ÁÈç¹û»º´æ·þÎñÆ÷²»ÄÜÀí½âÕâ¸öÐÂÖ¸Á¾Í»áÖ±½ÓºöÂÔµô¡£

4.2 Connection

Connection Êײ¿×ֶξ߱¸ÒÔÏÂÁ½¸ö×÷Óãº

¿ØÖƲ»ÔÙת·¢µÄÊײ¿×Ö¶Î

Connection: Upgrade

ÔÚ¿Í»§¶Ë·¢ËÍÇëÇóºÍ·þÎñÆ÷·µ»ØÏìÓ¦ÖУ¬Ê¹Óà Connection Êײ¿×ֶΣ¬¿É¿ØÖƲ»ÔÙת·¢¸ø´úÀíµÄÊײ¿×ֶΣ¬¼´É¾³ýºóÔÙת·¢£¨¼´Hop-by-hopÊײ¿£©¡£

¹ÜÀí³Ö¾ÃÁ¬½Ó

Connection: close

HTTP/1.1 °æ±¾µÄĬÈÏÁ¬½Ó¶¼Êdz־ÃÁ¬½Ó¡£µ±·þÎñÆ÷¶ËÏëÃ÷È·¶Ï¿ªÁ¬½Óʱ£¬ÔòÖ¸¶¨ Connection Êײ¿×ֶεÄֵΪ close¡£

Connection: Keep-Alive

HTTP/1.1 ֮ǰµÄ HTTP °æ±¾µÄĬÈÏÁ¬½Ó¶¼ÊǷdz־ÃÁ¬½Ó¡£Îª´Ë£¬Èç¹ûÏëÔھɰ汾µÄ HTTP ЭÒéÉÏά³Ö³ÖÐøÁ¬½Ó£¬ÔòÐèÒªÖ¸¶¨ Connection Êײ¿×ֶεÄֵΪ Keep-Alive¡£

4.3 Date

±íÃ÷´´½¨ HTTP ±¨ÎĵÄÈÕÆÚºÍʱ¼ä¡£

Date: Mon, 10 Jul 2017 15:50:06 GMT

HTTP/1.1 ЭÒéʹÓÃÔÚ RFC1123 Öй涨µÄÈÕÆÚʱ¼äµÄ¸ñʽ¡£

4.4 Pragma

Pragma Êײ¿×Ö¶ÎÊÇ HTTP/1.1 °æ±¾Ö®Ç°µÄÀúÊ·ÒÅÁô×ֶΣ¬½ö×÷ΪÓë HTTP/1.0 µÄÏòºó¼æÈݶø¶¨Òå¡£

Pragma: no-cache

¸ÃÊײ¿×Ö¶ÎÊôÓÚͨÓÃÊײ¿×ֶΣ¬µ«Ö»ÓÃÔÚ¿Í»§¶Ë·¢Ë͵ÄÇëÇóÖУ¬ÒªÇóËùÓеÄÖмä·þÎñÆ÷²»·µ»Ø»º´æµÄ×ÊÔ´¡£

ËùÓеÄÖмä·þÎñÆ÷Èç¹û¶¼ÄÜÒÔ HTTP/1.1 Ϊ»ù×¼£¬ÄÇÖ±½Ó²ÉÓà Cache-Control: no-cache Ö¸¶¨»º´æµÄ´¦Àí·½Ê½×îΪÀíÏë¡£µ«ÊÇÒªÕûÌåÕÆÎÕËùÓÐÖмä·þÎñÆ÷ʹÓÃµÄ HTTP ЭÒé°æ±¾È´ÊDz»ÏÖʵµÄ£¬ËùÒÔ£¬·¢Ë͵ÄÇëÇó»áͬʱ°üº¬ÏÂÃæÁ½¸öÊײ¿×ֶΣº

Cache-Control: no-cache

Pragma: no-cache

4.5 Trailer

Trailer: Expires

Êײ¿×Ö¶Î Trailer »áÊÂÏÈ˵Ã÷ÔÚ±¨ÎÄÖ÷Ìåºó¼Ç¼ÁËÄÄЩÊײ¿×ֶΡ£¿ÉÓ¦ÓÃÔÚ HTTP/1.1 °æ±¾·Ö¿é´«Êä±àÂëʱ¡£

4.6 Transfer-Encoding

Transfer-Encoding: chunked

¹æ¶¨ÁË´«Ê䱨ÎÄÖ÷Ìåʱ²ÉÓõıàÂ뷽ʽ¡£

HTTP/1.1 µÄ´«Êä±àÂ뷽ʽ½ö¶Ô·Ö¿é´«Êä±àÂëÓÐЧ¡£

4.7 Upgrade

Upgrade: TSL/1.0

ÓÃÓÚ¼ì²â HTTP ЭÒé¼°ÆäËûЭÒéÊÇ·ñ¿ÉʹÓøü¸ßµÄ°æ±¾½øÐÐͨÐÅ£¬Æä²ÎÊýÖµ¿ÉÒÔÓÃÀ´Ö¸¶¨Ò»¸öÍêÈ«²»Í¬µÄͨÐÅЭÒé¡£

4.8 Via

Via: 1.1 a1.sample.com(Squid/2.7)

ΪÁË×·×Ù¿Í»§¶ËºÍ·þÎñÆ÷¶ËÖ®¼äµÄÇëÇóºÍÏìÓ¦±¨ÎĵĴ«Êä·¾¶¡£

±¨Îľ­¹ý´úÀí»òÍø¹ØÊ±£¬»áÏÖÔÚÊײ¿×Ö¶Î Via Öи½¼Ó¸Ã·þÎñÆ÷µÄÐÅÏ¢£¬È»ºóÔÙ½øÐÐת·¢¡£

Êײ¿×Ö¶Î Via ²»½öÓÃÓÚ×·×Ù±¨ÎĵÄת·¢£¬»¹¿É±ÜÃâÇëÇ󻨻·µÄ·¢Éú¡£

4.9 Warning

¸ÃÊײ¿×Ö¶Îͨ³£»á¸æÖªÓû§Ò»Ð©Ó뻺´æÏà¹ØµÄÎÊÌâµÄ¾¯¸æ¡£

Warning Êײ¿×ֶεĸñʽÈçÏ£º

Warning£º[¾¯¸æÂë][¾¯¸æµÄÖ÷»ú:¶Ë¿ÚºÅ] "[¾¯¸æÄÚÈÝ]"([ÈÕÆÚʱ¼ä])

×îºóµÄÈÕÆÚʱ¼ä¿ÉÊ¡ÂÔ¡£

HTTP/1.1 Öж¨ÒåÁË7ÖÖ¾¯¸æ£¬¾¯¸æÂë¶ÔÓ¦µÄ¾¯¸æÄÚÈݽöÍÆ¼ö²Î¿¼£¬ÁíÍ⣬¾¯¸æÂë¾ß±¸À©Õ¹ÐÔ£¬½ñºóÓпÉÄÜ×·¼Óеľ¯¸æÂë¡£

 

5. ÇëÇóÊײ¿×ֶΣ¨HTTP/1.1£©

 

5.1 Accept

Accept: text/html, application/xhtml+xml, application/xml; q=0.5

Accept Êײ¿×ֶοÉ֪ͨ·þÎñÆ÷£¬Óû§´úÀíÄܹ»´¦ÀíµÄýÌåÀàÐͼ°Ã½ÌåÀàÐ͵ÄÏà¶ÔÓÅÏȼ¶¡£¿ÉʹÓà type/subtype ÕâÖÖÐÎʽ£¬Ò»´ÎÖ¸¶¨¶àÖÖýÌåÀàÐÍ¡£

ÈôÏëÒª¸øÏÔʾµÄýÌåÀàÐÍÔö¼ÓÓÅÏȼ¶£¬ÔòʹÓà q=[ÊýÖµ] À´±íÊ¾È¨ÖØÖµ£¬Ó÷ֺţ¨;£©½øÐзָô¡£È¨ÖØÖµµÄ·¶Î§ 0~1£¨¿É¾«È·µ½Ð¡ÊýµãºóÈý룩£¬ÇÒ 1 Ϊ×î´óÖµ¡£²»Ö¸¶¨È¨ÖØÖµÊ±£¬Ä¬ÈÏΪ 1¡£

5.2 Accept-Charset

Accept-Charset: iso-8859-5, unicode-1-1; q=0.8

Accept-Charset Êײ¿×ֶοÉÓÃÀ´Í¨Öª·þÎñÆ÷Óû§´úÀíÖ§³ÖµÄ×Ö·û¼¯¼°×Ö·û¼¯µÄÏà¶ÔÓÅÏÈ˳Ðò¡£ÁíÍ⣬¿ÉÒ»´ÎÐÔÖ¸¶¨¶àÖÖ×Ö·û¼¯¡£Í¬ÑùʹÓà q=[ÊýÖµ] À´±íʾÏà¶ÔÓÅÏȼ¶¡£

5.3 Accept-Encoding

Accept-Encoding: gzip, deflate

Accept-Encoding Êײ¿×Ö¶ÎÓÃÀ´¸æÖª·þÎñÆ÷Óû§´úÀíÖ§³ÖµÄÄÚÈݱàÂë¼°ÄÚÈݱàÂëµÄÓÅÏÈ˳Ðò£¬²¢¿ÉÒ»´ÎÐÔÖ¸¶¨¶àÖÖÄÚÈݱàÂ롣ͬÑùʹÓà q=[ÊýÖµ] À´±íʾÏà¶ÔÓÅÏȼ¶¡£Ò²¿ÉʹÓÃÐǺţ¨*£©×÷ΪͨÅä·û£¬Ö¸¶¨ÈÎÒâµÄ±àÂë¸ñʽ¡£

5.4 Accept-Language

Accept-Lanuage: zh-cn,zh;q=0.7,en=us,en;q=0.3

¸æÖª·þÎñÆ÷Óû§´úÀíÄܹ»´¦ÀíµÄ×ÔÈ»ÓïÑÔ¼¯£¨Ö¸ÖÐÎÄ»òÓ¢Îĵȣ©£¬ÒÔ¼°×ÔÈ»ÓïÑÔ¼¯µÄÏà¶ÔÓÅÏȼ¶£¬¿ÉÒ»´ÎÐÔÖ¸¶¨¶àÖÖ×ÔÈ»ÓïÑÔ¼¯¡£Í¬ÑùʹÓà q=[ÊýÖµ] À´±íʾÏà¶ÔÓÅÏȼ¶¡£

5.5 Authorization

Authorization: Basic ldfKDHKfkDdasSAEdasd==

¸æÖª·þÎñÆ÷Óû§´úÀíµÄÈÏÖ¤ÐÅÏ¢£¨Ö¤ÊéÖµ£©¡£Í¨³££¬ÏëҪͨ¹ý·þÎñÆ÷ÈÏÖ¤µÄÓû§´úÀí»áÔÚ½ÓÊÕµ½·µ»ØµÄ 401 ״̬ÂëÏìÓ¦ºó£¬°ÑÊײ¿×Ö¶Î Authorization ¼ÓÈëÇëÇóÖС£¹²Óûº´æÔÚ½ÓÊÕµ½º¬ÓÐ Authorization Êײ¿×ֶεÄÇëÇóʱµÄ²Ù×÷´¦Àí»áÂÔÓвîÒì¡£

5.6 Expect

Expect: 100-continue

¸æÖª·þÎñÆ÷¿Í»§¶ËÆÚÍû³öÏÖµÄijÖÖÌØ¶¨ÐÐΪ¡£

5.7 From

From: Deeson_Woo@163.com

¸æÖª·þÎñÆ÷ʹÓÃÓû§´úÀíµÄµç×ÓÓʼþµØÖ·¡£

5.8 Host

Host: www.jianshu.com

¸æÖª·þÎñÆ÷£¬ÇëÇóµÄ×ÊÔ´Ëù´¦µÄ»¥ÁªÍøÖ÷»úºÍ¶Ë¿ÚºÅ¡£

Host Êײ¿×Ö¶ÎÊÇ HTTP/1.1 ¹æ·¶ÄÚΨһһ¸ö±ØÐë±»°üº¬ÔÚÇëÇóÄÚµÄÊײ¿×ֶΡ£

Èô·þÎñÆ÷δÉ趨Ö÷»úÃû£¬ÄÇÖ±½Ó·¢ËÍÒ»¸ö¿ÕÖµ¼´¿É Host: ¡£

5.9 If-Match

ÐÎÈç If-xxx ÕâÖÖÑùʽµÄÇëÇóÊײ¿×ֶΣ¬¶¼¿É³ÆÎªÌõ¼þÇëÇó¡£·þÎñÆ÷½ÓÊÕµ½¸½´øÌõ¼þµÄÇëÇóºó£¬Ö»ÓÐÅжÏÖ¸¶¨Ìõ¼þÎªÕæÊ±£¬²Å»áÖ´ÐÐÇëÇó¡£

If-Match: "123456"

Êײ¿×Ö¶Î If-Match£¬Êô¸½´øÌõ¼þÖ®Ò»£¬Ëü»á¸æÖª·þÎñÆ÷Æ¥Åä×ÊÔ´ËùÓõÄʵÌå±ê¼Ç£¨ETag£©Öµ¡£ÕâʱµÄ·þÎñÆ÷ÎÞ·¨Ê¹ÓÃÈõ ETag Öµ¡£

·þÎñÆ÷»á±È¶Ô If-Match µÄ×Ö¶ÎÖµºÍ×ÊÔ´µÄ ETag Öµ£¬½öµ±Á½ÕßÒ»ÖÂʱ£¬²Å»áÖ´ÐÐÇëÇó¡£·´Ö®£¬Ôò·µ»Ø×´Ì¬Âë 412 Precondition Failed µÄÏìÓ¦¡£

»¹¿ÉÒÔʹÓÃÐǺţ¨*£©Ö¸¶¨ If-Match µÄ×Ö¶ÎÖµ¡£Õë¶ÔÕâÖÖÇé¿ö£¬·þÎñÆ÷½«»áºöÂÔ ETag µÄÖµ£¬Ö»Òª×ÊÔ´´æÔھʹ¦ÀíÇëÇó¡£

5.10 If-Modified-Since

If-Modified-Since: Mon, 10 Jul 2017 15:50:06 GMT

Êײ¿×Ö¶Î If-Modified-Since£¬Êô¸½´øÌõ¼þÖ®Ò»£¬ÓÃÓÚÈ·ÈÏ´úÀí»ò¿Í»§¶ËÓµÓеı¾µØ×ÊÔ´µÄÓÐЧÐÔ¡£

Ëü»á¸æÖª·þÎñÆ÷Èô If-Modified-Since ×Ö¶ÎÖµÔçÓÚ×ÊÔ´µÄ¸üÐÂʱ¼ä£¬ÔòÏ£ÍûÄÜ´¦Àí¸ÃÇëÇó¡£¶øÔÚÖ¸¶¨ If-Modified-Since ×Ö¶ÎÖµµÄÈÕÆÚʱ¼äÖ®ºó£¬Èç¹ûÇëÇóµÄ×ÊÔ´¶¼Ã»Óйý¸üУ¬Ôò·µ»Ø×´Ì¬Âë 304 Not Modified µÄÏìÓ¦¡£

5.11 If-None-Match

If-None-Match: "123456"

Êײ¿×Ö¶Î If-None-Match ÊôÓÚ¸½´øÌõ¼þÖ®Ò»¡£ËüºÍÊײ¿×Ö¶Î If-Match ×÷ÓÃÏà·´¡£ÓÃÓÚÖ¸¶¨ If-None-Match ×Ö¶ÎÖµµÄʵÌå±ê¼Ç£¨ETag£©ÖµÓëÇëÇó×ÊÔ´µÄ ETag ²»Ò»ÖÂʱ£¬Ëü¾Í¸æÖª·þÎñÆ÷´¦Àí¸ÃÇëÇó¡£

5.12 If-Range

If-Range: "123456"

Êײ¿×Ö¶Î If-Range ÊôÓÚ¸½´øÌõ¼þÖ®Ò»¡£Ëü¸æÖª·þÎñÆ÷ÈôÖ¸¶¨µÄ If-Range ×Ö¶ÎÖµ£¨ETag Öµ»òÕßʱ¼ä£©ºÍÇëÇó×ÊÔ´µÄ ETag Öµ»òʱ¼äÏàÒ»ÖÂʱ£¬Ôò×÷Ϊ·¶Î§ÇëÇó´¦Àí¡£·´Ö®£¬Ôò·µ»ØÈ«Ìå×ÊÔ´¡£

ÏÂÃæÎÒÃÇ˼¿¼Ò»Ï²»Ê¹ÓÃÊײ¿×Ö¶Î If-Range ·¢ËÍÇëÇóµÄÇé¿ö¡£·þÎñÆ÷¶ËµÄ×ÊÔ´Èç¹û¸üУ¬Äǿͻ§¶Ë³ÖÓÐ×ÊÔ´ÖеÄÒ»²¿·ÖÒ²»áËæÖ®ÎÞЧ£¬µ±È»£¬·¶Î§ÇëÇó×÷ΪǰÌáÊÇÎÞЧµÄ¡£Õâʱ£¬·þÎñÆ÷»áÔÝÇÒÒÔ״̬Âë 412 Precondition Failed ×÷ΪÏìÓ¦·µ»Ø£¬ÆäÄ¿µÄÊÇ´ß´Ù¿Í»§¶ËÔٴη¢ËÍÇëÇó¡£ÕâÑùÒ»À´£¬ÓëʹÓÃÊײ¿×Ö¶Î If-Range ±ÈÆðÀ´£¬¾ÍÐèÒª»¨·ÑÁ½±¶µÄ¹¦·ò¡£

5.13 If-Unmodified-Since

If-Unmodified-Since: Mon, 10 Jul 2017 15:50:06 GMT

Êײ¿×Ö¶Î If-Unmodified-Since ºÍÊײ¿×Ö¶Î If-Modified-Since µÄ×÷ÓÃÏà·´¡£ËüµÄ×÷ÓõÄÊǸæÖª·þÎñÆ÷£¬Ö¸¶¨µÄÇëÇó×ÊÔ´Ö»ÓÐÔÚ×Ö¶ÎÖµÄÚÖ¸¶¨µÄÈÕÆÚʱ¼äÖ®ºó£¬Î´·¢Éú¸üеÄÇé¿öÏ£¬²ÅÄÜ´¦ÀíÇëÇó¡£Èç¹ûÔÚÖ¸¶¨ÈÕÆÚʱ¼äºó·¢ÉúÁ˸üУ¬ÔòÒÔ״̬Âë 412 Precondition Failed ×÷ΪÏìÓ¦·µ»Ø¡£

5.14 Max-Forwards

Max-Forwards: 10

ͨ¹ý TRACE ·½·¨»ò OPTIONS ·½·¨£¬·¢ËͰüº¬Êײ¿×Ö¶Î Max-Forwards µÄÇëÇóʱ£¬¸Ã×Ö¶ÎÒÔÊ®½øÖÆÕûÊýÐÎʽָ¶¨¿É¾­¹ýµÄ·þÎñÆ÷×î´óÊýÄ¿¡£·þÎñÆ÷ÔÚÍùÏÂÒ»¸ö·þÎñÆ÷ת·¢ÇëÇó֮ǰ£¬Max-Forwards µÄÖµ¼õ 1 ºóÖØÐ¸³Öµ¡£µ±·þÎñÆ÷½ÓÊÕµ½ Max-Forwards ֵΪ 0 µÄÇëÇóʱ£¬Ôò²»ÔÙ½øÐÐת·¢£¬¶øÊÇÖ±½Ó·µ»ØÏìÓ¦¡£

5.15 Proxy-Authorization

Proxy-Authorization: Basic dGlwOjkpNLAGfFY5

½ÓÊÕµ½´Ó´úÀí·þÎñÆ÷·¢À´µÄÈÏÖ¤ÖÊѯʱ£¬¿Í»§¶Ë»á·¢ËͰüº¬Êײ¿×Ö¶Î Proxy-Authorization µÄÇëÇó£¬ÒÔ¸æÖª·þÎñÆ÷ÈÏÖ¤ËùÐèÒªµÄÐÅÏ¢¡£

Õâ¸öÐÐΪÊÇÓë¿Í»§¶ËºÍ·þÎñÆ÷Ö®¼äµÄ HTTP ·ÃÎÊÈÏÖ¤ÏàÀàËÆµÄ£¬²»Í¬Ö®´¦ÔÚÓÚ£¬ÈÏÖ¤ÐÐΪ·¢ÉúÔÚ¿Í»§¶ËÓë´úÀíÖ®¼ä¡£

5.16 Range

Range: bytes=5001-10000

¶ÔÓÚÖ»Ðè»ñÈ¡²¿·Ö×ÊÔ´µÄ·¶Î§ÇëÇ󣬰üº¬Êײ¿×Ö¶Î Range ¼´¿É¸æÖª·þÎñÆ÷×ÊÔ´µÄÖ¸¶¨·¶Î§¡£

½ÓÊÕµ½¸½´ø Range Êײ¿×Ö¶ÎÇëÇóµÄ·þÎñÆ÷£¬»áÔÚ´¦ÀíÇëÇóÖ®ºó·µ»Ø×´Ì¬ÂëΪ 206 Partial Content µÄÏìÓ¦¡£ÎÞ·¨´¦Àí¸Ã·¶Î§ÇëÇóʱ£¬Ôò»á·µ»Ø×´Ì¬Âë 200 OK µÄÏìÓ¦¼°È«²¿×ÊÔ´¡£

5.17 Referer

Referer: http://www.sample.com/index.html

Êײ¿×Ö¶Î Referer »á¸æÖª·þÎñÆ÷ÇëÇóµÄԭʼ×ÊÔ´µÄ URI¡£

5.18 TE

TE: gzip, deflate; q=0.5

Êײ¿×Ö¶Î TE »á¸æÖª·þÎñÆ÷¿Í»§¶ËÄܹ»´¦ÀíÏìÓ¦µÄ´«Êä±àÂ뷽ʽ¼°Ïà¶ÔÓÅÏȼ¶¡£ËüºÍÊײ¿×Ö¶Î Accept-Encoding µÄ¹¦ÄܺÜÏàÏñ£¬µ«ÊÇÓÃÓÚ´«Êä±àÂë¡£

Êײ¿×Ö¶Î TE ³ýÖ¸¶¨´«Êä±àÂëÖ®Í⣬»¹¿ÉÒÔÖ¸¶¨°éËæ trailer ×ֶεķֿ鴫Êä±àÂëµÄ·½Ê½¡£Ó¦ÓúóÕßʱ£¬Ö»Ðè°Ñ trailers ¸³Öµ¸ø¸Ã×Ö¶ÎÖµ¡£TE: trailers5.19 User-Agent

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101

Êײ¿×Ö¶Î User-Agent »á½«´´½¨ÇëÇóµÄä¯ÀÀÆ÷ºÍÓû§´úÀíÃû³ÆµÈÐÅÏ¢´«´ï¸ø·þÎñÆ÷¡£

ÓÉÍøÂçÅÀ³æ·¢ÆðÇëÇóʱ£¬ÓпÉÄÜ»áÔÚ×Ö¶ÎÄÚÌí¼ÓÅÀ³æ×÷Õߵĵç×ÓÓʼþµØÖ·¡£´ËÍ⣬Èç¹ûÇëÇó¾­¹ý´úÀí£¬ÄÇôÖмäÒ²ºÜ¿ÉÄܱ»Ìí¼ÓÉÏ´úÀí·þÎñÆ÷µÄÃû³Æ¡£

6. ÏìÓ¦Êײ¿×ֶΣ¨HTTP/1.1£©

 

6.1 Accept-Ranges

Accept-Ranges: bytes

Êײ¿×Ö¶Î Accept-Ranges ÊÇÓÃÀ´¸æÖª¿Í»§¶Ë·þÎñÆ÷ÊÇ·ñÄÜ´¦Àí·¶Î§ÇëÇó£¬ÒÔÖ¸¶¨»ñÈ¡·þÎñÆ÷¶Ëij¸ö²¿·ÖµÄ×ÊÔ´¡£

¿ÉÖ¸¶¨µÄ×Ö¶ÎÖµÓÐÁ½ÖÖ£¬¿É´¦Àí·¶Î§ÇëÇóʱָ¶¨ÆäΪ bytes£¬·´Ö®ÔòÖ¸¶¨ÆäΪ none¡£

6.2 Age

Age: 1200

Êײ¿×Ö¶Î Age ÄܸæÖª¿Í»§¶Ë£¬Ô´·þÎñÆ÷ÔÚ¶à¾Ãǰ´´½¨ÁËÏìÓ¦¡£×Ö¶ÎÖµµÄµ¥Î»ÎªÃë¡£

Èô´´½¨¸ÃÏìÓ¦µÄ·þÎñÆ÷ÊÇ»º´æ·þÎñÆ÷£¬Age ÖµÊÇÖ¸»º´æºóµÄÏìÓ¦Ôٴη¢ÆðÈÏÖ¤µ½ÈÏÖ¤Íê³ÉµÄʱ¼äÖµ¡£´úÀí´´½¨ÏìӦʱ±ØÐë¼ÓÉÏÊײ¿×Ö¶Î Age¡£

6.3 ETag

ETag: "usagi-1234"

Êײ¿×Ö¶Î ETag ÄܸæÖª¿Í»§¶ËʵÌå±êʶ¡£ËüÊÇÒ»Öֿɽ«×ÊÔ´ÒÔ×Ö·û´®ÐÎʽ×öΨһÐÔ±êʶµÄ·½Ê½¡£·þÎñÆ÷»áΪÿ·Ý×ÊÔ´·ÖÅä¶ÔÓ¦µÄ ETag Öµ¡£

ÁíÍ⣬µ±×ÊÔ´¸üÐÂʱ£¬ETag ÖµÒ²ÐèÒª¸üС£Éú³É ETag ֵʱ£¬²¢Ã»ÓÐͳһµÄËã·¨¹æÔò£¬¶ø½ö½öÊÇÓÉ·þÎñÆ÷À´·ÖÅä¡£

ETag ÖÐÓÐÇ¿ ETag ÖµºÍÈõ ETag ÖµÖ®·Ö¡£Ç¿ ETag Öµ£¬²»ÂÛʵÌå·¢Éú¶àôϸ΢µÄ±ä»¯¶¼»á¸Ä±äÆäÖµ£»Èõ ETag ÖµÖ»ÓÃÓÚÌáʾ×ÊÔ´ÊÇ·ñÏàͬ¡£Ö»ÓÐ×ÊÔ´·¢ÉúÁ˸ù±¾¸Ä±ä£¬²úÉú²îÒìʱ²Å»á¸Ä±ä ETag Öµ¡£Õâʱ£¬»áÔÚ×Ö¶ÎÖµ×ʼ´¦¸½¼Ó W/£º ETag: W/"usagi-1234"¡£

6.4 Location

Location: http://www.sample.com/sample.html

ʹÓÃÊײ¿×Ö¶Î Location ¿ÉÒÔ½«ÏìÓ¦½ÓÊÕ·½Òýµ¼ÖÁij¸öÓëÇëÇó URI λÖò»Í¬µÄ×ÊÔ´¡£

»ù±¾ÉÏ£¬¸Ã×ֶλáÅäºÏ 3xx £ºRedirection µÄÏìÓ¦£¬Ìá¹©ÖØ¶¨ÏòµÄ URI¡£

¼¸ºõËùÓеÄä¯ÀÀÆ÷ÔÚ½ÓÊÕµ½°üº¬Êײ¿×Ö¶Î Location µÄÏìÓ¦ºó£¬¶¼»áÇ¿ÖÆÐԵس¢ÊÔ¶ÔÒÑÌáʾµÄÖØ¶¨Ïò×ÊÔ´µÄ·ÃÎÊ¡£

6.5 Proxy-Authenticate

Proxy-Authenticate: Basic realm="Usagidesign Auth"

Êײ¿×Ö¶Î Proxy-Authenticate »á°ÑÓÉ´úÀí·þÎñÆ÷ËùÒªÇóµÄÈÏÖ¤ÐÅÏ¢·¢Ë͸ø¿Í»§¶Ë¡£

ËüÓë¿Í»§¶ËºÍ·þÎñÆ÷Ö®¼äµÄ HTTP ·ÃÎÊÈÏÖ¤µÄÐÐΪÏàËÆ£¬²»Í¬Ö®´¦ÔÚÓÚÆäÈÏÖ¤ÐÐΪÊÇÔÚ¿Í»§¶ËÓë´úÀíÖ®¼ä½øÐеġ£

6.6 Retry-After

Retry-After: 180

Êײ¿×Ö¶Î Retry-After ¸æÖª¿Í»§¶ËÓ¦¸ÃÔÚ¶à¾ÃÖ®ºóÔٴη¢ËÍÇëÇó¡£Ö÷ÒªÅäºÏ״̬Âë 503 Service Unavailable ÏìÓ¦£¬»ò 3xx Redirect ÏìÓ¦Ò»ÆðʹÓá£

×Ö¶ÎÖµ¿ÉÒÔÖ¸¶¨Îª¾ßÌåµÄÈÕÆÚʱ¼ä£¨Mon, 10 Jul 2017 15:50:06 GMT µÈ¸ñʽ£©£¬Ò²¿ÉÒÔÊÇ´´½¨ÏìÓ¦ºóµÄÃëÊý¡£

6.7 Server

Server: Apache/2.2.6 (Unix) PHP/5.2.5

Êײ¿×Ö¶Î Server ¸æÖª¿Í»§¶Ëµ±Ç°·þÎñÆ÷Éϰ²×°µÄ HTTP ·þÎñÆ÷Ó¦ÓóÌÐòµÄÐÅÏ¢¡£²»µ¥µ¥»á±ê³ö·þÎñÆ÷ÉϵÄÈí¼þÓ¦ÓÃÃû³Æ£¬»¹ÓпÉÄܰüÀ¨°æ±¾ºÅºÍ°²×°Ê±ÆôÓõĿÉÑ¡Ïî¡£

6.8 Vary

Vary: Accept-Language

Êײ¿×Ö¶Î Vary ¿É¶Ô»º´æ½øÐпØÖÆ¡£Ô´·þÎñÆ÷»áÏò´úÀí·þÎñÆ÷´«´ï¹ØÓÚ±¾µØ»º´æÊ¹Ó÷½·¨µÄÃüÁî¡£

´Ó´úÀí·þÎñÆ÷½ÓÊÕµ½Ô´·þÎñÆ÷·µ»Ø°üº¬ Vary Ö¸¶¨ÏîµÄÏìÓ¦Ö®ºó£¬ÈôÔÙÒª½øÐлº´æ£¬½ö¶ÔÇëÇóÖк¬ÓÐÏàͬ Vary Ö¸¶¨Êײ¿×ֶεÄÇëÇ󷵻ػº´æ¡£¼´Ê¹¶ÔÏàͬ×ÊÔ´·¢ÆðÇëÇ󣬵«ÓÉÓÚ Vary Ö¸¶¨µÄÊײ¿×ֶβ»Ïàͬ£¬Òò´Ë±ØÐëÒª´ÓÔ´·þÎñÆ÷ÖØÐ»ñÈ¡×ÊÔ´¡£

6.9 WWW-Authenticate

WWW-Authenticate: Basic realm="Usagidesign Auth"

Êײ¿×Ö¶Î WWW-Authenticate ÓÃÓÚ HTTP ·ÃÎÊÈÏÖ¤¡£Ëü»á¸æÖª¿Í»§¶ËÊÊÓÃÓÚ·ÃÎÊÇëÇó URI ËùÖ¸¶¨×ÊÔ´µÄÈÏÖ¤·½°¸£¨Basic »òÊÇ Digest£©ºÍ´ø²ÎÊýÌáʾµÄÖÊѯ£¨challenge£©¡£

7. ʵÌåÊײ¿×ֶΣ¨HTTP/1.1£©

 

7.1 Allow

Allow: GET, HEAD

Êײ¿×Ö¶Î Allow ÓÃÓÚ֪ͨ¿Í»§¶ËÄܹ»Ö§³Ö Request-URI Ö¸¶¨×ÊÔ´µÄËùÓÐ HTTP ·½·¨¡£

µ±·þÎñÆ÷½ÓÊÕµ½²»Ö§³ÖµÄ HTTP ·½·¨Ê±£¬»áÒÔ״̬Âë 405 Method Not Allowed ×÷ΪÏìÓ¦·µ»Ø¡£Óë´Ëͬʱ£¬»¹»á°ÑËùÓÐÄÜÖ§³ÖµÄ HTTP ·½·¨Ð´ÈëÊײ¿×Ö¶Î Allow ºó·µ»Ø¡£

7.2 Content-Encoding

Content-Encoding: gzip

Êײ¿×Ö¶Î Content-Encoding »á¸æÖª¿Í»§¶Ë·þÎñÆ÷¶ÔʵÌåµÄÖ÷Ì岿·ÖÑ¡ÓõÄÄÚÈݱàÂ뷽ʽ¡£ÄÚÈݱàÂëÊÇÖ¸ÔÚ²»¶ªÊ§ÊµÌåÐÅÏ¢µÄǰÌáÏÂËù½øÐеÄѹËõ¡£

Ö÷Òª²ÉÓÃÕâ 4 ÖÖÄÚÈݱàÂëµÄ·½Ê½£¨gzip¡¢compress¡¢deflate¡¢identity£©¡£

7.3 Content-Language

Content-Language: zh-CN

Êײ¿×Ö¶Î Content-Language »á¸æÖª¿Í»§¶Ë£¬ÊµÌåÖ÷ÌåʹÓõÄ×ÔÈ»ÓïÑÔ£¨Ö¸ÖÐÎÄ»òÓ¢ÎĵÈÓïÑÔ£©¡£

7.4 Content-Length

Content-Length: 15000

Êײ¿×Ö¶Î Content-Length ±íÃ÷ÁËʵÌåÖ÷Ì岿·ÖµÄ´óС£¨µ¥Î»ÊÇ×Ö½Ú£©¡£¶ÔʵÌåÖ÷Ìå½øÐÐÄÚÈݱàÂë´«Êäʱ£¬²»ÄÜÔÙʹÓà Content-LengthÊײ¿×ֶΡ£

7.5 Content-Location

Content-Location: http://www.sample.com/index.html

Êײ¿×Ö¶Î Content-Location ¸ø³öÓ뱨ÎÄÖ÷Ì岿·ÖÏà¶ÔÓ¦µÄ URI¡£ºÍÊײ¿×Ö¶Î Location ²»Í¬£¬Content-Location ±íʾµÄÊDZ¨ÎÄÖ÷Ìå·µ»Ø×ÊÔ´¶ÔÓ¦µÄ URI¡£

7.6 Content-MD5

Content-MD5: OGFkZDUwNGVhNGY3N2MxMDIwZmQ4NTBmY2IyTY==

Êײ¿×Ö¶Î Content-MD5 ÊÇÒ»´®ÓÉ MD5 Ëã·¨Éú³ÉµÄÖµ£¬ÆäÄ¿µÄÔÚÓÚ¼ì²é±¨ÎÄÖ÷ÌåÔÚ´«Êä¹ý³ÌÖÐÊÇ·ñ±£³ÖÍêÕû£¬ÒÔ¼°È·ÈÏ´«Êäµ½´ï¡£

7.7 Content-Range

Content-Range: bytes 5001-10000/10000

Õë¶Ô·¶Î§ÇëÇ󣬷µ»ØÏìӦʱʹÓõÄÊײ¿×Ö¶Î Content-Range£¬ÄܸæÖª¿Í»§¶Ë×÷ΪÏìÓ¦·µ»ØµÄʵÌåµÄÄĸö²¿·Ö·ûºÏ·¶Î§ÇëÇó¡£×Ö¶ÎÖµÒÔ×Ö½ÚΪµ¥Î»£¬±íʾµ±Ç°·¢ËͲ¿·Ö¼°Õû¸öʵÌå´óС¡£

7.8 Content-Type

Content-Type: text/html; charset=UTF-8

Êײ¿×Ö¶Î Content-Type ˵Ã÷ÁËʵÌåÖ÷ÌåÄÚ¶ÔÏóµÄýÌåÀàÐÍ¡£ºÍÊײ¿×Ö¶Î Accept Ò»Ñù£¬×Ö¶ÎÖµÓà type/subtype ÐÎʽ¸³Öµ¡£²ÎÊý charset ʹÓà iso-8859-1 »ò euc-jp µÈ×Ö·û¼¯½øÐи³Öµ¡£

7.9 Expires

Expires: Mon, 10 Jul 2017 15:50:06 GMT

Êײ¿×Ö¶Î Expires »á½«×ÊԴʧЧµÄÈÕÆÚ¸æÖª¿Í»§¶Ë¡£

»º´æ·þÎñÆ÷ÔÚ½ÓÊÕµ½º¬ÓÐÊײ¿×Ö¶Î Expires µÄÏìÓ¦ºó£¬»áÒÔ»º´æÀ´Ó¦´ðÇëÇó£¬ÔÚ Expires ×Ö¶ÎÖµÖ¸¶¨µÄʱ¼ä֮ǰ£¬ÏìÓ¦µÄ¸±±¾»áÒ»Ö±±»±£´æ¡£µ±³¬¹ýÖ¸¶¨µÄʱ¼äºó£¬»º´æ·þÎñÆ÷ÔÚÇëÇó·¢Ë͹ýÀ´Ê±£¬»áתÏòÔ´·þÎñÆ÷ÇëÇó×ÊÔ´¡£

Ô´·þÎñÆ÷²»Ï£Íû»º´æ·þÎñÆ÷¶Ô×ÊÔ´»º´æÊ±£¬×îºÃÔÚ Expires ×Ö¶ÎÄÚдÈëÓëÊײ¿×Ö¶Î Date ÏàͬµÄʱ¼äÖµ¡£

7.10 Last-Modified

Last-Modified: Mon, 10 Jul 2017 15:50:06 GMT

Êײ¿×Ö¶Î Last-Modified Ö¸Ã÷×ÊÔ´×îÖÕÐ޸ĵÄʱ¼ä¡£Ò»°ãÀ´Ëµ£¬Õâ¸öÖµ¾ÍÊÇ Request-URI Ö¸¶¨×ÊÔ´±»Ð޸ĵÄʱ¼ä¡£µ«ÀàËÆÊ¹Óà CGI ½Å±¾½øÐж¯Ì¬Êý¾Ý´¦Àíʱ£¬¸ÃÖµÓпÉÄÜ»á±ä³ÉÊý¾Ý×îÖÕÐÞ¸ÄʱµÄʱ¼ä¡£

8. Ϊ Cookie ·þÎñµÄÊײ¿×Ö¶Î

 

8.1 Set-Cookie

Set-Cookie: status=enable; expires=Mon, 10 Jul 2017 15:50:06 GMT; path=/;

ÏÂÃæµÄ±í¸ñÁоÙÁË Set-Cookie µÄ×Ö¶ÎÖµ¡£

 

8.1.1 expires ÊôÐÔ

Cookie µÄ expires ÊôÐÔÖ¸¶¨ä¯ÀÀÆ÷¿É·¢ËÍ Cookie µÄÓÐЧÆÚ¡£

µ±Ê¡ÂÔ expires ÊôÐÔʱ£¬ÆäÓÐЧÆÚ½öÏÞÓÚά³Öä¯ÀÀÆ÷»á»°£¨Session£©Ê±¼ä¶ÎÄÚ¡£Õâͨ³£ÏÞÓÚä¯ÀÀÆ÷Ó¦ÓóÌÐò±»¹Ø±Õ֮ǰ¡£

ÁíÍ⣬һµ© Cookie ´Ó·þÎñÆ÷¶Ë·¢ËÍÖÁ¿Í»§¶Ë£¬·þÎñÆ÷¶Ë¾Í²»´æÔÚ¿ÉÒÔÏÔʽɾ³ý Cookie µÄ·½·¨¡£µ«¿Éͨ¹ý¸²¸ÇÒѹýÆÚµÄ Cookie£¬ÊµÏÖ¶Ô¿Í»§¶Ë Cookie µÄʵÖÊÐÔɾ³ý²Ù×÷¡£

8.1.2 path ÊôÐÔ

Cookie µÄ path ÊôÐÔ¿ÉÓÃÓÚÏÞÖÆÖ¸¶¨ Cookie µÄ·¢ËÍ·¶Î§µÄÎļþĿ¼¡£

8.1.3 domain ÊôÐÔ

ͨ¹ý Cookie µÄ domain ÊôÐÔÖ¸¶¨µÄÓòÃû¿É×öµ½Óë½áβƥÅäÒ»Ö¡£±ÈÈ磬µ±Ö¸¶¨ example.com ºó£¬³ýexample.com ÒÔÍ⣬www.example.com »ò www2.example.com µÈ¶¼¿ÉÒÔ·¢ËÍ Cookie¡£

Òò´Ë£¬³ýÁËÕë¶Ô¾ßÌåÖ¸¶¨µÄ¶à¸öÓòÃû·¢ËÍ Cookie Ö® Í⣬²»Ö¸¶¨ domain ÊôÐÔÏԵøü°²È«¡£

8.1.4 secure ÊôÐÔ

Cookie µÄ secure ÊôÐÔÓÃÓÚÏÞÖÆ Web Ò³Ãæ½öÔÚ HTTPS °²È«Á¬½Óʱ£¬²Å¿ÉÒÔ·¢ËÍ Cookie¡£

8.1.5 HttpOnly ÊôÐÔ

Cookie µÄ HttpOnly ÊôÐÔÊÇ Cookie µÄÀ©Õ¹¹¦ÄÜ£¬Ëüʹ JavaScript ½Å±¾ÎÞ·¨»ñµÃ Cookie¡£ÆäÖ÷ҪĿµÄΪ·ÀÖ¹¿çÕ¾½Å±¾¹¥»÷£¨Cross-site scripting£¬XSS£©¶Ô Cookie µÄÐÅÏ¢ÇÔÈ¡¡£

ͨ¹ýÉÏÊöÉèÖã¬Í¨³£´Ó Web Ò³ÃæÄÚ»¹¿ÉÒÔ¶Ô Cookie ½øÐжÁÈ¡²Ù×÷¡£µ«Ê¹Óà JavaScript µÄ document.cookie ¾ÍÎÞ·¨¶ÁÈ¡¸½¼Ó HttpOnly ÊôÐÔºóµÄ Cookie µÄÄÚÈÝÁË¡£Òò´Ë£¬Ò²¾ÍÎÞ·¨ÔÚ XSS ÖÐÀûÓà JavaScript ½Ù³Ö Cookie ÁË¡£

8.2 Cookie

Cookie: status=enable

Êײ¿×Ö¶Î Cookie »á¸æÖª·þÎñÆ÷£¬µ±¿Í»§¶ËÏë»ñµÃ HTTP ״̬¹ÜÀíÖ§³Öʱ£¬¾Í»áÔÚÇëÇóÖаüº¬´Ó·þÎñÆ÷½ÓÊÕµ½µÄ Cookie¡£½ÓÊÕµ½¶à¸ö Cookie ʱ£¬Í¬Ñù¿ÉÒÔÒÔ¶à¸ö Cookie ÐÎʽ·¢ËÍ¡£

9. ÆäËûÊײ¿×Ö¶Î

HTTP Êײ¿×Ö¶ÎÊÇ¿ÉÒÔ×ÔÐÐÀ©Õ¹µÄ¡£ËùÒÔÔÚ Web ·þÎñÆ÷ºÍä¯ÀÀÆ÷µÄÓ¦ÓÃÉÏ£¬»á³öÏÖ¸÷ÖַDZê×¼µÄÊײ¿×ֶΡ£

ÒÔÏÂÊÇ×îΪ³£ÓõÄÊײ¿×ֶΡ£

9.1 X-Frame-Options

X-Frame-Options: DENY

Êײ¿×Ö¶Î X-Frame-Options ÊôÓÚ HTTP ÏìÓ¦Êײ¿£¬ÓÃÓÚ¿ØÖÆÍøÕ¾ÄÚÈÝÔÚÆäËû Web ÍøÕ¾µÄ Frame ±êÇ©ÄÚµÄÏÔʾÎÊÌâ¡£ÆäÖ÷ҪĿµÄÊÇΪÁË·ÀÖ¹µã»÷½Ù³Ö£¨clickjacking£©¹¥»÷¡£Êײ¿×Ö¶Î X-Frame-Options ÓÐÒÔÏÂÁ½¸ö¿ÉÖ¸¶¨µÄ×Ö¶ÎÖµ£º

DENY£º¾Ü¾ø

SAMEORIGIN£º½öͬԴÓòÃûϵÄÒ³Ãæ£¨Top-level-browsing-context£©Æ¥ÅäʱÐí¿É¡££¨±ÈÈ磬µ±Ö¸¶¨ http://sample.com/sample.html Ò³ÃæÎª SAMEORIGIN ʱ£¬ÄÇô sample.com ÉÏËùÓÐÒ³ÃæµÄ frame ¶¼±»ÔÊÐí¿É¼ÓÔØ¸ÃÒ³Ãæ£¬¶ø example.com µÈÆäËûÓòÃûµÄÒ³Ãæ¾Í²»ÐÐÁË£©

9.2 X-XSS-Protection

X-XSS-Protection: 1

Êײ¿×Ö¶Î X-XSS-Protection ÊôÓÚ HTTP ÏìÓ¦Êײ¿£¬ËüÊÇÕë¶Ô¿çÕ¾½Å±¾¹¥»÷£¨XSS£©µÄÒ»ÖֶԲߣ¬ÓÃÓÚ¿ØÖÆä¯ÀÀÆ÷ XSS ·À»¤»úÖÆµÄ¿ª¹Ø¡£Êײ¿×Ö¶Î X-XSS-Protection ¿ÉÖ¸¶¨µÄ×Ö¶ÎÖµÈçÏÂ:

0 £º½« XSS ¹ýÂËÉèÖóÉÎÞЧ״̬

1 £º½« XSS ¹ýÂËÉèÖóÉÓÐЧ״̬

9.3 DNT

DNT: 1

Êײ¿×Ö¶Î DNT ÊôÓÚ HTTP ÇëÇóÊײ¿£¬ÆäÖÐ DNT ÊÇ Do Not Track µÄ¼ò³Æ£¬ÒâΪ¾Ü¾ø¸öÈËÐÅÏ¢±»ÊÕ¼¯£¬ÊDZíʾ¾Ü¾ø±»¾«×¼¹ã¸æ×·×ÙµÄÒ»ÖÖ·½·¨¡£Êײ¿×Ö¶Î DNT ¿ÉÖ¸¶¨µÄ×Ö¶ÎÖµÈçÏ£º

0 £ºÍ¬Òâ±»×·×Ù

1 £º¾Ü¾ø±»×·×Ù

ÓÉÓÚÊײ¿×Ö¶Î DNT µÄ¹¦Äܾ߱¸ÓÐЧÐÔ£¬ËùÒÔ Web ·þÎñÆ÷ÐèÒª¶Ô DNT×ö¶ÔÓ¦µÄÖ§³Ö¡£

9.4 P3P

P3P: CP="CAO DSP LAW CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa OUR BUS IND

Êײ¿×Ö¶Î P3P ÊôÓÚ HTTP ÏìÓ¦Êײ¿£¬Í¨¹ýÀûÓà P3P£¨The Platform for Privacy Preferences£¬ÔÚÏßÒþ˽ƫºÃƽ̨£©¼¼Êõ£¬¿ÉÒÔÈà Web ÍøÕ¾ÉϵĸöÈËÒþ˽±ä³ÉÒ»ÖÖ½ö¹©³ÌÐò¿ÉÀí½âµÄÐÎʽ£¬ÒÔ´ïµ½±£»¤Óû§Òþ˽µÄÄ¿µÄ¡£

Òª½øÐÐ P3P µÄÉ趨£¬Ðè°´ÒÔϲÙ×÷²½Öè½øÐУº

²½Öè 1£º´´½¨ P3P Òþ˽

²½Öè 2£º´´½¨ P3P Òþ˽¶ÔÕÕÎļþºó£¬±£´æÃüÃûÔÚ /w3c/p3p.xml

²½Öè 3£º´Ó P3P Òþ˽ÖÐн¨ Compact policies ºó£¬Êä³öµ½ HTTP ÏìÓ¦ÖÐ

Æß¡¢HTTP ÏìӦ״̬Âë£¨ÖØµã·ÖÎö£©

1. ״̬Âë¸ÅÊö

HTTP ״̬Â븺Ôð±íʾ¿Í»§¶Ë HTTP ÇëÇóµÄ·µ»Ø½á¹û¡¢±ê¼Ç·þÎñÆ÷¶ËµÄ´¦ÀíÊÇ·ñÕý³£¡¢Í¨Öª³öÏֵĴíÎóµÈ¹¤×÷¡£

HTTP ״̬ÂëÈç 200 OK £¬ÒÔ 3 λÊý×ÖºÍÔ­Òò¶ÌÓï×é³É¡£Êý×ÖÖеĵÚһλָ¶¨ÁËÏìÓ¦Àà±ð£¬ºóÁ½Î»ÎÞ·ÖÀà¡£

²»ÉÙ·µ»ØµÄÏìӦ״̬Âë¶¼ÊÇ´íÎóµÄ£¬µ«ÊÇÓû§¿ÉÄܲì¾õ²»µ½Õâµã¡£±ÈÈç Web Ó¦ÓóÌÐòÄÚ²¿·¢Éú´íÎó£¬×´Ì¬ÂëÒÀÈ»·µ»Ø 200 OK¡£

2. ״̬ÂëÀà±ð

 

ÎÒÃÇ¿ÉÒÔ×ÔÐиıä RFC2616 Öж¨ÒåµÄ״̬Âë»òÕß·þÎñÆ÷¶Ë×ÔÐд´½¨×´Ì¬Â룬ֻҪ×ñÊØ×´Ì¬ÂëµÄÀà±ð¶¨Òå¾Í¿ÉÒÔÁË¡£

3. ³£ÓÃ״̬Âë½âÎö

HTTP ״̬ÂëÖÖÀà·±¶à£¬ÊýÁ¿´ï¼¸Ê®ÖÖ¡£ÆäÖÐ×î³£ÓõÄÓÐÒÔÏ 14 ÖÖ£¬Ò»ÆðÀ´¿´¿´¡£

3.1 200 OK

±íʾ´Ó¿Í»§¶Ë·¢À´µÄÇëÇóÔÚ·þÎñÆ÷¶Ë±»Õý³£´¦ÀíÁË¡£

3.2 204 No Content

´ú±í·þÎñÆ÷½ÓÊÕµÄÇëÇóÒѳɹ¦´¦Àí£¬µ«ÔÚ·µ»ØµÄÏìÓ¦±¨ÎÄÖв»º¬ÊµÌåµÄÖ÷Ì岿·Ö¡£ÁíÍ⣬Ҳ²»ÔÊÐí·µ»ØÈκÎʵÌåµÄÖ÷Ìå¡£

Ò»°ãÔÚÖ»ÐèÒª´Ó¿Í»§¶ËÏò·þÎñÆ÷¶Ë·¢ËÍÏûÏ¢£¬¶ø·þÎñÆ÷¶Ë²»ÐèÒªÏò¿Í»§¶Ë·¢ËÍÐÂÏûÏ¢ÄÚÈݵÄÇé¿öÏÂʹÓá£

3.3 206 Partial Content

±íʾ¿Í»§¶Ë½øÐÐÁË·¶Î§ÇëÇ󣬶ø·þÎñÆ÷³É¹¦Ö´ÐÐÁËÕⲿ·ÖµÄ GET ÇëÇó¡£ÏìÓ¦±¨ÎÄÖаüº¬ÓÉ Content-Range Êײ¿×Ö¶ÎÖ¸¶¨·¶Î§µÄʵÌåÄÚÈÝ¡£

3.4 301 Moved Permanently

ÓÀ¾ÃÐÔÖØ¶¨Ïò¡£±íʾÇëÇóµÄ×ÊÔ´Òѱ»·ÖÅäÁËÐ嵀 URI¡£ÒÔºóӦʹÓÃ×ÊÔ´ÏÖÔÚËùÖ¸µÄ URI¡£Ò²¾ÍÊÇ˵£¬Èç¹ûÒѾ­°Ñ×ÊÔ´¶ÔÓ¦µÄ URI ±£´æÎªÊéÇ©ÁË£¬ÕâʱӦ¸Ã°´ Location Êײ¿×Ö¶ÎÌáʾµÄ URI ÖØÐ±£´æ¡£

3.5 302 Found

ÁÙʱÐÔÖØ¶¨Ïò¡£±íʾÇëÇóµÄ×ÊÔ´Òѱ»·ÖÅäÁËÐ嵀 URI£¬Ï£ÍûÓû§£¨±¾´Î£©ÄÜʹÓÃÐ嵀 URI ·ÃÎÊ¡£

ºÍ 301 Moved Permanently ״̬ÂëÏàËÆ£¬µ« 302 Found ״̬Âë´ú±í×ÊÔ´²»ÊDZ»ÓÀ¾ÃÒÆ¶¯£¬Ö»ÊÇÁÙʱÐÔÖʵġ£»»¾ä»°Ëµ£¬ÒÑÒÆ¶¯µÄ×ÊÔ´¶ÔÓ¦µÄ URI ½«À´»¹ÓпÉÄÜ·¢Éú¸Ä±ä¡£

3.6 303 See Other

±íʾÓÉÓÚÇëÇóµÄ×ÊÔ´´æÔÚ×ÅÁíÒ»¸ö URI£¬Ó¦Ê¹Óà GET ·½·¨¶¨Ïò»ñÈ¡ÇëÇóµÄ×ÊÔ´¡£

303 See Other ºÍ 302 Found ״̬ÂëÓÐ×ÅÏàͬµÄ¹¦ÄÜ£¬µ« 303 See Other ״̬ÂëÃ÷È·±íʾ¿Í»§¶ËÓ¦²ÉÓà GET ·½·¨»ñÈ¡×ÊÔ´£¬ÕâµãÓë 302 Found ״̬ÂëÓÐÇø±ð¡£

3.7 304 Not Modified

±íʾ¿Í»§¶Ë·¢Ë͸½´øÌõ¼þµÄÇëÇóʱ£¬·þÎñÆ÷¶ËÔÊÐíÇëÇó·ÃÎʵÄ×ÊÔ´£¬µ«Î´Âú×ãÌõ¼þµÄÇé¿ö¡£

304 Not Modified ״̬Âë·µ»ØÊ±£¬²»°üº¬ÈκÎÏìÓ¦µÄÖ÷Ì岿·Ö¡£

304 Not Modified ËäÈ»±»»®·Öµ½ 3xx Àà±ðÖУ¬µ«ºÍÖØ¶¨ÏòûÓйØÏµ¡£

3.8 307 Temporary Redirect

ÁÙÊ±ÖØ¶¨Ïò¡£¸Ã״̬ÂëÓë 302 Found ÓÐ×ÅÏàͬµÄº¬Òå¡£

3.9 400 Bad Request

±íʾÇëÇó±¨ÎÄÖдæÔÚÓï·¨´íÎó¡£µ±´íÎó·¢Éúʱ£¬ÐèÐÞ¸ÄÇëÇóµÄÄÚÈݺóÔٴη¢ËÍÇëÇó¡£

ÁíÍ⣬ä¯ÀÀÆ÷»áÏñ 200 OK Ò»Ñù¶Ô´ý¸Ã״̬Âë¡£

3.10 401 Unauthorized

±íʾ·¢Ë͵ÄÇëÇóÐèÒªÓÐͨ¹ý HTTP ÈÏÖ¤£¨BASIC ÈÏÖ¤¡¢DIGEST ÈÏÖ¤£©µÄÈÏÖ¤ÐÅÏ¢¡£

ÁíÍ⣬Èô֮ǰÒѽøÐйý 1 ´ÎÇëÇó£¬Ôò±íʾÓû§ÈÏ֤ʧ°Ü¡£

·µ»Øº¬ÓÐ 401 Unauthorized µÄÏìÓ¦±ØÐë°üº¬Ò»¸öÊÊÓÃÓÚ±»ÇëÇó×ÊÔ´µÄ WWW-Authenticate Êײ¿ÓÃÒÔÖÊѯ£¨challenge£©Óû§ÐÅÏ¢¡£

3.11 403 Forbidden

±íÃ÷¶ÔÇëÇó×ÊÔ´µÄ·ÃÎʱ»·þÎñÆ÷¾Ü¾øÁË¡£·þÎñÆ÷¶ËûÓбØÒª¸ø³öÏêϸµÄ¾Ü¾øÀíÓÉ£¬µ±È»Ò²¿ÉÒÔÔÚÏìÓ¦±¨ÎĵÄʵÌåÖ÷Ì岿·Ö¶ÔÔ­Òò½øÐÐÃèÊö¡£

3.12 404 Not Found

±íÃ÷·þÎñÆ÷ÉÏÎÞ·¨ÕÒµ½ÇëÇóµÄ×ÊÔ´¡£³ý´ËÖ®Í⣬Ҳ¿ÉÒÔÔÚ·þÎñÆ÷¶Ë¾Ü¾øÇëÇóÇÒ²»Ïë˵Ã÷ÀíÓɵÄʱºòʹÓá£

3.13 500 Internal Server Error

±íÃ÷·þÎñÆ÷¶ËÔÚÖ´ÐÐÇëÇóʱ·¢ÉúÁË´íÎó¡£Ò²¿ÉÄÜÊÇ Web Ó¦ÓôæÔÚµÄ bug »òijЩÁÙʱµÄ¹ÊÕÏ¡£

3.14 503 Service Unavailable

±íÃ÷·þÎñÆ÷ÔÝʱ´¦ÓÚ³¬¸ºÔØ»òÕýÔÚ½øÐÐÍ£»úά»¤£¬ÏÖÔÚÎÞ·¨´¦ÀíÇëÇó¡£Èç¹ûÊÂÏȵÃÖª½â³ýÒÔÉÏ×´¿öÐèÒªµÄʱ¼ä£¬×îºÃдÈë Retry-After Êײ¿×Ö¶ÎÔÙ·µ»Ø¸ø¿Í»§¶Ë¡£

°Ë¡¢HTTP ±¨ÎÄʵÌå

1. HTTP ±¨ÎÄʵÌå¸ÅÊö

HTTP ±¨ÎĽṹ

´ó¼ÒÇë×Ðϸ¿´¿´ÉÏÃæÊ¾ÀýÖУ¬¸÷¸ö×é³É²¿·Ö¶ÔÓ¦µÄÄÚÈÝ¡£

½Ó×Å£¬ÎÒÃÇÀ´¿´¿´±¨ÎĺÍʵÌåµÄ¸ÅÄî¡£Èç¹û°Ñ HTTP ±¨ÎÄÏëÏó³ÉÒòÌØÍø»õÔËϵͳÖеÄÏä×Ó£¬ÄÇô HTTP ʵÌå¾ÍÊDZ¨ÎÄÖÐʵ¼ÊµÄ»õÎï¡£

±¨ÎÄ£ºÊÇÍøÂçÖн»»»ºÍ´«ÊäµÄÊý¾Ýµ¥Ôª£¬¼´Õ¾µãÒ»´ÎÐÔÒª·¢Ë͵ÄÊý¾Ý¿é¡£±¨Îİüº¬Á˽«Òª·¢Ë͵ÄÍêÕûµÄÊý¾ÝÐÅÏ¢£¬Æä³¤¶ÌºÜ²»Ò»Ö£¬³¤¶È²»ÏÞÇҿɱ䡣

ʵÌ壺×÷ΪÇëÇó»òÏìÓ¦µÄÓÐÐ§ÔØºÉÊý¾Ý£¨²¹³äÏ±»´«Ê䣬ÆäÄÚÈÝÓÉʵÌåÊײ¿ºÍʵÌåÖ÷Ìå×é³É¡££¨ÊµÌåÊײ¿Ïà¹ØÄÚÈÝÔÚÉÏÃæµÚÁùµãÖÐÒÑÓвûÊö¡££©

ÎÒÃÇ¿ÉÒÔ¿´µ½£¬ÉÏÃæÊ¾ÀýÓÒͼÖÐÉîºìÉ«¿òµÄÄÚÈݾÍÊDZ¨ÎĵÄʵÌ岿·Ö£¬¶øÀ¶É«¿òµÄÁ½²¿·ÖÄÚÈÝ·Ö±ð¾ÍÊÇʵÌåÊײ¿ºÍʵÌåÖ÷Ìå¡£¶ø×óͼÖзۺì¿òÄÚÈݾÍÊDZ¨ÎÄÖ÷Ìå¡£

ͨ³££¬±¨ÎÄÖ÷ÌåµÈÓÚʵÌåÖ÷Ìå¡£Ö»Óе±´«ÊäÖнøÐбàÂë²Ù×÷ʱ£¬ÊµÌåÖ÷ÌåµÄÄÚÈÝ·¢Éú±ä»¯£¬²Åµ¼ÖÂËüºÍ±¨ÎÄÖ÷Ìå²úÉú²îÒì¡£

2. ÄÚÈݱàÂë

HTTP Ó¦ÓóÌÐòÓÐʱÔÚ·¢ËÍ֮ǰÐèÒª¶ÔÄÚÈݽøÐбàÂë¡£ÀýÈ磬ÔڰѺܴóµÄ HTML Îĵµ·¢Ë͸øÍ¨¹ýÂýËÙÁ¬½ÓÉÏÀ´µÄ¿Í»§¶Ë֮ǰ£¬·þÎñÆ÷¿ÉÄÜ»á¶ÔÆä½øÐÐѹËõ£¬ÕâÑùÓÐÖúÓÚ¼õÉÙ´«ÊäʵÌåµÄʱ¼ä¡£·þÎñÆ÷»¹¿ÉÒÔ°ÑÄÚÈݽÁÂÒ»ò¼ÓÃÜ£¬ÒÔ´ËÀ´·ÀֹδÊÚȨµÄµÚÈý·½¿´µ½ÎĵµµÄÄÚÈÝ¡£

ÕâÖÖÀàÐ͵ıàÂëÊÇÔÚ·¢ËÍ·½Ó¦Óõ½ÄÚÈÝÖ®Éϵġ£µ±ÄÚÈݾ­¹ýÄÚÈݱàÂëºó£¬±àºÃÂëµÄÊý¾Ý¾Í·ÅÔÚʵÌåÖ÷ÌåÖУ¬ÏñÍù³£Ò»Ñù·¢Ë͸ø½ÓÊÕ·½¡£

ÄÚÈݱàÂëÀàÐÍ£º

 

3. ´«Êä±àÂë

ÄÚÈݱàÂëÊǶԱ¨ÎĵÄÖ÷Ìå½øÐеĿÉÄæ±ä»»£¬ÊǺÍÄÚÈݵľßÌå¸ñʽϸ½Ú½ôÃÜÏà¹ØµÄ¡£

´«Êä±àÂëÒ²ÊÇ×÷ÓÃÔÚʵÌåÖ÷ÌåÉϵĿÉÄæ±ä»»£¬µ«Ê¹ÓÃËüÃÇÊÇÓÉÓڼܹ¹·½ÃæµÄÔ­Òò£¬Í¬ÄÚÈݵĸñʽÎ޹ء£Ê¹Óô«Êä±àÂëÊÇΪÁ˸ı䱨ÎÄÖеÄÊý¾ÝÔÚÍøÂçÉÏ´«ÊäµÄ·½Ê½¡£

ÄÚÈݱàÂëºÍ´«Êä±àÂëµÄ¶Ô±È

4. ·Ö¿é±àÂë

·Ö¿é±àÂë°Ñ±¨ÎÄ·Ö¸î³ÉÈô¸ÉÒÑÖª´óСµÄ¿é¡£¿éÖ®¼äÊǽô°¤×Å·¢Ë͵ģ¬ÕâÑù¾Í²»ÐèÒªÔÚ·¢ËÍ֮ǰ֪µÀÕû¸ö±¨ÎĵĴóСÁË¡£·Ö¿é±àÂëÊÇÒ»ÖÖ´«Êä±àÂ룬ÊDZ¨ÎĵÄÊôÐÔ¡£

·Ö¿é±àÂëÓë³Ö¾ÃÁ¬½Ó

Èô¿Í»§¶ËÓë·þÎñÆ÷¶ËÖ®¼ä²»Êdz־ÃÁ¬½Ó£¬¿Í»§¶Ë¾Í²»ÐèÒªÖªµÀËüÔÚ¶ÁÈ¡µÄÖ÷ÌåµÄ³¤¶È£¬¶øÖ»ÐèÒª¶ÁÈ¡µ½·þÎñÆ÷¹Ø±ÕÖ÷ÌåÁ¬½ÓΪֹ¡£

µ±Ê¹Óó־ÃÁ¬½Óʱ£¬ÔÚ·þÎñÆ÷дÖ÷Ìå֮ǰ£¬±ØÐëÖªµÀËüµÄ´óС²¢ÔÚ Content-Length Êײ¿Öз¢ËÍ¡£Èç¹û·þÎñÆ÷¶¯Ì¬´´½¨ÄÚÈÝ£¬¾Í¿ÉÄÜÔÚ·¢ËÍ֮ǰÎÞ·¨ÖªµÀÖ÷ÌåµÄ³¤¶È¡£

·Ö¿é±àÂëΪÕâÖÖÀ§ÄÑÌṩÁ˽â¾ö·½°¸£¬Ö»ÒªÔÊÐí·þÎñÆ÷°ÑÖ÷Ìå·Ö¿é·¢ËÍ£¬ËµÃ÷ÿ¿éµÄ´óС¾Í¿ÉÒÔÁË¡£ÒòΪÖ÷ÌåÊǶ¯Ì¬´´½¨µÄ£¬·þÎñÆ÷¿ÉÒÔ»º³åËüµÄÒ»²¿·Ö£¬·¢ËÍÆä´óСºÍÏàÓ¦µÄ¿é£¬È»ºóÔÚÖ÷Ìå·¢ËÍÍêÖ®Ç°ÖØ¸´Õâ¸ö¹ý³Ì¡£·þÎñÆ÷¿ÉÒÔÓôóСΪ 0 µÄ¿é×÷ΪÖ÷Ìå½áÊøµÄÐźţ¬ÕâÑù¾Í¿ÉÒÔ¼ÌÐø±£³ÖÁ¬½Ó£¬ÎªÏÂÒ»¸öÏìÓ¦×ö×¼±¸¡£

À´¿´¿´Ò»¸ö·Ö¿é±àÂëµÄ±¨ÎÄʾÀý£º

·Ö¿é±àÂëµÄ±¨ÎÄ

5.¶à²¿·ÖýÌåÀàÐÍ

MIME ÖÐµÄ multipart£¨¶à²¿·Ö£©µç×ÓÓʼþ±¨ÎÄÖаüº¬¶à¸ö±¨ÎÄ£¬ËüÃǺÏÔÚÒ»Æð×÷Ϊµ¥Ò»µÄ¸´ÔÓ±¨ÎÄ·¢ËÍ¡£Ã¿Ò»²¿·Ö¶¼ÊǶÀÁ¢µÄ£¬Óи÷×ÔµÄÃèÊöÆäÄÚÈݵ¬²»Í¬²¿·ÖÖ®¼äÓ÷ֽç×Ö·û´®Á¬½ÓÔÚÒ»Æð¡£

ÏàÓ¦µÃ£¬HTTP ЭÒéÖÐÒ²²ÉÄÉÁ˶ಿ·Ö¶ÔÏ󼯺ϣ¬·¢Ë͵ÄÒ»·Ý±¨ÎÄÖ÷ÌåÄڿɰüº¬¶àÖÖÀàÐÍʵÌå¡£

¶à²¿·Ö¶ÔÏ󼯺ϰüº¬µÄ¶ÔÏóÈçÏ£º

multipart/form-data£ºÔÚ Web ±íµ¥ÎļþÉÏ´«Ê±Ê¹Óá£

multipart/byteranges£º×´Ì¬Âë 206 Partial Content ÏìÓ¦±¨Îİüº¬Á˶à¸ö·¶Î§µÄÄÚÈÝʱʹÓá£

6. ·¶Î§ÇëÇó

¼ÙÉèÄãÕýÔÚÏÂÔØÒ»¸öºÜ´óµÄÎļþ£¬ÒѾ­ÏÂÁËËÄ·ÖÖ®Èý£¬ºöÈ»ÍøÂçÖжÏÁË£¬ÄÇÏÂÔØ¾Í±ØÐëÖØÍ·ÔÙÀ´Ò»±é¡£ÎªÁ˽â¾öÕâ¸öÎÊÌ⣬ÐèÒªÒ»Öֿɻָ´µÄ»úÖÆ£¬¼´ÄÜ´Ó֮ǰÏÂÔØÖжϴ¦»Ö¸´ÏÂÔØ¡£ÒªÊµÏָù¦ÄÜ£¬Õâ¾ÍÒªÓõ½·¶Î§ÇëÇó¡£

ÓÐÁË·¶Î§ÇëÇó£¬ HTTP ¿Í»§¶Ë¿ÉÒÔͨ¹ýÇëÇóÔø»ñȡʧ°ÜµÄʵÌåµÄÒ»¸ö·¶Î§£¨»òÕß˵һ²¿·Ö£©£¬À´»Ö¸´ÏÂÔØ¸ÃʵÌå¡£µ±È»ÕâÓÐÒ»¸öǰÌᣬÄǾÍÊÇ´Ó¿Í»§¶ËÉÏÒ»´ÎÇëÇó¸ÃʵÌåµ½ÕâÒ»´Î·¢³ö·¶Î§ÇëÇóµÄʱ¼ä¶ÎÄÚ£¬¸Ã¶ÔÏóûÓиıä¹ý¡£ÀýÈ磺

GET /bigfile.html HTTP/1.1

Host: www.sample.com

Range: bytes=20224-

¡¤¡¤¡¤

1.´úÀí

´úÀí

HTTP ´úÀí·þÎñÆ÷ÊÇ Web °²È«¡¢Ó¦Óü¯³ÉÒÔ¼°ÐÔÄÜÓÅ»¯µÄÖØÒª×é³ÉÄ£¿é¡£´úÀíλÓÚ¿Í»§¶ËºÍ·þÎñÆ÷¶ËÖ®¼ä£¬½ÓÊÕ¿Í»§¶ËËùÓÐµÄ HTTP ÇëÇ󣬲¢½«ÕâЩÇëÇóת·¢¸ø·þÎñÆ÷£¨¿ÉÄÜ»á¶ÔÇëÇó½øÐÐÐÞ¸ÄÖ®ºóÔÙ½øÐÐת·¢£©¡£¶ÔÓû§À´Ëµ£¬ÕâЩӦÓóÌÐò¾ÍÊÇÒ»¸ö´úÀí£¬´ú±íÓû§·ÃÎÊ·þÎñÆ÷¡£

³öÓÚ°²È«¿¼ÂÇ£¬Í¨³£»á½«´úÀí×÷Ϊת·¢ËùÓÐ Web Á÷Á¿µÄ¿ÉÐÅÈÎÖмä½ÚµãʹÓᣴúÀí»¹¿ÉÒÔ¶ÔÇëÇóºÍÏìÓ¦½øÐйýÂË£¬°²È«ÉÏÍø»òÂÌÉ«ÉÏÍø¡£

2. »º´æ

ä¯ÀÀÆ÷µÚÒ»´ÎÇëÇó£º

ä¯ÀÀÆ÷µÚÒ»´ÎÇëÇó

ä¯ÀÀÆ÷ÔÙ´ÎÇëÇó£º

ä¯ÀÀÆ÷ÔÙ´ÎÇëÇó

Web »º´æ»ò´úÀí»º´æÊÇÒ»ÖÖÌØÊâµÄ HTTP ´úÀí·þÎñÆ÷£¬¿ÉÒÔ½«¾­¹ý´úÀí´«ÊäµÄ³£ÓÃÎĵµ¸´ÖƱ£´æÆðÀ´¡£ÏÂÒ»¸öÇëÇóͬһÎĵµµÄ¿Í»§¶Ë¾Í¿ÉÒÔÏíÊÜ»º´æµÄ˽Óи±±¾ËùÌṩµÄ·þÎñÁË¡£¿Í»§¶Ë´Ó¸½½üµÄ»º´æÏÂÔØÎĵµ»á±È´ÓÔ¶³Ì Web ·þÎñÆ÷ÏÂÔØ¿ìµÃ¶à¡£

3. Íø¹Ø

HTTP / FTP Íø¹Ø

Íø¹ØÊÇÒ»ÖÖÌØÊâµÄ·þÎñÆ÷£¬×÷ΪÆäËû·þÎñÆ÷µÄÖмäʵÌåʹÓá£Í¨³£ÓÃÓÚ½« HTTP Á÷Á¿×ª»»³ÉÆäËûµÄЭÒé¡£Íø¹Ø½ÓÊÕÇëÇóʱ¾ÍºÃÏñ×Ô¼ºÊÇ×ÊÔ´µÄÔ´·þÎñÆ÷Ò»Ñù¡£¿Í»§¶Ë¿ÉÄܲ¢²»ÖªµÀ×Ô¼ºÕýÔÚ¸úÒ»¸öÍø¹Ø½øÐÐͨÐÅ¡£

4. ËíµÀ

HTTP/SSL ËíµÀ

ËíµÀÊÇ»áÔÚ½¨Á¢ÆðÀ´Ö®ºó£¬¾Í»áÔÚÁ½ÌõÁ¬½ÓÖ®¼ä¶ÔԭʼÊý¾Ý½øÐÐäת·¢µÄ HTTP Ó¦ÓóÌÐò¡£HTTP ËíµÀͨ³£ÓÃÀ´ÔÚÒ»Ìõ»ò¶àÌõ HTTP Á¬½ÓÉÏת·¢·Ç HTTP Êý¾Ý£¬×ª·¢Ê±²»»á¿ú̽Êý¾Ý¡£

HTTP ËíµÀµÄÒ»ÖÖ³£¼ûÓÃ;¾ÍÊÇͨ¹ý HTTP Á¬½Ó³ÐÔØ¼ÓÃܵݲȫÌ×½Ó×ֲ㣨SSL£©Á÷Á¿£¬ÕâÑù SSL Á÷Á¿¾Í¿ÉÒÔ´©¹ýÖ»ÔÊÐí Web Á÷Á¿Í¨¹ýµÄ·À»ðǽÁË¡£

5. Agent ´úÀí

×Ô¶¯ËÑË÷ÒýÇæ¡°ÍøÂçÖ©Ö롱

Agent ´úÀíÊÇ´ú±íÓû§·¢Æð HTTP ÇëÇóµÄ¿Í»§¶ËÓ¦ÓóÌÐò¡£ËùÓз¢²¼ Web ÇëÇóµÄÓ¦ÓóÌÐò¶¼ÊÇ HTTP Agent ´úÀí¡£

   
1918 ´Îä¯ÀÀ       31
????

HTTP????
nginx??????
SD-WAN???
5G?????
 
????

??????????
IPv6???????
??????????
???????
????

????????
????????
???????????????
??????????