HTTP æ¦è¿°
HTTP æ¯ä¸ç§ç¨ä½è·åè¯¸å¦ HTML ææ¡£è¿ç±»èµæºçåè®®ã宿¯ Web ä¸è¿è¡ä»»ä½æ°æ®äº¤æ¢çåºç¡ï¼åæ¶ï¼ä¹æ¯ä¸ç§å®¢æ·ç«¯âæå¡å¨ï¼client-serverï¼åè®®ï¼ä¹å°±æ¯è¯´ï¼è¯·æ±æ¯ç±æ¥åæ¹ââéå¸¸æ¯ Web æµè§å¨ââåèµ·çã宿´ç½é¡µææ¡£éå¸¸ç±ææ¬ãå¸å±æè¿°ãå¾çãè§é¢ãèæ¬çèµæºææã
客æ·ç«¯ä¸æå¡ç«¯ä¹é´éè¿äº¤æ¢ä¸ä¸ªä¸ªç¬ç«çæ¶æ¯ï¼èéæ°æ®æµï¼è¿è¡éä¿¡ãç±å®¢æ·ç«¯ååºçæ¶æ¯è¢«ç§°ä½è¯·æ±ï¼requestï¼ï¼ç±æå¡ç«¯ååºçåºçæ¶æ¯è¢«ç§°ä½ååºï¼responseï¼ã
20 ä¸çºª 90 年代ï¼HTTP ä½ä¸ºä¸å¥å¯æ©å±çåè®®è¢«è®¾è®¡åºæ¥ï¼å¹¶éæ¶é´ä¸ææ¼è¿ãHTTP æ¯ä¸ç§åºç¨å±çåè®®ï¼éè¿ TCP æ TLSï¼ä¸ç§å å¯è¿ç TCP è¿æ¥ï¼æ¥åéï¼å½ç¶ï¼çè®ºä¸æ¥è¯´å¯ä»¥åå©ä»»ä½å¯é çä¼ è¾åè®®ãåçäº HTTP ç坿©å±æ§ï¼æ¶è³ä»æ¥ï¼å®ä¸ä» å¯ä»¥ç¨æ¥è·åè¶ ææ¬ææ¡£ï¼è¿å¯ç¨æ¥è·åå¾çãè§é¢æè åæå¡ç«¯åéä¿¡æ¯ï¼æ¯å¦å¡«å好ç HTML 表åãHTTP è¿å¯ä»¥ç¨æ¥è·åææ¡£çé¨åå 容ï¼ä»¥ä¾¿æéæ´æ° Web 页é¢ã
åºäº HTTP çç³»ç»çç»æ
HTTP æ¯ä¸ä¸ªå®¢æ·ç«¯âæå¡å¨åè®®ï¼è¯·æ±ç±ä¸ä¸ªå®ä½ï¼å³ç¨æ·ä»£çï¼user agentï¼ï¼ææ¯ä¸ä¸ªå¯ä»¥ä»£è¡¨å®çä»£çæ¹ï¼proxyï¼ååºã大夿°æ åµä¸ï¼è¿ä¸ªç¨æ·ä»£ç齿¯ä¸ä¸ª Web æµè§å¨ï¼ä¸è¿å®ä¹å¯è½æ¯ä»»ä½ä¸è¥¿ï¼æ¯å¦ä¸ä¸ªç¬åç½é¡µæ¥å å®ãç»´æ¤æç´¢å¼æç´¢å¼çæºå¨ç¬è«ã
æ¯ä¸ªè¯·æ±é½ä¼è¢«åéå°ä¸ä¸ªæå¡å¨ï¼å®ä¼å¤çè¿ä¸ªè¯·æ±å¹¶æä¾ä¸ä¸ªç§°ä½ååºçåå¤ãå¨å®¢æ·ç«¯ä¸æå¡å¨ä¹é´ï¼è¿æè®¸è®¸å¤å¤ç被称为代ççå®ä½ï¼å±¥è¡ä¸åçä½ç¨ï¼ä¾å¦å å½ç½å ³æç¼åã
å®é ä¸ï¼å¨æµè§å¨åå¤çå ¶è¯·æ±çæå¡å¨ä¹é´ï¼è¿æè·¯ç±å¨ãè°å¶è§£è°å¨çç许å¤è®¡ç®æºãå½åäº Web çåå±è®¾è®¡ï¼è¿äºæºå¨é½éèå¨ç½ç»å±åä¼ è¾å±å ãè HTTP ä½äºè¿äºæºå¨ä¹ä¸çåºç¨å±ãè½ç¶ä¸é¢çå±çº§å¨è¯æç½ç»é®é¢æ¶å¾éè¦ï¼ä½å¨æè¿° HTTP ç设计æ¶ï¼å®ä»¬å¤§å¤æ¯ä¸ç¸å¹²çã
客æ·ç«¯ï¼ç¨æ·ä»£ç
ç¨æ·ä»£çæ¯ä»»ä½è½å¤ä»£è¡¨ç¨æ·è¡ä¸ºçå·¥å ·ãè¿ç±»å·¥å ·ä»¥æµè§å¨ä¸ºä¸»ï¼ä¸è¿ï¼å®ä¹å¯è½æ¯å·¥ç¨å¸å Web å¼å人åè°è¯åºç¨æä½¿ç¨çé£äºç¨åºã
æµè§å¨æ»æ¯é¦å å起请æ±çé£ä¸ªå®ä½ï¼æ°¸è¿ä¸ä¼æ¯æå¡ç«¯ï¼ä¸è¿ï¼åæ¥å·²ç»å å ¥äºä¸äºæºå¶ï¼è½å¤æ¨¡æåºç±æå¡ç«¯åèµ·çæ¶æ¯ï¼ã
为äºå±ç°ä¸ä¸ªç½é¡µï¼æµè§å¨éè¦åéæåçè¯·æ±æ¥è·åæè¿°è¿ä¸ªé¡µé¢ç HTML ææ¡£ãæ¥çï¼è§£æææ¡£ï¼å¹¶åéæ°ä¸ªå ¶ä»è¯·æ±ï¼ç¸åºå°è·å坿§è¡èæ¬ãå±ç¤ºç¨çå¸å±ä¿¡æ¯ï¼CSSï¼ä»¥åå ¶ä»é¡µé¢å çåèµæºï¼ä¸è¬æ¯å¾çåè§é¢çï¼ãç¶åï¼Web æµè§å¨å°è¿äºèµæºæ´åå°ä¸èµ·ï¼å±ç°åºä¸ä¸ªå®æ´çææ¡£ï¼å³ç½é¡µãå¨ä¹åçé¶æ®µï¼æµè§å¨ä¸æ§è¡çèæ¬å¯ä»¥è·åæ´å¤èµæºï¼å¹¶ä¸æµè§å¨ä¼ç¸åºå°æ´æ°ç½é¡µã
ç½é¡µæ¯è¶ ææ¬ææ¡£ãè¿æå³çæä¸é¨åå±ç¤ºçå 容伿¯é¾æ¥ââå¯ä»¥éè¿æ¿æ´»ï¼é常æ¯ç¹å»é¼ æ ï¼æ¥è·åä¸ä¸ªæ°çç½é¡µââç¨æ·å¯ä»¥éè¿è¿äºé¾æ¥æç¤ºç¨æ·ä»£çå¹¶è¿è¡ Web æµè§ãæµè§å¨ä¼å°æ¶å°çæç¤ºè½¬æ¢æ HTTP 请æ±ï¼å¹¶è¿ä¸æ¥è§£æ HTTP ååºï¼åç¨æ·æä¾æ¸ æ°çååºã
Web æå¡å¨
å¨ä¸è¿°éä¿¡è¿ç¨çå¦ä¸ä¾§æ¯æå¡å¨ï¼å®è´è´£æä¾å®¢æ·ç«¯æè¯·æ±çææ¡£ãæå¡å¨å¯ä»¥è¡¨ç°ä¸ºä» æä¸å°æºå¨ï¼ä½å®é ä¸ï¼å®å¯ä»¥æ¯å ±äº«è´è½½çä¸ç»æå¡å¨é群ï¼è´è½½åè¡¡ï¼ææ¯å ¶ä»ç±»åç软件ï¼å¦ç¼åãæ°æ®åºæå¡ãçµåæå¡çï¼ï¼æé宿´æé¨åå°çæææ¡£ã
æå¡å¨ä¸ä¸å®åªæä¸å°æºå¨ï¼ä¹å¯ä»¥å¨åä¸å°æºå¨ä¸æç®¡å¤ä¸ªæå¡å¨è½¯ä»¶å®ä¾ãå©ç¨ HTTP/1.1 å Host æ 头ï¼å®ä»¬çè³å¯ä»¥å
±ç¨åä¸ä¸ª IP å°åã
代ç
å¨ Web æµè§å¨åæå¡å¨ä¹é´ï¼æè®¸å¤è®¡ç®æºå设å¤åä¸ä¼ éäº HTTP æ¶æ¯ãä¾é Web ææ¯æ ç屿¬¡åçç»æï¼ä¼ éè¿ç¨ä¸ç夿°æä½é½ä½äºä¼ è¾å±ãç½ç»å±æç©çå±ï¼å®ä»¬å¯¹äº HTTP åºç¨å±èè¨å°±æ¯éæçï¼å¹¶é»é»å°å¯¹ç½ç»æ§è½äº§ççéè¦å½±åãè¿æä¸é¨åå®ä½å¨åºç¨å±å䏿¶æ¯ä¼ éï¼ä¸è¬è¢«ç§°ä¸ºä»£çï¼Proxyï¼ã代çå¯ä»¥æ¯éæçï¼å³è½¬åå®ä»¬æ¶å°ç请æ±å¹¶ä¸åä»»ä½ä¿®æ¹ï¼ä¹å¯ä»¥è¡¨ç°å¾ä¸éæï¼å°å®ä¼ éç»æå¡ç«¯ä¹å使ç¨ä¸äºææ®µä¿®æ¹è¿ä¸ªè¯·æ±ã代çå¯ä»¥åæ¥å¾å¤ç§ä½ç¨ï¼
- ç¼åï¼å¯ä»¥æ¯å ¬å¼çä¹å¯ä»¥æ¯ç§æçï¼å¦æµè§å¨çç¼åï¼
- è¿æ»¤ï¼å¦åç æ¯æ«æãå®¶é¿æ§å¶...ï¼
- è´è½½åè¡¡ï¼è®©å¤ä¸ªæå¡å¨æå¡ä¸åç请æ±ï¼
- 认è¯ï¼æ§å¶å¯¹ä¸åèµæºç访é®ï¼
- æ¥å¿ï¼ä½¿å¾ä»£çå¯ä»¥åå¨åå²ä¿¡æ¯ï¼
HTTP çåºæ¬æ§è´¨
>HTTP æ¯ç®çº¦ç
大ä½ä¸çï¼HTTP 被设计å¾ç®åä¸æè¯»ï¼å°½ç®¡å¨ HTTP/2 ä¸ï¼HTTP æ¶æ¯è¢«å°è£ è¿å¸§ï¼frameï¼è¿ç¹å¼å ¥äºé¢å¤çå¤æåº¦ãHTTP æ¥æè½å¤è¢«äººè¯»æå¹¶çè§£ï¼åå¼åè æä¾äºæ´ç®åçæµè¯æ¹å¼ï¼ä¹å¯¹åå¦è éä½äºé¨æ§ã
HTTP æ¯å¯æ©å±ç
å¨ HTTP/1.0 ä¸å¼å ¥ç HTTP æ 头让该åè®®æäºæ©å±åå®éªãåªè¦æå¡å¨å®¢æ·ç«¯ä¹é´å¯¹æ°æ 头çè¯ä¹ç»è¿ç®åååï¼æ°åè½å°±å¯ä»¥è¢«å å ¥è¿æ¥ã
HTTP æ ç¶æï¼ä½å¹¶éæ ä¼è¯
HTTP æ¯æ ç¶æçï¼å¨åä¸ä¸ªè¿æ¥ä¸ï¼ä¸¤ä¸ªæ§è¡æåç请æ±ä¹é´æ¯æ²¡æå ³ç³»çãè¿å°±å¸¦æ¥äºä¸ä¸ªé®é¢ï¼ç¨æ·æ²¡æåæ³å¨åä¸ä¸ªç½ç«ä¸è¿è¡è¿è´¯ç交äºï¼æ¯å¦å¨çµåç½ç«ä¸ä½¿ç¨è´ç©è½¦åè½ã尽管 HTTP æ ¹æ¬ä¸æ¥è¯´æ¯æ ç¶æçï¼ä½åå© HTTP Cookie å°±å¯ä½¿ç¨æç¶æçä¼è¯ãå©ç¨æ å¤´çæ©å±æ§ï¼HTTP Cookie 被å è¿äºåè®®å·¥ä½æµç¨ï¼æ¯ä¸ªè¯·æ±ä¹é´å°±è½å¤å建ä¼è¯ï¼è®©æ¯ä¸ªè¯·æ±é½è½å ±äº«ç¸åçä¸ä¸æä¿¡æ¯æç¸åçç¶æã
HTTP åè¿æ¥
è¿æ¥æ¯ç±ä¼ è¾å±æ¥æ§å¶çï¼å æ¤ä»æ ¹æ¬ä¸è¯´ä¸å±äº HTTP çèç´ãHTTP å¹¶ä¸éè¦åºå±çä¼ è¾åè®®æ¯é¢åè¿æ¥çï¼ä» ä» éè¦å®æ¯å¯é çï¼æä¸ä¼ä¸¢å¤±æ¶æ¯ï¼è³å°ï¼æä¸ªæ åµä¸åç¥é误ï¼ãå¨äºèç½ä¸¤ä¸ªæå¸¸ç¨çä¼ è¾åè®®ä¸ï¼TCP æ¯å¯é çè UDP 䏿¯ãHTTP å æ¤èä¾é äº TCP çæ åï¼å³é¢åè¿æ¥çã
å¨å®¢æ·ç«¯ä¸æå¡å¨è½å¤ä¼ é请æ±ãååºä¹åï¼è¿ä¸¤è é´å¿ é¡»å»ºç« TCP è¿æ¥ï¼è¿ä¸ªè¿ç¨éè¦å¤æ¬¡å¾è¿äº¤äºãHTTP/1.0 é»è®¤ä¸ºæ¯ä¸å¯¹ HTTP 请æ±/ååºé½æå¼ä¸ä¸ªåç¬ç TCP è¿æ¥ãå½éè¦æ¥è¿åèµ·å¤ä¸ªè¯·æ±æ¶ï¼å·¥ä½æçç¸æ¯äºå®ä»¬ä¹é´å ±äº«åä¸ä¸ª TCP è¿æ¥è¦ä½ã
为äºåè½»è¿ä¸ªç¼ºé·ï¼HTTP/1.1 å¼å
¥äºæµæ°´çº¿ï¼å·²è¢«è¯æé¾ä»¥å®ç°ï¼åæä¹
åè¿æ¥ï¼å¯ä»¥éè¿ Connection æ 头æ¥é¨åæ§å¶åºå±ç TCP è¿æ¥ãHTTP/2 åæ´è¿ä¸æ¥ï¼éè¿å¨ä¸ä¸ªè¿æ¥ä¸å¤åå¤ä¸ªæ¶æ¯ï¼è®©è¿ä¸ªè¿æ¥å§ç»æ´»è·å¹¶æ´å 髿ã
为äºè®¾è®¡ä¸ç§æ´å¹é HTTP çä¼ è¾åè®®ï¼åç§å®éªæ£å¨è¿è¡ä¸ãä¾å¦ï¼Google æ£å¨æµè¯ä¸ç§åºäº UDP æå»ºï¼æ´å¯é ã髿çä¼ è¾åè®®ââQUICã
HTTP è½æ§å¶ä»ä¹
å¤å¹´ä»¥æ¥ï¼è¯å¥½çæ©å±æ§ä½¿å¾ HTTP æ¶åå°æ´å¤ç Web åè½ä¸æ§å¶æãå¨ HTTP è¯ççæ©æï¼ç¼åå认è¯å°±å¯ä»¥ç±è¿ä¸ªåè®®æ¥å¤çäºãèç´å° 2010 å¹´ï¼æ¾è¡åæºéå¶çè½åæå å ¥å°åè®®ä¸ã
以䏿¯å¯ä»¥è¢« HTTP æ§å¶ç常è§ç¹æ§ã
- ç¼åï¼ææ¡£å¦ä½è¢«ç¼åå¯ä»¥éè¿ HTTP æ¥æ§å¶ãæå¡ç«¯è½æç¤ºä»£çå客æ·ç«¯ç¼ååªäºå 容以åç¼åå¤é¿æ¶é´ï¼å®¢æ·ç«¯è½å¤æç¤ºä¸é´çç¼åä»£çæ¥å¿½ç¥å·²åå¨çææ¡£ã
- 弿¾åæºéå¶ï¼ä¸ºäºé»æ¢ç½ç»çª¥å¬åå ¶å®ä¾µç¯éç§çé®é¢ï¼Web æµè§å¨å¼ºå¶å¨ä¸åç½ç«ä¹é´åäºä¸¥æ ¼åå²ãåªææ¥èªäºç¸åæ¥æºï¼same originï¼çç½é¡µæè½å¤è·åä¸ä¸ªç½é¡µçå ¨é¨ä¿¡æ¯ãè¿ç§éå¶ææ¶å¯¹æå¡å¨æ¯ä¸ç§è´æ ï¼æå¡å¨ç HTTP æ 头å¯ä»¥åå¼±æ¤ç±»ä¸¥æ ¼å离ï¼ä½¿å¾ä¸ä¸ªç½é¡µå¯ä»¥æ¯ç±æºèªä¸åå°åçä¿¡æ¯æ¼æ¥èæãæäºæ åµä¸ï¼æ¾å¼è¿äºéå¶è¿æå®å ¨ç¸å ³çèèã
- 认è¯ï¼ä¸äºé¡µé¢å¯è½ä¼è¢«ä¿æ¤èµ·æ¥ï¼ä»
让ç¹å®çç¨æ·è¿è¡è®¿é®ãåºæ¬ç认è¯åè½å¯ä»¥ç´æ¥ç± HTTP æä¾ï¼æ¢å¯ä»¥ä½¿ç¨
WWW-Authenticateæå ¶ä»ç±»ä¼¼çæ 头ï¼ä¹å¯ä»¥ç¨ HTTP cookie æ¥è®¾ç½®ä¸ä¸ªç¹å®çä¼è¯ã - 代çæå¡å¨åé§éï¼æå¡å¨æå®¢æ·ç«¯å¸¸å¸¸æ¯å¤äºå ç½çï¼å¯¹å ¶ä»è®¡ç®æºéèçå® IP å°åãå æ¤ HTTP 请æ±å°±è¦éè¿ä»£çæå¡å¨è¶è¿è¿ä¸ªç½ç»å±éãå¹¶éææç代ç齿¯ HTTP 代çï¼ä¾å¦ï¼SOCKS å议就è¿ä½å¨æ´åºå±ãå ¶ä»çåè®®ï¼æ¯å¦ ftpï¼ä¹è½å¤è¢«è¿äºä»£çå¤çã
- ä¼è¯ï¼ä½¿ç¨ HTTP Cookie å¯ä»¥å©ç¨æå¡ç«¯çç¶æå°ä¸å请æ±èç³»å¨ä¸èµ·ãè¿å°±å建äºä¼è¯ï¼å°½ç®¡ HTTP æ¬èº«æ¯æ ç¶æåè®®ãè¿ä¸ä» ä» å¯¹çµåå¹³å°è´ç©è½¦å¾æç¨ï¼ä¹è®©ä»»ä½ç½ç«é½è½å¤å è®¸ç¨æ·èªç±å®å¶å 容äºã
HTTP æµ
å½å®¢æ·ç«¯æ³è¦åæå¡å¨ââä¸ç®¡æ¯æç»çæå¡å¨è¿æ¯ä¸é´ç代çââè¿è¡ä¿¡æ¯äº¤äºæ¶ï¼è¿ç¨è¡¨ç°ä¸ºä¸é¢å æ¥ï¼
-
æå¼ä¸ä¸ª TCP è¿æ¥ï¼TCP è¿æ¥è¢«ç¨æ¥åé䏿¡æå¤æ¡è¯·æ±ï¼ä»¥åæ¥åååºæ¶æ¯ã客æ·ç«¯å¯è½æå¼ä¸æ¡æ°çè¿æ¥ï¼æéç¨ä¸ä¸ªå·²ç»åå¨çè¿æ¥ï¼æè ä¹å¯è½å¼å 个æ°ç䏿å¡å¨ç TCP è¿æ¥ã
-
åéä¸ä¸ª HTTP æ¥æï¼HTTP æ¥æï¼å¨ HTTP/2 ä¹åï¼æ¯äººç±»å¯è¯»çãå¨ HTTP/2 ä¸ï¼è¿äºç®åçæ¶æ¯è¢«å°è£ å¨äºå¸§ä¸ï¼è¿ä½¿å¾æ¥æä¸è½è¢«ç´æ¥è¯»åï¼ä½æ¯åç仿¯ç¸åçãä¾å¦ï¼
httpGET / HTTP/1.1 Host: developer.mozilla.org Accept-Language: zh -
读åæå¡ç«¯è¿åçæ¥æä¿¡æ¯ï¼
httpHTTP/1.1 200 OK Date: Sat, 09 Oct 2010 14:28:02 GMT Server: Apache Last-Modified: Tue, 01 Dec 2009 20:18:22 GMT ETag: "51142bc1-7449-479b075b2891b" Accept-Ranges: bytes Content-Length: 29769 Content-Type: text/html <!DOCTYPE html>â¦ï¼æ¤å¤æ¯æè¯·æ±ç½é¡µç 29769 åèï¼ -
å ³éè¿æ¥æè 为åç»è¯·æ±éç¨è¿æ¥ã
å½å¯ç¨ HTTP æµæ°´çº¿æ¶ï¼åç»è¯·æ±é½å¯ä»¥ç´æ¥åéï¼èä¸ç¨çå¾ ç¬¬ä¸ä¸ªååºè¢«å ¨é¨æ¥æ¶ãç¶è HTTP æµæ°´çº¿å·²è¢«è¯æå¾é¾å¨ç°æçç½ç»ä¸å®ç°ï¼å ä¸ºç°æç½ç»ä¸æèæ§ç软件ä¸ç°ä»£çæ¬çè½¯ä»¶åæ¶åå¨ãå æ¤ï¼HTTP æµæ°´çº¿å·²å¨ HTTP/2 ä¸è¢«æ´å¥å£®ã使ç¨å¸§çå¤è·¯å¤ç¨è¯·æ±æå代ã
HTTP æ¥æ
HTTP/1.1 以忴æ©ç HTTP åè®®æ¥æé½æ¯è¯ä¹å¯è¯»çãå¨ HTTP/2 ä¸ï¼è¿äºæ¥æè¢«åµå ¥å°äºä¸ä¸ªæ°çäºè¿å¶ç»æï¼å¸§ã帧å 许å®ç°å¾å¤ä¼åï¼æ¯å¦æ¥ææ 头çå缩以åå¤è·¯å¤ç¨ãå³ä½¿åªæåå§ HTTP æ¥æçä¸é¨å以 HTTP/2 åéåºæ¥ï¼æ¯æ¡æ¥æçè¯ä¹ä¾æ§ä¸åï¼å®¢æ·ç«¯ä¼éç»åå§ HTTP/1.1 请æ±ãå æ¤ç¨ HTTP/1.1 æ ¼å¼æ¥çè§£ HTTP/2 æ¥æä»æ§ææã
æä¸¤ç§ HTTP æ¥æçç±»åï¼è¯·æ±ä¸ååºï¼æ¯ç§é½æå ¶ç¹å®çæ ¼å¼ã
请æ±
HTTP 请æ±çä¸ä¸ªä¾åï¼
请æ±ç±ä»¥ä¸å ç´ ç»æï¼
- HTTP æ¹æ³ï¼é常æ¯ç±ä¸ä¸ªå¨è¯ï¼å
GETãPOSTçï¼æè ä¸ä¸ªåè¯ï¼åOPTIONSãHEADçï¼æ¥å®ä¹å®¢æ·ç«¯æ§è¡çå¨ä½ãå ¸ååºæ¯æï¼å®¢æ·ç«¯æå¾è·åæä¸ªèµæºï¼ä½¿ç¨GETï¼ï¼åé HTML 表åçåæ°å¼ï¼ä½¿ç¨POSTï¼ï¼ä»¥åå ¶ä»æ åµä¸éè¦çé£äºå ¶ä»æä½ã - è¦è·åçé£ä¸ªèµæºçè·¯å¾ââå»é¤äºå½åä¸ä¸æä¸æ¾èæè§çä¿¡æ¯ä¹åç URLï¼æ¯å¦è¯´ï¼å®ä¸å
æ¬åè®®ï¼
http://ï¼ãååï¼è¿éæ¯developer.mozilla.orgï¼ï¼ææ¯ TCP ç端å£ï¼è¿éæ¯80ï¼ã - HTTP åè®®çæ¬å·ã
- 为æå¡ç«¯è¡¨è¾¾å ¶ä»ä¿¡æ¯çå¯éæ 头ã
- 请æ±ä½ï¼bodyï¼ï¼ç±»ä¼¼äºååºä¸ç请æ±ä½ï¼ä¸äºå
POSTè¿æ ·çæ¹æ³ï¼è¯·æ±ä½å å å«éè¦äºåéçèµæºã
ååº
HTTP ååºçä¸ä¸ªä¾åï¼
ååºæ¥æå å«äºä¸é¢çå ç´ ï¼
åºäº HTTP ç API
Fetch API æ¯åºäº HTTP çæå¸¸ç¨ APIï¼å
¶å¯ç¨äºå¨ JavaScript ä¸åèµ· HTTP 请æ±ãFetch API åä»£äº XMLHttpRequest APIã
å¦ä¸ç§ APIï¼server-sent äºä»¶ï¼æ¯ä¸ç§ååæå¡ï¼å
许æå¡ç«¯åå©ä½ä¸º HTTP ä¼ è¾æºå¶å客æ·ç«¯åéäºä»¶ãä½¿ç¨ EventSource æ¥å£ï¼å®¢æ·ç«¯å¯æå¼è¿æ¥å¹¶å建äºä»¶å¤çå¨ã客æ·ç«¯æµè§å¨èªå¨å° HTTP æµéå°è¾¾çæ¶æ¯è½¬æ¢ä¸ºéå½ç Event 对象ãç»§èå°å·²ç¥ç±»åçäºä»¶ï¼ä¼ éç»å
åæ³¨åè¿çäºä»¶å¤çå¨ï¼å
¶ä»æªææç±»åçäºä»¶åä¼ éç» onmessage äºä»¶å¤çå¨ã
æ»ç»
HTTP æ¯ä¸ç§ç®åãæç¨ãå ·æå¯æ©å±æ§çåè®®ï¼å ¶å®¢æ·ç«¯âæå¡å¨æ¨¡å¼çç»æï¼å ä¸è½å¤å¢å æ 头çè½åï¼ä½¿å¾ HTTP é Web ä¸ä¸ææ©å±çè½åä¸èµ·åå±ã
è½ç¶å¢å äºä¸äºå¤æåº¦ââä¸ºäºæé«æ§è½ï¼HTTP/2 å° HTTP æ¥æåµå ¥å°å¸§ä¸ââ使¯æ¥æçåºæ¬ç»æèª HTTP/1.0 èµ·ä»ä¿æä¸åãä¼è¯æµä¾æ§åºç¡ï¼éè¿ HTTP ç½ç»çè§å¨å°±å¯ä»¥æ¥çåè°è¯ã