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ÖжÀÓеķ½·¨¾Í²»ËµÁË¡£
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£º·þÎñ²»¿ÉÓ㬱íʾ·þÎñÆ÷´¦ÓÚÍ£»ú״̬£¬ÎÞ·¨´¦Àí¿Í»§¶Ë·¢À´µÄÇëÇó¡£
¡¡
¡¡