diff options
Diffstat (limited to 'files/ko/web/http/methods')
-rw-r--r-- | files/ko/web/http/methods/connect/index.html | 86 | ||||
-rw-r--r-- | files/ko/web/http/methods/delete/index.html | 98 | ||||
-rw-r--r-- | files/ko/web/http/methods/get/index.html | 75 | ||||
-rw-r--r-- | files/ko/web/http/methods/head/index.html | 77 | ||||
-rw-r--r-- | files/ko/web/http/methods/index.html | 73 | ||||
-rw-r--r-- | files/ko/web/http/methods/options/index.html | 131 | ||||
-rw-r--r-- | files/ko/web/http/methods/patch/index.html | 95 | ||||
-rw-r--r-- | files/ko/web/http/methods/post/index.html | 127 | ||||
-rw-r--r-- | files/ko/web/http/methods/put/index.html | 101 |
9 files changed, 863 insertions, 0 deletions
diff --git a/files/ko/web/http/methods/connect/index.html b/files/ko/web/http/methods/connect/index.html new file mode 100644 index 0000000000..bf26d03d13 --- /dev/null +++ b/files/ko/web/http/methods/connect/index.html @@ -0,0 +1,86 @@ +--- +title: CONNECT +slug: Web/HTTP/Methods/CONNECT +tags: + - HTTP + - 요청 메소드 + - 참고사항 +translation_of: Web/HTTP/Methods/CONNECT +--- +<div>{{HTTPSidebar}}</div> + +<p><strong>HTTP <code>CONNECT</code></strong> 메소드는 요청한 리소스에 대해 양방향 연결을 시작하는 메소드입니다. 이는 터널을 열기 위해서 사용될 수 있습니다.</p> + +<p>예를 들어, <code>CONNECT</code> 메소드는 {{Glossary("SSL")}} ({{Glossary("HTTPS")}})를 사용하는 웹사이트에 접속하는데 사용될 수 있습니다. 클라이언트는 원하는 목적지와의 TCP 연결을 HTTP 프록시 서버에 요청합니다. 그러면 서버는 클라이언트를 대신하여 연결의 생성을 진행합니다. 한번 서버에 의해 연결이 수립되면, 프록시 서버는 클라이언트에 오고가는 TCP 스트림을 계속해서 프록시합니다.</p> + +<p><code>CONNECT</code>는 홉바이홉 메소드입니다.</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Request has body</th> + <td>No</td> + </tr> + <tr> + <th scope="row">Successful response has body</th> + <td>Yes</td> + </tr> + <tr> + <th scope="row">{{Glossary("Safe")}}</th> + <td>No</td> + </tr> + <tr> + <th scope="row">{{Glossary("Idempotent")}}</th> + <td>No</td> + </tr> + <tr> + <th scope="row">{{Glossary("Cacheable")}}</th> + <td>No</td> + </tr> + <tr> + <th scope="row">Allowed in <a href="/en-US/docs/Web/Guide/HTML/Forms">HTML forms</a></th> + <td>No</td> + </tr> + </tbody> +</table> + +<h2 id="문법">문법</h2> + +<pre class="syntaxbox">CONNECT www.example.com:443 HTTP/1.1 +</pre> + +<h2 id="예제">예제</h2> + +<p>일부 프록시 서버는 터널을 생성하기 위해 인증을 요구할 수 있습니다. {{HTTPHeader("Proxy-Authorization")}} 헤더를 참고하세요.</p> + +<pre class="line-numbers language-html">CONNECT server.example.com:80 HTTP/1.1 +Host: server.example.com:80 +Proxy-Authorization: basic aGVsbG86d29ybGQ=</pre> + +<h2 id="기술_사양">기술 사양</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Title</th> + </tr> + <tr> + <td>{{RFC("7231", "CONNECT", "4.3.6")}}</td> + <td>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</td> + </tr> + </tbody> +</table> + +<h2 id="브라우저_호환성">브라우저 호환성</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("http.methods.CONNECT")}}</p> + +<h2 id="함께_참고할_내용">함께 참고할 내용</h2> + +<ul> + <li>{{Glossary("Proxy server")}}</li> + <li>{{HTTPHeader("Proxy-Authorization")}}</li> +</ul> diff --git a/files/ko/web/http/methods/delete/index.html b/files/ko/web/http/methods/delete/index.html new file mode 100644 index 0000000000..7d27889eb9 --- /dev/null +++ b/files/ko/web/http/methods/delete/index.html @@ -0,0 +1,98 @@ +--- +title: DELETE +slug: Web/HTTP/Methods/DELETE +tags: + - HTTP + - Reference + - Request method +translation_of: Web/HTTP/Methods/DELETE +--- +<div>{{HTTPSidebar}}</div> + +<p><strong>HTTP <code>DELETE</code> 메서드</strong>는 지정한 리소스를 삭제합니다.</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">요청에 본문 존재</th> + <td>May</td> + </tr> + <tr> + <th scope="row">성공 응답에 본문 존재</th> + <td>May</td> + </tr> + <tr> + <th scope="row">{{Glossary("Safe", "안전함")}}</th> + <td>No</td> + </tr> + <tr> + <th scope="row">{{Glossary("Idempotent", "멱등성")}}</th> + <td>Yes</td> + </tr> + <tr> + <th scope="row">{{Glossary("Cacheable", "캐시 가능")}}</th> + <td>No</td> + </tr> + <tr> + <th scope="row"><a href="/ko/docs/Learn/HTML/Forms">HTML 양식</a>에서 사용 가능</th> + <td>No</td> + </tr> + </tbody> +</table> + +<h2 id="구문">구문</h2> + +<pre class="syntaxbox notranslate">DELETE /file.html HTTP/1.1 +</pre> + +<h2 id="예제">예제</h2> + +<h3 id="요청">요청</h3> + +<pre class="notranslate">DELETE /file.html HTTP/1.1</pre> + +<h3 id="응답">응답</h3> + +<p><code>DELETE</code> 메서드를 성공적으로 적용한 후에 사용할 수 있는 응답 상태 코드는 다음과 같이 몇 가지가 있습니다.</p> + +<ul> + <li>아마도 명령을 성공적으로 수행할 것 같으나 아직은 실행하지 않은 경우 {{HTTPStatus("202")}} (<code>Accepted</code>) 상태 코드.</li> + <li>명령을 수행했고 더 이상 제공할 정보가 없는 경우 {{HTTPStatus("204")}} (<code>No Content</code>) 상태 코드.</li> + <li>명령을 수행했고 응답 메시지가 이후의 상태를 설명하는 경우 {{HTTPStatus("200")}} (<code>OK</code>) 상태 코드.</li> +</ul> + +<pre class="notranslate">HTTP/1.1 200 OK +Date: Wed, 21 Oct 2015 07:28:00 GMT + +<html> + <body> + <h1>File deleted.</h1> + </body> +</html></pre> + +<h2 id="명세">명세</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">명세</th> + <th scope="col">제목</th> + </tr> + <tr> + <td>{{RFC("7231", "DELETE", "4.3.5")}}</td> + <td>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</td> + </tr> + </tbody> +</table> + +<h2 id="브라우저_호환성">브라우저 호환성</h2> + +<p class="hidden">이 페이지의 호환성표는 구조화된 데이터로부터 생성되었습니다. 만약 그 데이터에 기여하고 싶으시면 <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> 를 참고하시고 요청을 보내주시기 바랍니다.</p> + +<p>{{Compat("http.methods.DELETE")}}</p> + +<h2 id="같이_보기">같이 보기</h2> + +<ul> + <li>HTTP 상태: {{HTTPStatus("200")}}, {{HTTPStatus("202")}}, {{HTTPStatus("204")}}</li> +</ul> diff --git a/files/ko/web/http/methods/get/index.html b/files/ko/web/http/methods/get/index.html new file mode 100644 index 0000000000..0efa428125 --- /dev/null +++ b/files/ko/web/http/methods/get/index.html @@ -0,0 +1,75 @@ +--- +title: GET +slug: Web/HTTP/Methods/GET +tags: + - HTTP + - Reference + - Request method +translation_of: Web/HTTP/Methods/GET +--- +<div>{{HTTPSidebar}}</div> + +<p><span class="seoSummary"><strong>HTTP <code>GET</code> 메서드</strong>는 특정한 리소스를 가져오도록 요청합니다.</span> <code>GET</code> 요청은 데이터를 가져올 때만 사용해야 합니다.</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">요청에 본문 존재</th> + <td>아니오</td> + </tr> + <tr> + <th scope="row">성공 응답에 본문 존재</th> + <td>예</td> + </tr> + <tr> + <th scope="row">{{Glossary("Safe", "안전함")}}</th> + <td>예</td> + </tr> + <tr> + <th scope="row">{{Glossary("Idempotent", "멱등성")}}</th> + <td>예</td> + </tr> + <tr> + <th scope="row">{{Glossary("Cacheable", "캐시 가능")}}</th> + <td>예</td> + </tr> + <tr> + <th scope="row">HTML 양식에서 사용 가능</th> + <td>예</td> + </tr> + </tbody> +</table> + +<h2 id="구문">구문</h2> + +<pre class="syntaxbox">GET /index.html +</pre> + +<h2 id="명세">명세</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Title</th> + </tr> + <tr> + <td>{{RFC("7231", "GET", "4.3.1")}}</td> + <td>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</td> + </tr> + </tbody> +</table> + +<h2 id="브라우저_호환성">브라우저 호환성</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("http.methods.GET")}}</p> + +<h2 id="같이_보기">같이 보기</h2> + +<ul> + <li><a href="/ko/docs/Web/HTTP/Headers">HTTP 헤더</a></li> + <li>{{HTTPHeader("Range")}}</li> + <li>{{httpmethod("POST")}}</li> +</ul> diff --git a/files/ko/web/http/methods/head/index.html b/files/ko/web/http/methods/head/index.html new file mode 100644 index 0000000000..b5222ce97a --- /dev/null +++ b/files/ko/web/http/methods/head/index.html @@ -0,0 +1,77 @@ +--- +title: HEAD +slug: Web/HTTP/Methods/HEAD +tags: + - HTTP + - HTTP method + - Reference +translation_of: Web/HTTP/Methods/HEAD +--- +<div>{{HTTPSidebar}}</div> + +<p><strong>HTTP <code>HEAD</code> 메서드</strong>는 특정 리소스를 {{httpmethod("GET")}} 메서드로 요청했을 때 돌아올 헤더를 요청합니다.</p> + +<p><code>HEAD</code> 메서드에 대한 응답은 본문을 가져선 안되며, 본문이 존재하더라도 무시해야 합니다. 그러나, {{httpheader("Content-Length")}}처럼 본문 콘텐츠를 설명하는 {{glossary("entity header", "개체 헤더")}}는 포함할 수 있습니다. 이 때, 개체 헤더는 비어있어야 하는 <code>HEAD</code>의 본문과는 관련이 없고, 대신 {{httpmethod("GET")}} 메서드로 동일한 리소스를 요청했을 때의 본문을 설명합니다.</p> + +<p><code>HEAD</code> 요청의 응답이 캐시했던 이전 {{httpmethod("GET")}} 메서드의 응답을 유효하지 않다고 표시할 경우, 새로운 <code>GET</code> 요청을 생성하지 않더라도 캐시를 무효화합니다.</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">요청에 본문 존재</th> + <td>아니오</td> + </tr> + <tr> + <th scope="row">성공 응답에 본문 존재</th> + <td>아니오</td> + </tr> + <tr> + <th scope="row">{{Glossary("Safe", "안전함")}}</th> + <td>예</td> + </tr> + <tr> + <th scope="row">{{Glossary("Idempotent", "멱등성")}}</th> + <td>예</td> + </tr> + <tr> + <th scope="row">{{Glossary("Cacheable", "캐시 가능")}}</th> + <td>예</td> + </tr> + <tr> + <th scope="row">HTML 양식에서 사용 가능</th> + <td>아니오</td> + </tr> + </tbody> +</table> + +<h2 id="구문">구문</h2> + +<pre class="syntaxbox">HEAD /index.html +</pre> + +<h2 id="명세">명세</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Title</th> + </tr> + <tr> + <td>{{RFC("7231", "HEAD", "4.3.2")}}</td> + <td>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</td> + </tr> + </tbody> +</table> + +<h2 id="브라우저_호환성">브라우저 호환성</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("http.methods.HEAD")}}</p> + +<h2 id="같이_보기">같이 보기</h2> + +<ul> + <li>{{HTTPMethod("GET")}}</li> +</ul> diff --git a/files/ko/web/http/methods/index.html b/files/ko/web/http/methods/index.html new file mode 100644 index 0000000000..5c3495fd85 --- /dev/null +++ b/files/ko/web/http/methods/index.html @@ -0,0 +1,73 @@ +--- +title: HTTP 요청 메서드 +slug: Web/HTTP/Methods +tags: + - HTTP + - Methods + - Reference +translation_of: Web/HTTP/Methods +--- +<div>{{HTTPSidebar}}</div> + +<p>HTTP는 <strong>요청 메서드</strong>를 정의하여, 주어진 리소스에 수행하길 원하는 행동을 나타냅니다. 간혹 요청 메서드를 "HTTP 동사"라고 부르기도 합니다. 각각의 메서드는 서로 다른 의미를 구현하지만, 일부 기능은 메서드 집합 간에 서로 공유하기도 합니다. 이를테면 응답 메서드는 {{glossary("safe", "안전")}}하거나, {{glossary("cacheable", "캐시 가능")}}하거나, {{glossary("idempotent", "멱등성")}}을 가질 수 있습니다.</p> + +<dl> + <dt>{{httpmethod("GET")}}</dt> + <dd><code>GET</code> 메서드는 특정 리소스의 표시를 요청합니다. <code>GET</code>을 사용하는 요청은 오직 데이터를 받기만 합니다.</dd> + <dt>{{httpmethod("HEAD")}}</dt> + <dd><code>HEAD</code> 메서드는 <code>GET</code> 메서드의 요청과 동일한 응답을 요구하지만, 응답 본문을 포함하지 않습니다.</dd> + <dt>{{httpmethod("POST")}}</dt> + <dd><code>POST</code> 메서드는 특정 리소스에 엔티티를 제출할 때 쓰입니다. 이는 종종 서버의 상태의 변화나 부작용을 일으킵니다.</dd> + <dt>{{httpmethod("PUT")}}</dt> + <dd> + <p><code>PUT</code> 메서드는 목적 리소스 모든 현재 표시를 요청 payload로 바꿉니다.</p> + </dd> + <dt>{{httpmethod("DELETE")}}</dt> + <dd><code>DELETE</code> 메서드는 특정 리소스를 삭제합니다.</dd> + <dt>{{httpmethod("CONNECT")}}</dt> + <dd> + <p><code>CONNECT</code> 메서드는 목적 리소스로 식별되는 서버로의 터널을 맺습니다.</p> + </dd> + <dt>{{httpmethod("OPTIONS")}}</dt> + <dd><code>OPTIONS</code> 메서드는 목적 리소스의 통신을 설정하는 데 쓰입니다.</dd> + <dt>{{httpmethod("TRACE")}}</dt> + <dd> + <p><code>TRACE</code> 메서드는 목적 리소스의 경로를 따라 메시지 loop-back 테스트를 합니다.</p> + </dd> + <dt>{{httpmethod("PATCH")}}</dt> + <dd><code>PATCH</code> 메서드는 리소스의 부분만을 수정하는 데 쓰입니다.</dd> +</dl> + +<h2 id="명세">명세</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">명세</th> + <th scope="col">제목</th> + <th scope="col">해설</th> + </tr> + <tr> + <td>{{RFC("7231", "Request methods", "4")}}</td> + <td>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</td> + <td>Specifies GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE.</td> + </tr> + <tr> + <td>{{RFC("5789", "Patch method", "2")}}</td> + <td>PATCH Method for HTTP</td> + <td>Specifies PATCH.</td> + </tr> + </tbody> +</table> + +<h2 id="브라우저_호환성">브라우저 호환성</h2> + +<p class="hidden">이 페이지의 호환성 표는 구조화 된 데이터로 생성 되었습니다. 호환성 데이터에 기여하려면, 이 파일에 Pull-Request 해주세요: <a href="https://github.com/mdn/browser-compat-data/blob/master/http/methods.json">https://github.com/mdn/browser-compat-data/blob/master/http/methods.json</a>.</p> + +<p>{{Compat("http/methods")}}</p> + +<h2 id="같이_보기">같이 보기</h2> + +<ul> + <li><a href="/ko/docs/Web/HTTP/Headers">HTTP 헤더</a></li> +</ul> diff --git a/files/ko/web/http/methods/options/index.html b/files/ko/web/http/methods/options/index.html new file mode 100644 index 0000000000..58bf6868e4 --- /dev/null +++ b/files/ko/web/http/methods/options/index.html @@ -0,0 +1,131 @@ +--- +title: OPTIONS +slug: Web/HTTP/Methods/OPTIONS +tags: + - HTTP + - 요청 메소드 +translation_of: Web/HTTP/Methods/OPTIONS +--- +<div>{{HTTPSidebar}}</div> + +<p><strong>HTTP <code>OPTIONS</code> method</strong> 는 목표 리소스와의 통신 옵션을 설명하기 위해 사용됩니다. 클라이언트는 OPTIONS 메소드의 URL을 특정지을 수 있으며, aterisk(*) 를 통해 서버 전체를 선택할 수 있습니다.</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Request has body</th> + <td>No</td> + </tr> + <tr> + <th scope="row">Successful response has body</th> + <td>Yes</td> + </tr> + <tr> + <th scope="row">{{Glossary("Safe")}}</th> + <td>Yes</td> + </tr> + <tr> + <th scope="row">{{Glossary("Idempotent")}}</th> + <td>Yes</td> + </tr> + <tr> + <th scope="row">{{Glossary("Cacheable")}}</th> + <td>No</td> + </tr> + <tr> + <th scope="row">Allowed in HTML forms</th> + <td>No</td> + </tr> + </tbody> +</table> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox">OPTIONS /index.html HTTP/1.1 +OPTIONS * HTTP/1.1 +</pre> + +<h2 id="Examples">Examples</h2> + +<h3 id="Identifying_allowed_request_methods">Identifying allowed request methods</h3> + +<p>curl을 이용하여 OPTIONS 요청을 서버에 보냄으로써 서버에서 지원하는 method를 확인할 수 있다.</p> + +<pre>curl -X OPTIONS http://example.org -i</pre> + +<p>요청을 보내면, 응답에 {{HTTPHeader("Allow")}}헤더가 포함되어서 오는데, 이를 통해 허용되는 메소드를 확인할 수 있다.</p> + +<pre>HTTP/1.1 200 OK +Allow: OPTIONS, GET, HEAD, POST +Cache-Control: max-age=604800 +Date: Thu, 13 Oct 2016 11:45:00 GMT +Expires: Thu, 20 Oct 2016 11:45:00 GMT +Server: EOS (lax004/2813) +x-ec-custom-error: 1 +Content-Length: 0 +</pre> + +<h3 id="Preflighted_requests_in_CORS">Preflighted requests in CORS</h3> + + + +<p>In <a href="/en-US/docs/Web/HTTP/Access_control_CORS">CORS</a> 에서, <code>OPTIONS</code> 메소드를 통해 프리플라이트 요청 (preflight, 사전 전달), 즉 사전 요청을 보내 서버가 해당 parameters를 포함한 요청을 보내도 되는지에 대한 응답을 줄 수 있게 한다. </p> + +<p>{{HTTPHeader("Access-Control-Request-Method")}} 헤더는 프리플라이트 요청의 일부분으로 서버에게 실제 요청이 전달 될 때 <code>POST</code> 요청 메소드로 전달될 것 임을 명시한다. </p> + +<p>{{HTTPHeader("Access-Control-Request-Headers")}} 헤더는 서버에게 실제 요청이 전달될 때 <code>X-PINGOTHER</code> 와 <code>Content-Type</code> custom headers 와 함께 전달될 것 임을 명시한다. 서버는 그럼 이러한 요구사항들에 맞춰 요청을 수락할 것인지 정할 수 있다. </p> + +<pre>OPTIONS /resources/post-here/ HTTP/1.1 +Host: bar.other +Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Accept-Language: en-us,en;q=0.5 +Accept-Encoding: gzip,deflate +Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 +Connection: keep-alive +Origin: http://foo.example +Access-Control-Request-Method: POST +Access-Control-Request-Headers: X-PINGOTHER, Content-Type</pre> + +<p>서버는 {{HTTPHeader("Access-Control-Allow-Methods")}}로 응답하고, <code>POST</code>, <code>GET</code>, 그리고 <code>OPTIONS</code> 메소드를 통해서 해당하는 자원을 문의 (query) 할 수 알려준다. 이 헤더는 {{HTTPHeader("Allow")}} 응답 헤더와 비슷하지만 반드시 CORS 에 한해서만 사용된다. </p> + +<pre>HTTP/1.1 200 OK +Date: Mon, 01 Dec 2008 01:15:39 GMT +Server: Apache/2.0.61 (Unix) +Access-Control-Allow-Origin: http://foo.example +Access-Control-Allow-Methods: POST, GET, OPTIONS +Access-Control-Allow-Headers: X-PINGOTHER, Content-Type +Access-Control-Max-Age: 86400 +Vary: Accept-Encoding, Origin +Content-Encoding: gzip +Content-Length: 0 +Keep-Alive: timeout=2, max=100 +Connection: Keep-Alive +Content-Type: text/plain</pre> + +<h2 id="Specifications">Specifications</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Title</th> + </tr> + <tr> + <td>{{RFC("7231", "OPTIONS", "4.3.7")}}</td> + <td>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility">Browser compatibility</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("http.methods.OPTIONS")}}</p> + +<h2 id="See_also">See also</h2> + +<ul> + <li>{{HTTPHeader("Allow")}} header</li> + <li><a href="/en-US/docs/Web/HTTP/Access_control_CORS">CORS</a></li> +</ul> diff --git a/files/ko/web/http/methods/patch/index.html b/files/ko/web/http/methods/patch/index.html new file mode 100644 index 0000000000..a67f4a7c87 --- /dev/null +++ b/files/ko/web/http/methods/patch/index.html @@ -0,0 +1,95 @@ +--- +title: PATCH +slug: Web/HTTP/Methods/PATCH +translation_of: Web/HTTP/Methods/PATCH +--- +<div>{{HTTPSidebar}}</div> + +<p><strong>HTTP PATCH</strong> 메소드는 리소스의 부분적인 수정을 할 때에 사용됩니다.</p> + +<p>HTTP {{HTTPMethod("PUT")}} 메소드는 문서 전체의 완전한 교체만을 허용합니다. 반면 <code>PATCH</code> 메소드는 <code>PUT</code> 메소드와 달리 멱등성을 가지지 않는데, 이는 동일한 patch 요청이 다른 결과를 야기할 수도 있음을 뜻합니다. 하지만 PATCH를 PUT과 같은 방식으로 사용함으로써 멱등성을 가지게 할 수도 있습니다.</p> + +<p><code>PATCH</code> (혹은 <code>PUT</code>)는 다른 리소스에게 부수효과(side-effects)를 일으킬 가능성이 있습니다.</p> + +<p>서버가 <code>PATCH</code>를 지원하는지 알 수 있게끔 하기 위해, 서버는 {{HTTPHeader("Allow")}} 리스트 혹은 {{HTTPHeader("Access-Control-Allow-Methods")}} (for CORS) 응답 헤더를 통해 이를 명시할 수 있습니다.</p> + +<p>PATCH가 허용되는지 확인할 수 있는 또 다른 (암묵적인)지표로 {{HTTPHeader("Accept-Patch")}}의 존재 유무를 들 수 있는데, 이를 통해 patch 문서 양식이 서버에 받아 들여졌음을 알 수 있습니다.</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Request has body</th> + <td>Yes</td> + </tr> + <tr> + <th scope="row">Successful response has body</th> + <td>Yes</td> + </tr> + <tr> + <th scope="row">{{Glossary("Safe")}}</th> + <td>No</td> + </tr> + <tr> + <th scope="row">{{Glossary("Idempotent")}}</th> + <td>No</td> + </tr> + <tr> + <th scope="row">{{Glossary("Cacheable")}}</th> + <td>No</td> + </tr> + <tr> + <th scope="row">Allowed in <a href="/en-US/docs/Web/Guide/HTML/Forms">HTML forms</a></th> + <td>No</td> + </tr> + </tbody> +</table> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox notranslate">PATCH /file.txt HTTP/1.1 +</pre> + +<h2 id="Example">Example</h2> + +<h3 id="Request">Request</h3> + +<pre class="line-numbers language-html notranslate">PATCH /file.txt HTTP/1.1 +Host: www.example.com +Content-Type: application/example +If-Match: "e0023aa4e" +Content-Length: 100 + +[description of changes]</pre> + +<h3 id="Response">Response</h3> + +<p>성공적인 응답은 2xx 상태 코드를 통해서 확인할 수 있습니다.</p> + +<p>아래의 예시에서는 {{HTTPStatus("204")}} 응답이 사용되었는데, 이는 응답이 유의미한 body를 전달하고 있지 않기 때문입니다. {HTTPStatus("200")}} 응답에서는 body에 유의미한 데이터가 포함되어 있음을 유추할 수 있습니다.</p> + +<pre class="newpage notranslate">HTTP/1.1 204 No Content +Content-Location: /file.txt +ETag: "e0023aa4f"</pre> + +<h2 id="Specifications">Specifications</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Title</th> + </tr> + <tr> + <td>{{RFC("5789", "PATCH")}}</td> + <td>PATCH Method for HTTP</td> + </tr> + </tbody> +</table> + +<h2 id="See_also">See also</h2> + +<ul> + <li>{{HTTPStatus("204")}}</li> + <li>{{HTTPHeader("Allow")}}, {{HTTPHeader("Access-Control-Allow-Methods")}}</li> + <li>{{HTTPHeader("Accept-Patch")}} – specifies the patch document formats accepted by the server.</li> +</ul> diff --git a/files/ko/web/http/methods/post/index.html b/files/ko/web/http/methods/post/index.html new file mode 100644 index 0000000000..75884855fc --- /dev/null +++ b/files/ko/web/http/methods/post/index.html @@ -0,0 +1,127 @@ +--- +title: POST +slug: Web/HTTP/Methods/POST +tags: + - HTTP + - Reference + - Request method +translation_of: Web/HTTP/Methods/POST +--- +<div>{{HTTPSidebar}}</div> + +<p><strong>HTTP <code>POST</code> 메서드</strong>는 서버로 데이터를 전송합니다. 요청 본문의 유형은 {{httpheader("Content-Type")}} 헤더로 나타냅니다.</p> + +<p>{{httpmethod("PUT")}}과 <code>POST</code>의 차이는 {{glossary("idempotent", "멱등성")}}으로, <code>PUT</code>은 멱등성을 가집니다. <code>PUT</code>은 한 번을 보내도, 여러 번을 연속으로 보내도 같은 효과를 보입니다. 즉, 부수 효과(side effect)가 없습니다.</p> + +<p><code>POST</code> 요청은 보통 <a href="/ko/docs/Learn/HTML/Forms">HTML 양식</a>을 통해 서버에 전송하며, 서버에 변경사항을 만듭니다. 이 경우의 콘텐츠 유형(<code>Content-Type</code>)은 <dfn> {{HTMLElement("form")}} 요소의 {{htmlattrxref("enctype", "form")}} 특성이나 {{HTMLElement("input") }}, {{HTMLElement("button")}} </dfn>요소의 <dfn>{{htmlattrxref("formenctype", "input")}} 특성 안에 적당한 문자열을 넣어 결정합니다.</dfn></p> + +<ul> + <li><code>application/</code><dfn><code>x-www-form-urlencoded</code>: &으로 분리되고, "=" 기호로 값과 키를 연결하는 key-value tuple로 인코딩되는 값입니다.</dfn><dfn> 영어 알파벳이 아닌 문자들은 {{glossary("percent encoded")}} 으로 인코딩됩니다. 따라서, 이 content type은 바이너리 데이터에 사용하기에는 적절치 않습니다. (바이너리 데이터에는 use <code>multipart/form-data</code> 를 사용해 주세요.)</dfn></li> + <li><dfn><code>multipart/form-data</code></dfn></li> + <li><dfn><code>text/plain</code></dfn></li> +</ul> + +<p><code>POST</code> 요청을 HTML 양식 외의 다른 방법({{domxref("XMLHttpRequest")}} 등)으로 전송할 땐 요청의 본문이 어떤 형태도 취할 수 있습니다. HTTP 1.1 규격에 정의된 바와 같이, <code>POST</code>는 다음의 기능을 포함하는 균일한 메서드를 허용하도록 설계되었습니다.</p> + +<ul> + <li>기존 리소스에 주석달기</li> + <li>게시판, 뉴스 그룹, 메일링 리스트나 이와 유사한 시스템에 글 올리기</li> + <li>회원가입 모달로 새로운 사용자 추가하기</li> + <li>양식 전송 결과 등 데이터 블록을 데이터 처리 프로세스에 보내기</li> + <li>이어붙이기 연산을 통한 데이터베이스 확장</li> +</ul> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">요청에 본문 존재</th> + <td>예</td> + </tr> + <tr> + <th scope="row">성공 응답에 본문 존재</th> + <td>예</td> + </tr> + <tr> + <th scope="row">{{Glossary("Safe", "안전함")}}</th> + <td>아니오</td> + </tr> + <tr> + <th scope="row">{{Glossary("Idempotent", "멱등성")}}</th> + <td>아니오</td> + </tr> + <tr> + <th scope="row">{{Glossary("Cacheable", "캐시 가능")}}</th> + <td>신선도 정보 포함 시</td> + </tr> + <tr> + <th scope="row">HTML 양식에서 사용 가능</th> + <td>예</td> + </tr> + </tbody> +</table> + +<h2 id="구문">구문</h2> + +<pre class="syntaxbox">POST /index.html +</pre> + +<h2 id="예제">예제</h2> + +<p>다음은 <code>application/x-www-form-urlencoded</code> 콘텐츠 유형을 사용하는 간단한 형태의 양식 제출 예시입니다.</p> + +<pre class="line-numbers language-html">POST / HTTP/1.1 +Host: foo.com +Content-Type: application/x-www-form-urlencoded +Content-Length: 13 + +say=Hi&to=Mom</pre> + +<p><code>multipart/form-data</code> 콘텐츠 유형을 사용하는 예시입니다.</p> + +<pre>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 +--boundary-- +</pre> + +<h2 id="명세">명세</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Title</th> + </tr> + <tr> + <td>{{RFC("7231", "POST", "4.3.3")}}</td> + <td>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</td> + </tr> + <tr> + <td>{{RFC("2046", "Common Syntax", "5.1.1")}}</td> + <td>Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</td> + </tr> + </tbody> +</table> + +<h2 id="브라우저_호환성">브라우저 호환성</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("http.methods.POST")}}</p> + +<h2 id="같이_보기">같이 보기</h2> + +<ul> + <li>{{HTTPHeader("Content-Type")}}</li> + <li>{{HTTPHeader("Content-Disposition")}}</li> + <li>{{httpmethod("GET")}}</li> +</ul> diff --git a/files/ko/web/http/methods/put/index.html b/files/ko/web/http/methods/put/index.html new file mode 100644 index 0000000000..0f440eb174 --- /dev/null +++ b/files/ko/web/http/methods/put/index.html @@ -0,0 +1,101 @@ +--- +title: PUT +slug: Web/HTTP/Methods/PUT +tags: + - HTTP + - HTTP method + - Reference + - Request method +translation_of: Web/HTTP/Methods/PUT +--- +<div>{{HTTPSidebar}}</div> + +<p><strong>HTTP <code>PUT</code> 메서드</strong>는 요청 페이로드를 사용해 새로운 리소스를 생성하거나, 대상 리소스를 나타내는 데이터를 대체합니다.</p> + +<p><code>PUT</code>과 {{httpmethod("POST")}}의 차이는 {{glossary("idempotent", "멱등성")}}으로, <code>PUT</code>은 멱등성을 가집니다. <code>PUT</code>은 한 번을 보내도, 여러 번을 연속으로 보내도 같은 효과를 보입니다. 즉, 부수 효과가 없습니다.</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">요청에 본문 존재</th> + <td>예</td> + </tr> + <tr> + <th scope="row">성공 응답에 본문 존재</th> + <td>아니오</td> + </tr> + <tr> + <th scope="row">{{Glossary("Safe", "안전함")}}</th> + <td>아니오</td> + </tr> + <tr> + <th scope="row">{{Glossary("Idempotent", "멱등성")}}</th> + <td>예</td> + </tr> + <tr> + <th scope="row">{{Glossary("Cacheable", "캐시 가능")}}</th> + <td>아니오</td> + </tr> + <tr> + <th scope="row">HTML 양식에서 사용 가능</th> + <td>아니오</td> + </tr> + </tbody> +</table> + +<h2 id="구문">구문</h2> + +<pre class="syntaxbox">PUT /new.html HTTP/1.1 +</pre> + +<h2 id="예제">예제</h2> + +<h3 id="요청">요청</h3> + +<pre>PUT /new.html HTTP/1.1 +Host: example.com +Content-type: text/html +Content-length: 16 + +<p>New File</p></pre> + +<h3 id="응답">응답</h3> + +<p>대상 리소스를 나타내는 데이터가 없고, PUT 요청이 성공적으로 하나를 새로 생성한 경우, 출처 서버는 반드시 {{glossary("user agent", "사용자 에이전트")}}에게 {{HTTPStatus("201")}} (<code>Created</code>) 응답을 보내 해당 사항을 알려줘야 합니다.</p> + +<pre class="newpage">HTTP/1.1 201 Created +Content-Location: /new.html</pre> + +<p>대상 리소스를 나타내는 데이터가 있고, 이를 요청에 포함된 자료에 준하여 성공적으로 수정했다면, 출처 서버는 반드시 {{httpstatus("200")}} (<code>OK</code>) 또는 {{httpstatus("204")}} (<code>No Content</code>) 응답을 보내 성공을 알려줘야 합니다.</p> + +<pre>HTTP/1.1 204 No Content +Content-Location: /existing.html +</pre> + +<h2 id="명세">명세</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">명세</th> + <th scope="col">제목</th> + </tr> + <tr> + <td>{{RFC("7231", "PUT", "4.3.4")}}</td> + <td>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</td> + </tr> + </tbody> +</table> + +<h2 id="브라우저_호환성">브라우저 호환성</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("http.methods.PUT")}}</p> + +<h2 id="같이_보기">같이 보기</h2> + +<ul> + <li>{{HTTPStatus("201")}}</li> + <li>{{HTTPStatus("204")}}</li> +</ul> |