MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

POST

현재 번역은 완벽하지 않습니다. 한국어로 문서 번역에 동참해주세요.

HTTP POST method 는 데이터(data)를 서버로 보내는 방법입니다. request 개체의 body는 Content-Type 헤더(header)에 따라서 양식을 맞추어 표현됩니다.

POST request는 보통 HTML form 을 통해서 서버에 전송합니다. 이 경우에는, content type은 HTMLElement("form") Element의 htmlattrxref("enctype", "form") 속성이나 HTMLElement("input")  이나 HTMLElement("button") elements의 htmlattrxref("formenctype", "input") 속성에 의해서 선택 됩니다.

  • application/x-www-form-urlencoded: &으로 분리되고, "="기호로 값과 키를 갖는 인코드되는 값입니다. 영어와 알파벳이 아닌 문자들은 percent encoded 으로 인코드 됩니다. : 그리고 percetn encode가 되기 때문에, 왜 이 content type이 바이너리 데이터에 사용하기에는 적절치 않은 까닭이기도 합니다. (바이너리 데이터에는 use application/form-data 를 사용 해 주세요.)
  • application/form-data
  • text/plain

POST request가 HTML form이 아니라, 다른 method 형태로 전송되어질 때— XMLHttpRequest 처럼— request의 body는 어떤 type의 data든 가질 수 있습니다. HTTP 1.1 안내서에서 설명되기를, POST는 다음의 기능들을 은닉화(cover) 하기 위하여 디자인 되었다고 합니다.(POST is designed to allow a uniform method to cover the following functions)

  • Annotation of existing resources
  • Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles;
  • Providing a block of data, such as the result of submitting a form, to a data-handling process;
  • Extending a database through an append operation.
Request has body Yes
Successful response has body Yes
Safe No
Idempotent No
Cacheable Only if freshness information is included
Allowed in HTML forms Yes

Syntax

POST /index.html

Example

application/x-www-form-urlencoded content type 을 사용하는 간단한 형태의 Form 입니다.

POST / HTTP/1.1
Host: foo.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 13

say=Hi&to=Mom

multipart/form-data content type 을 사용하는 Form 입니다.

POST /test.html HTTP/1.1 
Host: example.org 
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

Specifications

Specification Title
RFC 7231, section 4.3.3: POST Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

Browser compatibility

FeatureChromeFirefoxEdgeInternet ExplorerOperaSafari
Basic Support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)
FeatureAndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic Support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)

See also

문서 태그 및 공헌자

 이 페이지의 공헌자: dbwodlf3
 최종 변경: dbwodlf3,