POST
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2015å¹´7æ.
HTTP POST æ¹æ³å°æ¸æç¼éå°æåå¨ãè«æ±ä¸»é«çé¡åç± Content-Type æ¨é æç¤ºã
PUT å POST ä¹éçåå¥å¨æ¼ PUT æ¯å¹ççï¼èª¿ç¨ä¸æ¬¡æå¤æ¬¡é£çºèª¿ç¨å
·æç¸åææï¼å³æ²æå¯ä½ç¨ï¼ï¼èé£çºç¸åç POST å¯è½æç¢çé¡å¤çææï¼ä¾å¦å¤æ¬¡æäº¤è¨å®ã
POST è«æ±é常éé HTML 表å®ç¼éï¼ä¸¦å°è´æåå¨ä¸çæ´æ¹ãå¨é種æ
æ³ä¸ï¼ééå°é©ç¶çå串æ¾å
¥ <form> å
ç´ ç enctype å±¬æ§æ <input> æ <button> å
ç´ ç formenctype 屬æ§ä¾é¸æå
§å®¹é¡åï¼
application/x-www-form-urlencodedï¼éµåå¼ä»¥'&'åéçéµå¼å çµå½¢å¼é²è¡ç·¨ç¢¼ï¼éµåå¼ä¹éæ'='ãéµåå¼ä¸çé忝æ¸å符èåå·² URL 編碼ï¼éå°±æ¯çºä»éº¼æ¤é¡åä¸é©ç¨æ¼äºé²å¶æ¸æï¼è«æ¹ç¨multipart/form-dataï¼ãmultipart/form-dataï¼æ¯åå¼é½ä½çºä¸åæ¸æå¡ï¼"主é«é¨å"ï¼ç¼éï¼ç±ç¨æ¶ä»£çå®ç¾©çåé符ï¼"éç"ï¼å鿝åé¨åãéµå¨æ¯åé¨åçContent-Dispositionæ¨é ä¸çµ¦åºãtext/plain
ç¶ POST è«æ±éé HTML 表å®ä¹å¤çæ¹æ³ç¼éï¼ä¾å¦ fetch() èª¿ç¨æï¼ä¸»é«å¯ä»¥æ¡ç¨ä»»ä½é¡åãå¦ HTTP 1.1 è¦ç¯æè¿°ï¼POST 被è¨è¨çºå
許ä¸åçµ±ä¸çæ¹æ³ä¾æ¶µè以ä¸åè½ï¼
- å°ç¾æè³æºé²è¡è¨»é
- å°æ¶æ¯ç¼ä½å°ä½åæ¿ãæ°èçµãéµä»¶å表æé¡ä¼¼çæç« çµ
- ééè¨»åæ¨¡å¼æ·»å æ°ç¨æ¶
- å°æ¸æå¡ï¼ä¾å¦æäº¤è¡¨å®ççµæï¼æä¾çµ¦æ¸æèçéç¨
- éééå æä½æ´å±æ¸æåº«
| è«æ±æ¯å¦æä¸»é« | æ¯ |
|---|---|
| æååææ¯å¦æä¸»é« | æ¯ |
| å®å ¨ | å¦ |
| åªç | å¦ |
| å¯ç·©å | å ç¶å 嫿°é®®åº¦ä¿¡æ¯æ |
| HTML 表å®ä¸æ¯å¦å 許 | æ¯ |
èªæ³
POST /test
ç¯ä¾
使ç¨é»èªç application/x-www-form-urlencoded å
§å®¹é¡åçç°¡å®è¡¨å®ï¼
POST /test HTTP/1.1
Host: foo.example
Content-Type: application/x-www-form-urlencoded
Content-Length: 27
field1=value1&field2=value2
ä½¿ç¨ multipart/form-data å
§å®¹é¡åç表å®ï¼
POST /test HTTP/1.1
Host: foo.example
Content-Type: multipart/form-data;boundary="boundary"
--boundary
Content-Disposition: form-data; name="field1"
value1
--boundary
Content-Disposition: form-data; name="field2"; filename="example.txt"
value2
--boundary--
è¦ç¯
| Specification |
|---|
| HTTP Semantics> # POST> |