HTML5¼¼Êõ

TCP/IPЭÒé×å(Ò») HTTP¼ò½é¡¢ÇëÇó·½·¨ÓëÏìӦ״̬Âë - ÇàÓñ·ü°¸(2)

×ÖºÅ+ ×÷ÕߣºH5Ö®¼Ò À´Ô´£ºH5Ö®¼Ò 2017-02-03 11:02 ÎÒÒªÆÀÂÛ( )

HTTPЭÒéµÄ×÷ÓÃÊÇÓÃÀ´¹æ·¶Í¨ÐÅÄÚÈݵģ¬ ÔÚHTTPЭÒéÖпÉÒÔ·ÖΪÇëÇó±¨ÎĺÍÏìÓ¦±¨ÎÄ ¡£¹ËÃû˼Ò壬ÇëÇó±¨ÎÄÊÇÇëÇó·½·¢³öµÄÐÅÏ¢£¬¶øÏìÓ¦±¨ÎÄÊÇÏìÓ¦¶ËÊÕµ½ÇëÇóºóÏìÓ¦µÄÄÚÈÝ¡£½ÓÏÂÀ´ÎÒÃǾÍÀ´¿´¿´ÇëÇó±¨ÎĺÍÏìÓ¦±¨ÎĵÄÕûÌå

HTTPЭÒéµÄ×÷ÓÃÊÇÓÃÀ´¹æ·¶Í¨ÐÅÄÚÈݵģ¬ÔÚHTTPЭÒéÖпÉÒÔ·ÖΪÇëÇó±¨ÎĺÍÏìÓ¦±¨ÎÄ¡£¹ËÃû˼Ò壬ÇëÇó±¨ÎÄÊÇÇëÇó·½·¢³öµÄÐÅÏ¢£¬¶øÏìÓ¦±¨ÎÄÊÇÏìÓ¦¶ËÊÕµ½ÇëÇóºóÏìÓ¦µÄÄÚÈÝ¡£½ÓÏÂÀ´ÎÒÃǾÍÀ´¿´¿´ÇëÇó±¨ÎĺÍÏìÓ¦±¨ÎĵÄÕûÌå½á¹¹¡£

 

1¡¢ÇëÇó±¨ÎÄ£¨Request Message£©½á¹¹

Ï·½ÊÇÇëÇó±¨ÎĵÄÕûÌå½á¹¹¡£ÇëÇó±¨ÎÄÖ÷Òª·ÖΪÁ½´ó²¿·Ö£¬Ò»¸öÊÇÇëÇóÍ·£¨Request Headers£©ÁíÒ»¸öÊÇÇëÇóÌ壨Request Body£©¡£ÕâÁ½ÕßÖ®¼äÓÉ¿ÕÐзָÔÚÇëÇóÍ·ÖÐÓÖ·ÖΪÇëÇóÐУ¨Request Line£©£¬ÇëÇóÍ·²¿×ֶΣ¬Í¨ÓÃÍ·²¿×ֶκÍʵÌåÍ·²¿×ֶεȣ¬Õâ¸öÉÔºó»áÏêϸ½éÉÜ¡£Ï·½¾ÍÊÇÇëÇó±¨ÎĵĽṹ¡£

¡¡¡¡

Ï·½Õâ¸ö½Øͼ¾ÍÊÇÇëÇ󲩿Í԰ij¸öÒ³ÃæʱµÄRequest Headers¡£ÔÚÇëÇóÐÐÖеĵÚÒ»¸ö¡°GET¡±Êǵ±Ç°ÇëÇóµÄ·½·¨£¬ÉÔºó»á×ö½éÉÜ¡£ÖмäµÄ¾ÍÊÇÇëÇó×ÊÔ´µÄ·¾¶£¬×îºóÒ»¸öHTTP/1.1¾ÍÊǵ±Ç°Ê¹ÓÃÇëÇóЭÒé¼°Æä°æ±¾¡£Ï·½ÕâЩ¾ÍÊÇÇëÇóÍ·ÁË£¬ÉÔºó»á¶Ô³£ÓõÄÇëÇóÍ·½øÐнâ˵¡£¶øÇëÇóÌå¾ÍÊÇÄãÍù·þÎñ¶Ë´«ÊäµÄÊý¾Ý£¬±ÈÈçform±íµ¥ÉñÂíµÄ¡£

¡¡¡¡

 

2¡¢ÏìÓ¦±¨ÎÄ£¨Response Message£©½á¹¹

ÁÄÍêÇëÇó±¨ÎÄ£¬½ÓÏÂÀ´ÎÒÃÇÀ´ÁÄÁÄÏìÓ¦±¨ÎÄ£¬ÏìÓ¦±¨ÎĵĽṹÓëÇëÇó±¨ÎĵĽṹÀàËÆ£¬Ò²·ÖΪ±¨ÎÄÍ·ºÍ±¨ÎÄÌ塣Ϸ½¾ÍÊÇÏìÓ¦±¨ÎĵĽṹͼ¡£ÏìӦͷ£¨Response Headers£©·ÖΪ״̬ÐУ¨State Line£©£¬ÏìӦͷ²¿×ֶΣ¬Í¨ÓÃÍ·²¿×ֶΡ¢ÊµÌåÍ·²¿×ֶεȡ£ÏìӦͷÓëÏìÓ¦ÌåÖмäÒ²ÊÇÓпÕÐнøÐзָîµÄ¡£

¡¡¡¡

Ï·½½Øͼ¾ÍÊÇÉÏÊöÇëÇó±¨ÎÄ·¢³öºóµÄÏìӦͷ£¬ÏìÓ¦Ìå¾ÍÊǶÔÓÚµÄHTMLµÈÇ°¶Ë×ÊÔ´ÁË¡£ÔÚÏìӦͷÖУ¬µÚÒ»ÐоÍÊÇ״̬ÐУ¬¡°HTTP/1.1¡±±íʾʹÓõÄHTTPЭÒéµÄ1.1°æ±¾£¬×´Ì¬200±íʾÏìÓ¦³É¹¦£¬"OK"ÔòÊÇ״̬ԭÒò¶ÌÓï¡£³£ÓÃ״̬£¬ÉÔºó»áÏêϸ½éÉÜ¡£

¡¡¡¡

 

 

Èý¡¢HTTPµÄÇëÇó·½·¨ÒÔ¼°ÏìӦ״̬Âë

ÉÏÃæÔÚ½éÉÜÇëÇó±¨ÎÄÖÐÌáµ½µÄ¡°GET¡±¾ÍÊÇÇëÇóÇëÇó·½·¨£¬¶øÔÚÏìÓ¦±¨ÎÄÖÐÌáµ½µÄ¡°200¡±×´Ì¬Â룬¾ÍÊÇÉÔºóÒªÁĵÄÏìӦ״̬Âë¡£ÇëÇó·½·¨ºÍÏìӦ״̬ÂëÔÚHTTPЭÒéÖÐËãÊDZȽÏÖØÒªµÄÄÚÈÝÁË¡£Ö®Ç°ÎÒÃÇÔÚʹÓÃPerfect¿ò¼Ü¿ª·¢·þÎñÆ÷¶ËµÄʱºò£¬ÔøÁĹýÇëÇó·½·¨ÖеÄGET¡¢POST¡¢PUTÒÔ¼°DELETE£¬²¢ÇÒÕâËÄÖÖ·½·¨¿ÉÒÔ½áºÏ×ÅRESTʹÓᣱ¾²¿·ÖÊÇÒÔHTTPЭÒéµÄ½Ç¶ÈÀ´ÁĵÄÇëÇó·½·¨£¬ËùÒÔÓë֮ǰ»áÓÐÉÔÉԵIJ»Í¬¡£±¾²¿·ÖÎÒÃǾÍÀ´ÁÄÒ»ÏÂHTTPЭÒéµÄÇëÇó·½·¨ºÍÏìӦ״̬Âë¡£

 

1.ÇëÇó·½·¨

½ÓÏÂÀ´ÎÒÃÇÒªÁĵÄÇëÇó·½·¨ÓÐGET¡¢POST¡¢PUT¡¢HEAD¡¢DELETE¡¢OPTIONS¡¢TRACE¡¢CONNECT¡£µ±È»ÉÏÊö·½·¨ÊÇ»ùÓÚHTTP/1.1µÄ£¬HTTP/1.0ÖжÀÓеķ½·¨¾Í²»ËµÁË¡£

  • GET----»ñÈ¡×ÊÔ´
  • GET·½·¨Ò»°ãÓÃÀ´´Ó·þÎñÆ÷ÉÏ»ñÈ¡×ÊÔ´µÄ·½·¨¡£·þÎñÆ÷¶Ë½Óµ½GETÇëÇóºó£¬¾Í»áÃ÷°×¿Í»§¶ËÊÇÒª´Ó·þÎñÆ÷¶Ë»ñÈ¡ÏàÓ¦µÄ×ÊÔ´£¬È»ºó¾Í»á¸ù¾ÝÇëÇó±¨ÎÄÖÐÏàÓ¦µÄ²ÎÊý£¬½«ÐèÒªµÄ×ÊÔ´·µ»Ø¸ø¿Í»§¶Ë¡£Ê¹ÓÃGET·½Ê½µÄÇëÇ󣬴«ÊäµÄ²ÎÊýÊÇÆ´½ÓÔÚURIÉϵġ£
  • POST----Êý¾ÝÌá½»
  • POST·½·¨Ò»°ãÓÃÓÚ±íµ¥Ìá½»£¬½«¿Í»§¶ËµÄÊý¾ÝÈûµ½ÇëÇóÌåÖз¢Ë͸ø·þÎñÆ÷¶Ë¡£
  • PUT----ÉÏ´«Îļþ
  • PUT·½·¨Ö÷ÒªÓÃÀ´ÉÏ´«Îļþ£¬½«ÎļþÄÚÈÝÈûµ½ÇëÇó±¨ÎÄÌåÖУ¬´«Êä¸ø·þÎñÆ÷¡£ÒòΪHTTP/1.1µÄPUT·½·¨×ÔÉí²»´øÑéÖ¤»úÖÆ£¬ËùÒÔÈκÎÈ˶¼¿ÉÒÔÉÏ´«Îļþ£¬´æÔÚ°²È«ÐÔ£¬ËùÒÔÉÏ´«Îļþʱ²»ÍƼöʹÓᣵ«ÊÇ֮ǰÎÒÃÇÔÚÉè¼Æ½Ó¿ÚʹÓÃREST±ê׼ʱ£¬¿ÉÒÔʹÓÃPUTÀ´×öÏàÓ¦ÄÚÈݵĸüС£
  • HEAD----»ñÈ¡ÏìÓ¦±¨ÎÄÍ·
  • ÏìÓ¦¶ËÊÕµ½HEADÇëÇóºó£¬Ö»»á·µ»ØÏàÓ¦µÄÏìӦͷ£¬²»»á·µ»ØÏìÓ¦Ìå¡£
  • DELETE----ɾ³ýÎļþ
  • DELETEÓÃÓÚɾ³ýURIÖ¸¶¨µÄ×ÊÔ´£¬ÓëPUTÒ»Ñù£¬×ÔÉíÒ²ÊDz»´øÑéÖ¤»úÖƵģ¬²»¹ýÔÚREST±ê×¼ÖпÉÒÔÓÃÀ´×öÏàÓ¦APIµÄɾ³ý¹¦ÄÜ¡£
  • OPTIONS----²éѯ֧³ÖµÄ·½·¨
  • OPTIONS·½·¨ÊÇÓÃÀ´²éѯ·þÎñÆ÷¿É¶ÔÄÇЩÇëÇó·½·¨×ö³öÏàÓ¦£¬·µ»ØÄÚÈݾÍÊÇÏìÓ¦¶ËËùÖ§³ÖµÄ·½·¨¡£
  • TRACE----×·×Ù·¾¶
  • TRACE·½·¨¿É×·×ÙÇëÇó¾­¹ýµÄ´úÀí·¾¶£¬ÔÚ·¢ËÍÇëÇóʱ»áΪMax-ForwardsÍ·²¿×Ö¶ÎÌîÈëÊý×Ö£¬Ã¿¾­¹ýÒ»¸ö´úÀíÖÐתMax-ForwardsµÄÖµ¾Í»á¼õÒ»£¬Ö±ÖÁMax-ForwardsΪÁãºó£¬²Å»á·µ»Ø200¡£ÒòΪ¸Ã·½·¨Ò×ÒýÆðXST(Cross-Site Tracing£¬¿çÕ¾×·×Ù)¹¥»÷£¬ËùÒÔ²»³£ÓÃÄØ¡£
  • CONNECT----ÒªÇóÓÃËíµÀЭÒéÁ¬½Ó´úÀí
  • CONNECT·½·¨ÒªÇóÔÚÓë´úÀí·þÎñÆ÷ͨÐÅʱ½¨Á¢ËíµÀ£¬ÊµÏÖÓÃËíµÀЭÒé½øÐÐTCPͨÐÅ¡£Ö÷ҪʹÓÃSSL(Secure Sockets Layer, °²È«Ì×½Ó²ã)ºÍTLS(Transport Layer Security, ´«Ê䰲ȫ²ã)ЭÒ齫ͨÐÅÄÚÈݽøÐмÓÃܺó¾­ÍøÂçËíµÀ´«Êä¡£
  •  

    2¡¢ÏìӦ״̬Âë

    ÁÄÍêÇëÇó·½·¨ºó£¬½ÓÏÂÀ´ÎÒÃÇÀ´ÁÄÁÄHTTPЭÒéµÄÏìӦ״̬Âë¡£¹ËÃû˼Ò壬ÏìӦ״̬ÂëÊÇÓÃÀ´±êÖ¾HTTPÏìӦ״̬µÄ£¬ÏìӦ״̬ÓÉÏìӦ״̬ÂëºÍÏìÓ¦Ô­Òò¶ÌÓï¹¹³É£¬µ±È»×´Ì¬ÂëÓкܶàÖУ¬±¾²¿·Ö¾ÍÌô³öÀ´³£ÓõÄ״̬Âë½øÐÐÌÖÂÛ¡£Ï·½ÊÇÏìӦ״̬Âë¿ÉÒÔ·ÖΪµÄ¼¸´óÀࣺ

    ÉÏÃæÊÇÏìӦ״̬ÂëµÄÕûÌå·ÖÀ࣬½ÓÏÂÀ´½éÉÜһЩ³£ÓõÄÏìӦ״̬Âë¡£

    ¡¡¡¡(01)¡¢200 OK : ±íʾ·þÎñ¶ËÕýÈ·´¦ÀíÁË¿Í»§¶Ë·¢Ë͹ýÀ´µÄÇëÇó¡£

    ¡¡¡¡(02)¡¢204 No Content : ±íʾ·þÎñ¶ËÕýÈ·´¦ÀíÇëÇ󣬵«Ã»Óб¨ÎÄʵÌåÒª·µ»Ø¡£

    ¡¡¡¡(03)¡¢206 Partial Content £º±íʾ·þÎñ¶ËÕýÈ·´¦ÀíÁË¿Í»§¶ËµÄ·¶Î§ÇëÇ󣬲¢°´ÕÕÇëÇó·¶Î§·µ»Ø¸ÃÖ¸¶¨·¶Î§ÄÚµÄʵÌåÄÚÈÝ¡£

    ¡¡¡¡(04)¡¢301 Moved Permanently£ºÓÀ¾ÃÐÔÖض¨Ïò£¬Èô֮ǰµÄURI±£´æµ½ÁËÊéÇ©£¬Ôò¸üÐÂÊéÇ©ÖеÄURI¡£

    ¡¡¡¡(05)¡¢302 Found£ºÁÙʱÖض¨Ïò£¬¸ÃÖض¨Ïò²»»á±ä¸üÊéÇ©ÖеÄÄÚÈÝ¡£

    ¡¡¡¡(06)¡¢303 See Other£ºÁÙʱÖض¨Ïò£¬Óë302¹¦ÄÜÏàͬ£¬µ«ÊÇ303״̬ÂðÃ÷È·±íʾ¿Í»§¶ËÓ¦µ±²ÉÓÃGET·½·¨»ñÈ¡×ÊÔ´¡£

    ¡¡¡¡(07)¡¢304 Not Modified: ×ÊԴδ±ä¸ü£¬¸Ã״̬ÂëÓëÖض¨Ïò²¢Ã»ÓÐʲô¹Øϵ£¬µ±·µ»Ø¸Ã״̬Âëʱ£¬¸æËß¿Í»§¶ËÇëÇóµÄ×ÊÔ´²¢Ã»ÓиüУ¬ÏìÓ¦±¨ÎÄÌåÖв¢²»»á·µ»ØËùÇëÇóµÄÄÚÈÝ¡£

    ¡¡¡¡(08)¡¢400 Bad Request£º ´íÎóÇëÇ󣬱íʾÇëÇó±¨ÎÄÖаüº¬Óï·¨´íÎó¡£

    ¡¡¡¡(09)¡¢401 Unauthorized£ºÇëÇóδÈÏÖ¤£¬±íʾ´Ë·¢Ë͵ÄÇëÇóÐèÒª¿Í»§¶Ë½øÐÐHTTPÈÏÖ¤£¨ÉÔºó»áÌáµ½£©¡£

    ¡¡¡¡(10)¡¢404 Not Found£ºÕÒ²»µ½ÏàÓ¦µÄ×ÊÔ´£¬±íʾ·þÎñÆ÷ÕÒ²»µ½¿Í»§¶ËÇëÇóµÄ×ÊÔ´¡£

    ¡¡¡¡(11)¡¢500 Internal Server Error£º·þÎñÆ÷ÄÚ²¿´íÎ󣬱íʾ·þÎñÆ÷ÔÚ´¦ÀíÇëÇóʱ³öÏÖÁË´íÎ󣬷¢ÉúÁËÒì³£¡£

    ¡¡¡¡(12)¡¢503 Service Unavailable£º·þÎñ²»¿ÉÓ㬱íʾ·þÎñÆ÷´¦ÓÚÍ£»ú״̬£¬ÎÞ·¨´¦Àí¿Í»§¶Ë·¢À´µÄÇëÇó¡£

    ¡¡

     

    ¡¡

    1.±¾Õ¾×ñÑ­ÐÐÒµ¹æ·¶£¬ÈκÎתÔصĸå¼þ¶¼»áÃ÷È·±ê×¢×÷ÕߺÍÀ´Ô´£»2.±¾Õ¾µÄÔ­´´ÎÄÕ£¬ÇëתÔØʱÎñ±Ø×¢Ã÷ÎÄÕÂ×÷ÕߺÍÀ´Ô´£¬²»×ðÖØÔ­´´µÄÐÐΪÎÒÃǽ«×·¾¿ÔðÈΣ»3.×÷ÕßͶ¸å¿ÉÄܻᾭÎÒÃDZ༭Ð޸Ļò²¹³ä¡£

    Ïà¹ØÎÄÕÂ
    • httpsʱ´úÀ´ÁË£¬ÄãÈ´»¹Ò»ÎÞËùÖª£¿ - Çѹû

      httpsʱ´úÀ´ÁË£¬ÄãÈ´»¹Ò»ÎÞËùÖª£¿ - Çѹû

      2017-01-14 11:00

    • openresty Ç°¶Ë¿ª·¢½ø½×Ò»Ö®httpºó¶Ë - -ÍâÐÇÈË-

      openresty Ç°¶Ë¿ª·¢½ø½×Ò»Ö®httpºó¶Ë - -ÍâÐÇÈË-

      2017-01-08 09:01

    • ÌøÕ¢ÁË°¡£¡ ·þÎñÈÝÔÖ£ºÈÛ¶ÏÆ÷¼ò½é - lazio

      ÌøÕ¢ÁË°¡£¡ ·þÎñÈÝÔÖ£ºÈÛ¶ÏÆ÷¼ò½é - lazio

      2016-11-05 10:00

    • Ò»·ÖÖÓÔ¤ÀÀHTTP2ÌØÐÔºÍ×¥°ü·ÖÎö - ¶Î¡ÏÍ

      Ò»·ÖÖÓÔ¤ÀÀHTTP2ÌØÐÔºÍ×¥°ü·ÖÎö - ¶Î¡ÏÍ

      2016-09-25 10:00

    ÍøÓѵãÆÀ
    »