·Æ¶û¶¡µÈ¡£»ùµØ¡£±ê×¼¹ìµÀ[µÚ19Ò³]
·ûºÏRFC 2068 http/1.1 1997Äê1ÔÂ
http_url = ¡°µÄHTTP £º ¡± ¡° / / ¡±Ö÷»ú[ ¡° £º ¡±¸Û¿Ú] [ abs_path ]
¶«µÀ¹ú= <·¨ÂɵĻ¥ÁªÍøÖ÷»úÓòÃû
»òIPµØÖ·£¨ÔÚµã·ÖÊ®½øÖÆÐÎʽ£©
Ëù½ç¶¨µÄµÚ2.1½ÚµÄµÄRFC 1123 >
¸Û¿Ú= *λÊý
Èç¹û¶Ë¿ÚÊǿյĻò²»¸ø£¬¶Ë¿Ú80ÊǼÙÉè¡£ÓïÒå
ÊÇÈ·¶¨µÄ×ÊÔ´ÊÇλÓÚ·þÎñÆ÷ÌýÁ¦
ΪTCPÁ¬½ÓÔڸö˿ÚÉϵĶ«µÀ¹ú£¬²¢ÒªÇ󿪷ŵÄÎÒÃÇ
Ϊ×ÊÔ´ÊÇabs_path ¡£Ê¹ÓõÄIPµØÖ·URLµÄÓ¦
±ÜÃâ¿ÉÄÜʱ£¨Çë²ÎÔÄRFC 1900 [ 24 ] £© ¡£Èç¹ûÊÇabs_path
²»ÔÚ³¡£¬ÔÚÍøÖ·ÖУ¬Ëü±ØÐëµÃµ½×÷Ϊ¡° / ¡±Ê±£¬ÓÃÀ´×÷Ϊ
ÒªÇ󿪷ŵÄÎÒÃÇÒ»¸ö×ÊÔ´£¨µÚ5.1.2½Ú£© ¡£
3.2.3¿ª·ÅµÄÎÒÃDZȽÏ
µ±±È½ÏÁ½¸öuris £¬ÒÔ¾ö¶¨ËûÃÇÊÇ·ñÆ¥Åä»òûÓУ¬¿Í»§¶Ë
ӦʹÓÃÇø·Ö´óСдµÄ°Ëλ×éÓɰËλ×éµÄ±È½Ï£¬Õû¸ö
uris £¬ÓëÕâЩÀýÍâÇé¿ö£º
o¶Ë¿ÚÊǿյĻòûÓиøÓèÏàµÈÓÚĬÈÏ
¸Û¿ÚµÄ¿ª·ÅµÄÎÒÃÇ;
o±È½ÏÖ÷»úÃû³Æ±ØÐëÇø·Ö´óСд;
oµÄ±È½ÏÑо¿¼Æ»®µÄÃû³Æ±ØÐëÇø·Ö´óСд;
oÒ»¸ö¿Õ¶´µÄabs_pathµÈÓÚ1 abs_pathµÄ¡° / ¡± ¡£
×Ö·ûÒÔÍâµÄÆäËûÄÇЩÔÚ¡°Ô¤Áô¡±ºÍ¡°²»°²È«¡±Ì×£¨¼û
µÚ3.2Ìõ£© £¬ÏàµÈÓÚËûÃǵġ° £¬ ¡± £¥ ¡°Ê®Áù½øÖÆÊ®Áù½øÖÆ¡±±àÂë¡£
¾ÙÀýÀ´Ëµ£¬ÒÔÏÂÈý¸öurisÊǵȼ۵ģº
http://abc.com:80/ 〜Ê·ÃÜ˹/ home.html×öΪ
http://abc.com/ £¥ 7esmith/home.html
http://abc.com:/ £¥ 7esmith/home.html
·Æ¶û¶¡µÈ¡£»ùµØ¡£±ê×¼¹ìµÀ[µÚ20Ò³]
·ûºÏRFC 2068 http/1.1 1997Äê1ÔÂ
3.3ÈÕÆÚ/ʱ¼ä¸ñʽ
3.3.1³ä·ÖÈÕÆÚ
HTTPµÄÓ¦ÓÃÀúÀ´ÔÊÐíÈýÖÖ²»Í¬µÄ¸ñʽ
Ϊ´ú±íÈÕÆÚ/ʱ¼äÓÊÆ±£º
Ë 1994Äê11ÔÂ6ÈÕ8ʱ49·Ö37Ãë¸ñÁÖÄáÖÎ;µÄRFC 822 £¬¸üеÄRFC 1123
ÖÜÈÕ£¬ 06 11ÔÂ94¸ñÁÖÍþÖαê׼ʱ¼ä8ʱ49·Ö37Ãë;µÄRFC 850 £¬Ëù·ÏÆúµÄRFC 1036
Ëï11ÔÂ6ÈÕ8ʱ49·Ö37Ãë94Äê; ANSI CµÄµÄasctime £¨ £©¸ñʽ
µÚÒ»¸ñʽ×îºÃÊÇ×÷Ϊһ¸öInternet±ê×¼ºÍÈý¸ö´ú±í
Ò»¹Ì¶¨³¤¶ÈµÄ×ÓÈÏΪ£¬½ç¶¨µÄRFC 1123 £¨¸üеÄRFC
822 £© ¡£µÚ¶þ¸ñʽÊÇÔÚ¹²Í¬Ê¹Ó㬵«»ù´¡ÉÏ£¬
¹ýʱµÄRFC 850 [ 12 ]ÈÕÆÚ¸ñʽºÍȱ·¦Ò»¸ö4λÊý×ÖµÄÄê¡£
http/1.1¿Í»§¶ËºÍ·þÎñÆ÷µÄ½âÎö˵£¬ÈÕÆÚµÄ¼ÛÖµ±ØÐë½ÓÊÜ
ËùÓÐÕâÈýÖÖ¸ñʽ£¨¼æÈÝÐÔÓëhttp/1.0 £© £¬ËäÈ»ËûÃDZØÐë
Ö»»á²úÉúµÄRFC 1123¸ñʽΪ´ú±íHTTPµÄÈÕÆÚÖµ
ÔÚ±êÌâÀ¸Î»¡£
×¢£ºÁìÈ¡ÈÕÆÚÖµ¹ÄÀøÇ¿¾¢
½ÓÊÜÈÕÆÚÖµ¿ÉÄÜÒѱ»ËÍÍùÓÉ·ÇHTTP
Ó¦Óã¬ÓÐʱ¾Í»á³öÏÖÕâÖÖÇé¿öʱ£¬¼ìË÷»òÕÅÌù
ѶϢ͸¹ý´úÀí/Íø¹Ø£¬ÒÔSMTP»òµÄNNTP ¡£
ËùÓÐHTTPÈÕÆÚ/ʱ¼äÓÊÆ±±ØÐë´ú±íÔÚ¸ñÁÖÍþÖαê׼ʱ¼ä
£¨¸ñÁÖÄáÖΣ© £¬ÎÞÀýÍâ¡£ÕâÊDZíʾ£¬ÔÚÊ×Á½¸ö¸ñʽ
ÓÉÁÐÈë¡°¸ñÁÖÄáÖΡ±×÷ΪÈý¸ö×ÖĸµÄËõд£¬Ê±¼ä
Çø£¬±ØÐë¼Ù¶¨£¬ÔĶÁʱ¸Ãasctime¸ñʽ¡£
HTTPµÄÈÕÆÚ= rfc1123 -ÈÕÆÚ| rfc850 -ÈÕÆÚ| asctime -ÈÕÆÚ
rfc1123 -ÈÕÆÚ= wkday ¡° £¬ ¡± sp date1 spʱ¼äSP ¡°¸ñÁÖÄáÖΡ±
rfc850 -ÈÕÆÚ=ƽÈÕ¡° £¬ ¡± sp date2 spʱ¼äSP ¡°¸ñÁÖÄáÖΡ±
asctime -ÈÕÆÚ= wkday sp date3 spʱ¼äSP 4digit
date1 = 2digit spÒ»¸öÔÂsp 4digit
;ÌìµÄÒ»¸öÔÂÄ꣨ÀýÈ磬 1982Äê6ÔÂ2ÈÕ£©
date2 = 2digit ¡° -¡±Ò»¸öÔ¡° - ¡±2 d igit
;Ìì-ΪÆÚÒ»¸öÔµÄÄ꣨ÀýÈ磬 2ÖÁ6ÔÂ- 82 £©
date3 =ÿÔ¾¯Ë¾£¨ 2digit | £¨²ßÂԹ滮1digit £© £©
;Ò»¸öÔÂÌ죨ÀýÈ磬 6ÔÂ2ÈÕ£©
ʱ¼ä= 2digit ¡° £º ¡± 2digit ¡° £º ¡± 2digit
; 00:00:00 -2 3ʱ5 9·Ö5 9Ãë
wkday = ¡°ÐÇÆÚÒ»¡± | ¡°ÐÇÆÚ¶þ¡± | ¡°ÐÇÆÚÈý¡±
| ¡°ÐÇÆÚËÄ¡± | ¡°ÐÇÆÚÎ塱 | ¡°ÐÇÆÚÁù¡± | ¡°Ì«Ñô¡±
·Æ¶û¶¡µÈ¡£»ùµØ¡£±ê×¼¹ìµÀ[µÚ21Ò³]
·ûºÏRFC 2068 http/1.1 1997Äê1ÔÂ
ƽÈÕ= ¡°ÐÇÆÚÒ»¡± | ¡°ÐÇÆÚ¶þ¡± | ¡°ÖÜÈý¡±
| ¡°ÐÇÆÚËÄ¡± | ¡°ÖÜÎ塱 | ¡°ÐÇÆÚÁù¡± | ¡°ÖÜÈÕ¡±
Ò»¸öÔÂ= ¡° 1Ô¡± | ¡°¶þÔ¡± | ¡° 3Ô¡± | ¡°ËÄÔ¡±
| ¡°¿ÉÄÜ¡± | ¡° 6Ô¡± | ¡°ÆßÔ¡± | ¡°°ËÔ¡±
| ¡° 9Ô¡± | ¡°Ê®Ô¡± | ¡° 11Ô¡± | ¡° 12Ô¡±
×¢£º HTTPµÄÒªÇó£¬ÎªÈÕÆÚ/ʱ¼ä´Á¼ÇµÄ¸ñʽ½öÊÊÓÃÓÚ
ËûÃÇʹÓøÃÒ鶨ÊéÁ÷¡£¿Í»§¶ËºÍ·þÎñÆ÷ÊÇ
²»ÐèҪʹÓÃÕâЩ¸ñʽΪÓû§½éÉÜ£¬ÇëÇó
²â¾®µÈ¡£
3.3.2Èý½ÇÖÞÃë
һЩÁìÓòµÄHTTP±êÍ·ÔÊÐíµÄʱ¼ä¼ÛÖµ£¬±»Ö¸¶¨Îª1
ÕûÊý¶àÉÙÃ룬´ú±íÔÚСÊýµãºóµÄʱ¼ä
¸ÃÓʼþÊÕµ½¡£
Èý½ÇÖÞÃë= 1 *λÊý
3.4×Ö·û¼¯
HTTPµÄʹÓÃÏàͬµÄÓÃÓïµÄ¶¨Ò壺 ¡°×Ö·û¼¯¡± £¬Èç
ËùÊöµÄĬ¾ç£º
ÊõÓï¡°×Ö·û¼¯¡±ÊÇÓÃÀ´ÔÚ±¾ÎļþÖÐÌá¼°Ò»
Ëù²ÉÓõķ½·¨ÓëÒ»¸ö»ò¶à¸ö±íת»»ÐòÁеİËλ×Ö½Ú
³ÉΪһ¸ö×Ö·ûÐòÁС£Çë×¢Ò⣬ÎÞÌõ¼þת»»
ÔÚÆäËûµÄ·½ÏòÊDz»ÊDZØÐèµÄ£¬ÔÚÕâ·½Ãæ²¢·ÇËùÓÐ×Ö·û
¿ÉÌṩÔÚÄ³Ò»ÌØ¶¨×Ö·û¼¯ºÍ×Ö·û¼¯¿ÉÄÜ
Ìṩһ¸öÒÔÉϵÄÐòÁаËλ×Ö½Ú´ú±íijһ
ÐÔ¸ñ¡£Õâ¸ö¶¨ÒåµÄÓÃÒâÊÇÈø÷ÖÖ
×Ö·û±àÂ룬´Ó¼òµ¥µÄµ¥±íÓ³É䣬ÈçÃÀ
ASCIIµÄ¸´ÔÓ±í¿ª¹ØµÄ·½·¨£¬ÈçÄÇЩʹÓÃISO
2022ÄêµÄ¼¼Êõ¡£²»¹ý£¬Ïà¹ØµÄ¶¨ÒåÓëĬ¾ç
×Ö·û¼¯µÄÃû³Æ±ØÐë³ä·ÖÖ¸¶¨Ó³Éäµ½Ñݳö
´Ó°Ëλ×éµ½¸ö×Ö·û¡£ÌرðÊÇ£¬ÀûÓÃÍⲿÂÖÀª
×ÊÁÏ£¬ÒÔÈ·¶¨È·ÇеÄÓ³ÉäÊDz»ÈÝÐíµÄ¡£
×¢Ò⣺´ËÒ»´ÊµÄʹÓá°×Ö·û¼¯¡±ÊǽÏΪÆÕ±é
±»³ÆÎª¡°ºº×Ö±àÂ롱 ¡£µ«ÊÇ£¬ÓÉÓÚHTTPºÍĬ¾ç
¹²ÓÃÏàͬµÄ×¢²á±í£¬ÕâÊǷdz£ÖØÒªµÄÊõÓïÒ²
¹²Ïí¡£
·Æ¶û¶¡µÈ¡£»ùµØ¡£±ê×¼¹ìµÀ[µÚ22Ò³]
·ûºÏRFC 2068 http/1.1 1997Äê1ÔÂ
HTTPµÄ×Ö·û¼¯ËùÈ·¶¨µÄÇø·Ö´óСдµÄÁîÅÆ¡£ÄǸö
Ò»Ì×ÍêÕûµÄÁîÅÆµÄ¶¨ÒåÊÇÓÉIANA×Ö·û¼¯×¢²á±í
[ 19 ] ¡£
×Ö·û¼¯=ÁîÅÆ
ËäÈ»HTTPµÄÔÊÐíÈÎÒâÆ¾Ö¤£¬ÒÔ±»ÓÃÀ´×÷Ϊ×Ö·û¼¯
¼ÛÖµ£¬ÈκÎÁîÅÆÓÐÒ»¸öÔ¤¶¨ÒåµÄ¼ÛÖµÓëiana
×Ö·û¼¯×¢²á±í±ØÐë´ú±í×Ö·û¼¯µÄ¶¨Òå
¸ÃµÇ¼Ç²á¡£ÉêÇëÓ¦ÏÞÖÆÆäʹÓõÄ×Ö·û¼¯
ÕâЩ¶¨ÒåÓÉIANA×¢²á±í¡£
3.5ÄÚÈÝcodings
ÄÚÈݱàÂëÖµÏÔʾ£¬ 1±àÂëµÄתÐÍ£¬ÒÑ
ÒѾ»ò¿ÉÓÃÓÚÒ»¸öʵÌå¡£ÄÚÈÝÖ÷ÒªÊÇcodings
ÓÃÀ´ÈÃÎļþ±»Ñ¹Ëõ£¬»òÒÔÆäËû·½Ê½ÓÐÒæ
ת»¯Ê§È¥µÄÉí·Ý£¬Æä±³ºóµÄýÌåÀàÐÍ
ºÍÎÞËðʧµÄ×ÊÁÏ¡£¾³££¬ÊµÌåÊÇ´¢´æÔÚ
±àÂëµÄÐÎʽ£¬Ö±½Ó´«ËÍ£¬¶øÇÒÖ»ÓнâÂëÓÉÊÜÔ®¹ú¡£
ÄÚÈݱàÂë=ÁîÅÆ
ËùÓÐÄÚÈݱàÂëÖµÊÇÇø·Ö´óСд¡£ http/1.1ÓÃ;
ÄÚÈݱàÂëµÄ¼ÛÖµ¹Û£¬ÔÚ½ÓÊܱàÂ루µÚ14.3 £©ºÍ
ÄÚÈݱàÂ루µÚ12ÔÂ14ÈÕ£©±êÌâÀ¸Î»¡£ËäÈ»¼ÛÖµ
ÃèÊöÄÚÈݵıàÂ룬ʲôÊǸüÖØÒªµÄÊÇ£¬Ëü
±íÃ÷ʲô½âÂë»úÖÆ£¬½«Ðëɾ³ý
±àÂë¡£
»¥ÁªÍøºÅÂë·ÖÅä¹ÜÀí¾Ö£¨ iana £©×÷Ϊһ¸ö×¢²á±í
ÄÚÈݱàÂëµÄ¼ÛÖµÁîÅÆ¡£×î³õ£¬×¢²á±í°üº¬
ÏÂÁÐÆ¾Ö¤£º
gzip 1±àÂë¸ñʽËù²úÉúµÄµµ°¸Ñ¹Ëõ³Ìʽ¡° gzip ¡±
£¨ÔÚGNUÓʱࣩËùÃèÊöµÄÔÚRFC 1952 [ 25 ] ¡£Õâ¸ö¸ñʽÊÇÒ»ÖÖlempel -
ziv±àÂ루 lz77 £©Óë32λµÄCRC ¡£
ѹËõ
±àÂë¸ñʽËù²úÉúµÄ¹²Í¬UNIXÎļþѹËõ
¼Æ»®¡°Ñ¹Ëõ¡± ¡£´Ë¸ñʽÊÇÒ»ÖÖ×ÔÊÊÓ¦lempel - ziv -Τ¶ûÆæ
±àÂ루 lzw £© ¡£
·Æ¶û¶¡µÈ¡£»ùµØ¡£±ê×¼¹ìµÀ[µÚ23Ò³]
·ûºÏRFC 2068 http/1.1 1997Äê1ÔÂ
×¢Ò⣺ʹÓõijÌÐòµÄÃû³Æ£¬Ê¶±ð±àÂë
¸ñʽÊDz»¿ÉÈ¡µÄ£¬²¢Ó¦È°×èδÀ´
±àÂë¡£ËûÃÇÀûÓÃÔÚÕâÀïÊÇ´ú±íÀúʷʵ¼ù£¬
ûÓÐÁ¼ºÃµÄÉè¼Æ¡£¼æÈÝÐÔÓëǰʵÏÖ
HTTPµÄ£¬ÉêÇëÓ¦¿¼ÂÇΪ¡° X - gzip ¡±ºÍ¡°µÄXѹËõ¡±Òª
µÈÓÚ¡° gzip ¡±ºÍ¡°Ñ¹Ëõ¡± ¡£
deflate ¡° zlib ¡±¸ñʽµÄ¶¨ÒåÔÚRFC 1950 [ 31 ]ÔÚ½áºÏ
¡° deflate ¡±Ñ¹ËõËùÃèÊöµÄ»úÖÆÔÚRFC 1951 [ 29 ] ¡£
еÄÄÚÈÝ£¬±àÂëµÄ¼Ûֵƾ֤£¬Ó¦µÇ¼Ç;ÔÊÐí
»¥²Ù×÷ÐÔ¿Í»§¶ËºÍ·þÎñÆ÷Ö®¼ä£¬¹æ¸ñµÄ
ÄÚÈݱàÂëËã·¨£¬ÐèÒªÒÔʵʩһÏîеļÛÖµÓ¦
¹«¿ªºÍ³ä·ÖµÄ¶ÀÁ¢µÄÖ´ÐÐÇé¿ö£¬²¢
·ûºÏµÄÄ¿µÄ£¬ÄÚÈݱàÂëµÄ¶¨ÒåÔÚÕâÒ»½Ú¡£
3.6×ªÒÆcodings
תÈñàÂëÖµÊÇÓÃÀ´±íʾһÖÖ±àÂë
תÐÍÒÑ£¬¿ÉÒÔ£¬»ò¿ÉÄÜÐèÒªÊÊÓÃÓÚÒ»
ʵÌå»ú¹¹£¬ÒÔÈ·±£¡°°²È«ÔËÊ䡱ͨ¹ýÍøÂç¡£
ÕⲻͬÓÚÒ»¸öÄÚÈݱàÂëÔÚÕâ·½Ãæ×ªÒÆ±àÂëÊÇÒ»¸ö
ÎïÒµµÄѶϢ£¬¶ø²»ÊÇÔÀ´µÄʵÌå¡£
תÈñàÂë= ¡°Çø¿é¡± |תÈÃÑÓÉì
תÈÃ-ÑÓ³¤=ÁîÅÆ
ËùÓÐתÈñàÂëÖµÊÇÇø·Ö´óСд¡£ http/1.1ÓÃ;
תÈñàÂëµÄ¼ÛÖµ¹ÛÊÇÔÚÏò·¢Õ¹Öйú¼ÒתÈñàÂë±êÌâÀ¸Î»£¨µÚ
14.40 £© ¡£
תÈÃcodingsÊÇÀàËÆµÄÄÚÈÝ×ªÒÆ±àÂë
¼ÛÖµ¹ÛµÄĬ¾ç£¬ÆäÖУ¬Ö¼ÔÚʹ°²È«ÔËÊä
¶þ½øÖÆÊý¾Ý³¬¹ý7λµÄÔËÊä·þÎñ¡£²»¹ý£¬°²È«ÔËÊä
Óв»Í¬µÄÖØµã£¬ 1 8λÇå½àµÄ´«ÊäÐÒé¡£ÔÚHTTP £¬
Ψһ²»°²È«µÄÌØµã£¬ÏûÏ¢»ú¹¹ÊÇÄÑÒÔÔÚ
È·¶¨È·ÇеijµÉí³¤¶È£¨µÚ7.2.2 £© £¬»òÔ¸Íû
¼ÓÃܵÄÊý¾Ý¹²Ïí½»Í¨¹¤¾ß¡£
¸ÃÇø¿é±àÂëÐÞ¸ÄÓʼþÕýÎÄÖУ¬ÒÔ
תÈÃËüµ±×÷ÁËһϵÁп飬ÿ¸ö¹ú¼Ò¶¼ÓÐËü×Ô¼ºµÄ´óСµÄÖ¸±ê£¬
Æä´ÎÊÇÒ»¸ö¿ÉÑ¡µÄÒ³½Å°üº¬ÊµÌå±êÌâÀ¸Î»¡£Õâ¸ö
ÔÊÐí¶¯Ì¬²úÉúµÄÄÚÈݽ«×ªÒÆËæ
±ØÒªµÄÐÅÏ¢£¬ÎªÊÜÔ®¹úÒÔÑéÖ¤ËüÊÇ·ñÒÑ
ÊÕµ½ÍêÕûµÄÓʼþ¡£
·Æ¶û¶¡µÈ¡£»ùµØ¡£±ê×¼¹ìµÀ[µÚ24Ò³]
·ûºÏRFC 2068 http/1.1 1997Äê1ÔÂ
Çø¿éÌå= *´ó¿é
¡° 0 ¡± crlf
Ò³½Å
crlf
=´ó¿é´ó¿é³ß´ç[´ó¿é-·Ö»ú] crlf
´ó¿éÊý¾Ýcrlf
Ê®Áù½øÖÆ-ÎÞÁã= <hex²»°üÀ¨"0">
¿é´óС=Ê®Áù½øÎ»²»ÎªÁã*Ê®Áù½øÖÆ
´ó¿é-·Ö»ú= * £¨ ¡° ; ¡±´ó¿é-·Ö»ú-Ãû³Æ[ ¡° = ¡±´ó¿é-·Ö»ú¼ÛÖµ] £©
´ó¿é-·Ö»ú-Ãû³Æ=ÁîÅÆ
´ó¿é-·Ö»ú- val =ÁîÅÆ|ÒýÓÃ×Ö·û´®
´ó¿éÊý¾Ý=¿é´óС£¨°Ëλ×Ö½Ú£©
Ò³½Å= *ʵÌå±êÌâ
¸ÃÇø¿é±àÂ룬ÊǽáÊøÒ»³¡ÁãºÍ´óÖÐÐÍ´ó¿é£¬Æä´ÎÊÇ
×¢½Å£¬ÕâÊÇÖÕÖ¹Ò»¸ö¿ÕÐС£µÄÄ¿µÄ£¬¸Ã
Ò³½ÅÊÇÌṩһ¸öÓÐЧµÄ·½Ê½À´Ìṩ×ÊÁÏ£¬Ô¼1
ʵÌ壬ÕâÊDzúÉú¶¯Ì¬;ÉêÇë±ØÐë²»ÅÉ
±êÌâÀ¸Î»ÔÚÒ³½ÅÊÇûÓÐÃ÷È·¶¨ÒåΪ
Êʵ±Îª×¢½Å£¬ÈçÄÚÈݵÄMD5»òδÀ´µÄÀ©Õ¹
ÔÚHTTPÓÃÓÚÊý×ÖÇ©Ãû»òÆäËûÉèÊ©¡£
Ò»¸öÀý×ӵĹý³ÌÖнâÂëÒ»Çø¿éÌåÊÇÔÚ
¸½Â¼19.4.6 ¡£
ËùÓÐhttp/1.1ÉêÇë±ØÐëÄܹ»½ÓÊպͽâÂë
¡°Çø¿é¡±×ªÒƱàÂ룬¶øÇÒ±ØÐëºöÂÔ×ªÒÆ±àÂëÀ©Õ¹
ËûÃDz»Ã÷°×¡£·þÎñÆ÷½ÓÊÕÒ»¸öʵÌåÌåÓë
תÈñàÂ룬Ëü²»Ã÷°×Ó¦¸Ã»Øµ½501
£¨Ö´ÐУ© £¬²¢¹Ø±ÕÁ¬½Ó¡£·þÎñÆ÷±ØÐë²»ÅÉ
×ªÒÆµ½codingsÒ»http/1.0¿Í»§¶Ë¡£
3.7ýÌåÀàÐÍ
HTTPµÄʹÓÃÍø¼ÊÍøÂ·µÄýÌåÀàÐÍ£¬ÔÚÄÚÈÝÀàÐÍ£¨µÚ14.18 £©
²¢½ÓÊÜ£¨µÚ14.1 £©±êÌâÀ¸Î»£¬ÒÔÌṩ¿ª·ÅºÍ
¿ÉÀ©Õ¹µÄÊý¾ÝÊäÈëºÍÀàÐ͵Ä̸ÅС£
ýÌåÀàÐÍ=ÀàÐÍ¡° / ¡±ÑÇÐÍ* £¨ ¡° ; ¡±²ÎÊý£©
ÀàÐÍ=ÁîÅÆ
ÑÇÐÍ=ÁîÅÆ
²ÎÊý¿É°´ÕÕÀàÐÍ/ÑÇÐÍÔÚµÄÐÎʽ£¬ÊôÐÔ/Öµ
¶Ô¡£
·Æ¶û¶¡µÈ¡£»ùµØ¡£±ê×¼¹ìµÀ[µÚ25Ò³]
·ûºÏRFC 2068 http/1.1 1997Äê1ÔÂ
²ÎÊý=ÊôÐÔ¡° = ¡±µÄ¼ÛÖµ
ÊôÐÔ=ÁîÅÆ
Öµ=ÁîÅÆ|ÒýÓÃ×Ö·û´®
ÀàÐÍ£¬ÑÇÐÍ£¬¼°²ÎÊýµÄÊôÐÔÃû³Æ°¸Àý
Âéľ¡£²ÎÊýÖµ¿ÉÄÜÊÇÒ²¿ÉÄܲ»ÊÇÇø·Ö´óСд£¬
¸ù¾Ý¶ÔÓïÒåµÄ²ÎÊýÃû³Æ¡£ÏßÐÔ°×É«¿Õ¼ä
²¿£¨ LWS £©²»µÃÓÃÓÚÖ®¼äµÄÀàÐͺÍÑÇÐÍ£¬Ò²²»Ö®¼äµÄÒ»
ÊôÐÔºÍËüµÄ¼ÛÖµ¡£Óû§´úÀí³ÐÈÏýÌåÐÍ
±ØÐë¹ý³Ì£¨»ò°²ÅÅ£¬ÒÔ´¦ÀíÈκÎÍⲿµÄÓ¦ÓÃ
ÓÃÓÚ´¦ÀíÕâÖÖÀàÐÍ/ÑÇÐÍ£¬ÓÉÓû§´úÀí£©µÄ²ÎÊý
ΪMIMEÀàÐÍËùÃèÊöµÄ¸ÃÀàÐÍ/ÑÇÐ͵͍Òå
¸Ã²¢¸æÖªÓû§ÓÐÈκη¢ÏÖµÄÎÊÌâ¡£
×¢£ºÒ»Ð©Äê¼Í½Ï´óµÄHTTPÉêÇ룬²»³ÐÈÏýÌåÀàÐÍ
²ÎÊý¡£µ±½«Êý¾Ý·¢Ë͵½ÀÏÄêÈ˵ÄHTTPÓ¦Óã¬
ʵÏÖÓ¦¸ÃֻʹÓÃýÌåÀàÐ͵IJÎÊý£¬µ±ËûÃÇ
ËùÐèÒªµÄÀàÐÍ/ÑÇÐ͵͍Òå¡£
ýÌåÀàÐÍÖµÊÇ×¢²áÓ뻥ÁªÍøµÄÈËÊý·ÖÅÉ
¹ÜÀí¾Ö£¨ iana £© ¡£Ã½ÌåÀàÐÍ×¢²á¹ý³ÌÖиÅÊöÁË
·ûºÏRFC 2048 [ 17 ] ¡£Ê¹Ó÷Ç×¢²áýÌåÀàÐÍÊÇÆøÄÙ¡£
3.7.1¹æ·¶»¯ºÍÎı¾Ä¬ÈÏ
»¥ÁªÍøµÄýÌåÀàÐÍ×¢²áÒ»¸öµäÐÍÐÎʽ¡£ÔÚ¡ÄÚ
Ò»°ã¶øÑÔ£¬Ò»¸öʵÌåÌå×ªÒÆÍ¨¹ýHTTPµÄÓʼþ£¬±ØÐë
´ú±íÔÚÊʵ±µÄµäÐÍÐÎʽ֮ǰ£¬Æä
´«Êä;ÀýÍâµÄÊÇ¡°Îı¾¡±ÀàÐÍ£¬Ëù½ç¶¨µÄδÀ´
¶Î¡£
µ±ÔÚµäÐ͵ÄÐÎʽ£¬Ã½ÌåÑÇÐ͵ġ°Îı¾¡±ÀàÐÍʹÓÃcrlf×÷Ϊ
°¸ÎĶÏÐС£ HTTPµÄ·Å¿íÕâÏî¹æ¶¨£¬²¢ÔÊÐí
ÔËÊäÎÄ×ÖýÌåÓëÆ½Ô¸õ»òLF¯£¬½ö´ú±íÒ»ÌõÏß
ÐÝϢʱ£¬ÕâÊÇÒ»¹áÕûÕûÒ»¸öʵÌå»ú¹¹¡£µÄHTTP
ÉêÇë±ØÐë½ÓÊÜcrlf £¬±©Â¶Á˸õ£¬ºÍÂãLF¯×÷Ϊ
´ú±íÒ»¸ö»»ÐзûÔÚÎÄ×ÖýÌåÊÕµ½Í¨¹ýHTTP ¡£ÔÚ¡ÄÚ
´ËÍ⣬Èç¹ûÊÇÎÄ×ÖËù´ú±íµÄ×Ö·û¼¯£¬Õâ²¢²»
ʹÓðËλ×é13ÈÕºÍ10ÔÂΪCRºÍLF¯£¬·Ö±ðÇé¿öÒ»Ñù£¬
һЩ¶à×Ö½Ú×Ö·û¼¯Ê±£¬ HTTPÔÊÐíʹÓã¬ÎÞÂÛ°Ëλ×Ö½Ú
ÐòÁе͍ÒåÊÇÓɸÃ×Ö·û¼¯£¬ÒÔ´ú±í
Ï൱ÓÚCRºÍLF¯Ϊ»»Ðзû¡£ÕâÖÖÁé»îÐÔ¶ÔÓÚ
»»Ðзû½öÊÊÓÃÓÚÎÄ×ÖýÌ壬ÔÚʵÌå»ú¹¹;Âã¸õ
»òLF¯±ØÐëÊDz»¿ÉÌæ´úµÄcrlfÄÚµÄÈκÎHTTP¿ØÖÆ
½á¹¹£¨Èç±êÌâÀ¸Î»ºÍ¶àÖØµÄ½çÏÞ£© ¡£
Èç¹ûÒ»¸öʵÌåµÄ»ú¹¹ÊDZàÂëÓëÄÚÈݵıàÂ룬±³ºó
Êý¾Ý±ØÐëÔÚÒ»¸öÐÎʽ£¬ÉÏÊö¶¨Òå֮ǰ±»±àÂë¡£
·Æ¶û¶¡µÈ¡£»ùµØ¡£±ê×¼¹ìµÀ[µÚ26Ò³]
·ûºÏRFC 2068 http/1.1 1997Äê1ÔÂ
¡°×Ö·û¼¯¡±²ÎÊýÊÇÓÃÀ´ÓëһЩýÌåÀàÐÍ£¬ÒԽ綨
×Ö·û¼¯£¨ 3.4½Ú£©µÄÊý¾Ý¡£µ±Ã»ÓÐÃ÷È·µÄ×Ö·û¼¯
²ÎÊýÊÇËùÌṩµÄµÄ¼Ä¼þÕߣ¬Ã½ÌåÑÇÐ͵ġ°Îı¾¡±
ÀàÐ͵͍ÒåÊÇÓÐÒ»¸öĬÈϵÄ×Ö·û¼¯µÄ¼ÛÖµ¡°µÄISO - 8859 - 1 ¡±Ê±£¬
ÊÕµ½Í¨¹ýHTTP ¡£Êý¾ÝÔÚ×Ö·û¼¯ÒÔÍâµÄÆäËû¡°µÄISO - 8859 - 1 ¡±»ò
Æä×Ó±ØÐë±êÓÐÒ»¸öÊʵ±µÄ×Ö·û¼¯µÄ¼ÛÖµ¡£
һЩhttp/1.0Èí¼þ½âÊ͵ÄÄÚÈÝÀàÐÍÍ·ÎÞ
×Ö·û¼¯²ÎÊý²»ÕýÈ·µÄÒâ˼ÊÇ¡°ÊÜÔùÈËÓ¦µ±²ÂÏ롱 ¡£
·¢¼þÈËÏ£ÍûսʤÕâÖÖÐÐΪ¿ÉÄÜ»á°üÀ¨Ò»¸ö×Ö·û
²ÎÊýÉõÖÁµ±×Ö·û¼¯ÊÇISO - 8859 - 1ºÍÓ¦¸Ã×öµÄ£¬ËùÒÔµ±
¾ÝÁ˽⣬Ëü²»»á»ìÏýÊÕ¼þÈË¡£
²»ÐÒµÄÊÇ£¬Ò»Ð©½Ï¾ÉµÄhttp/1.0¿Í»§Ã»ÓÐÍ×ÉÆ´¦Àí
Ò»¸öÃ÷È·µÄ×Ö·û¼¯²ÎÊý¡£ http/1.1ÊÜÖúÈ˱ØÐë×ðÖØ
×Ö·û¼¯±êÇ©ËùÌṩµÄµÄ¼Ä¼þÕß;ºÍÄÇЩÓû§´úÀíÓÐ
Ò»ÏîÌõÎÄ£¬ ¡°²Â²â¡±Ò»×Ö·û¼¯±ØÐëʹÓõÄ×Ö·û¼¯£¬´Ó
ÄÚÈÝÀàÐÍÁìÓò£¬Èç¹ûËûÃÇÖ§³ÖµÄ×Ö·û¼¯£¬¶ø·Ç
ÊÕ¼þÈËµÄÆ«ºÃ£¬µ±×î³õÏÔʾµÄÒ»·ÝÎļþ¡£
3.7.2µÄmultipartÀàÐÍ
Ĭ¾çÌṩÁËһЩ¡°¶àÖØ¡±ÀàÐÍ-e ncapsulationsµÄ
Ò»¸ö»òÒ»¸öÒÔÉÏʵÌåÔÚÒ»¸öµ¥Ò»µÄÏûÏ¢Ìå¡£ËùÓеÄmultipart
ÀàÐͶ¼ÓÐÒ»¸ö¹²Í¬µÄÓï·¨£¬Ëù½ç¶¨µÄĬ¾ç[ 7 ] £¬²¢ÇÒ±ØÐë
°üÀ¨±ß½ç²ÎÊýµÄÒ»²¿·Ö£¬Ã½ÌåÀàÐ͵ļÛÖµ¡£ÄǸö
ÓʼþÕýÎı¾Éí¾ÍÊÇÒ»¸öÒ鶨ÊéµÄÔªËØ£¬Òò´Ë±ØÐëֻʹÓÃ
crlf´ú±í»»ÐзûÖ®¼äµÄ³µÉíÁã¼þ¡£²»Í¬µÄĬ¾ç£¬
βÉùÈκζàÖØÑ¶Ï¢±ØÐëÊǿյÄ; HTTPµÄÓ¦ÓÃ
¾ø²»ÄÜת½»Î²Éù£¨¼´Ê¹ÔÀ´µÄmultipart
°üº¬Ò»¸öβÉù£© ¡£
ÔÚHTTP £¬¶àÖØÌåÁã¼þ¿ÉÄܰüº¬±êÌâÀ¸Î»ÊÇ
ÖØ´óÒâÒåµÄÄDz¿·Ö¡£ÄÚÈÝλÖñêÍ·
ÍâµØ£¨µÚ14.15 £©Ó¦°üÀ¨ÔÚÉíÌåµÄÒ»²¿·Ö£¬Ã¿¸ö
ÃÜ·âʽµÄʵÌå¿ÉÈ·¶¨ÓÉÒ»¸öÍøÖ·¡£
ÔÚÒ»°ã£¬Ò»¸öHTTPÓû§´úÀíÓ¦×ñÑÏàͬ»òÏàËÆµÄ
×÷Ϊһ¸öÐÐΪµÄMIMEÓû§´úÀí½«ÊÕµ½Ò»µÄmultipartÀàÐÍ¡£
Èç¹ûÉêÇë»ñµÃÁËÎÞ·¨Ê¶±ðµÄmultipartÑÇÐÍ£¬
ÉêÇëÕß±ØÐë°ÑËüµ±×÷Ï൱ÓÚ¡°¶àÖØ/»ìºÏ¡± ¡£
×¢£º ¡°¶àÖØ/ÐÎʽµÄÊý¾Ý¡±ÀàÐÍÒÑÃ÷È·µÄ½ç¶¨
½øÐÐ±íµ¥Êý¾Ý£¬Êʺϼӹ¤Í¨¹ýPOSTÇëÇó
·½·¨£¬ÃèÊöÔÚRFC 1867 [ 15 ] ¡£