HTTP-메소드

HTTP / 1.1에 대한 일반적인 메서드 집합은 아래에 정의되어 있으며이 집합은 요구 사항에 따라 확장 할 수 있습니다. 이러한 메서드 이름은 대소 문자를 구분하며 대문자로 사용해야합니다.

SN 방법 및 설명
1 GET

GET 메소드는 주어진 URI를 사용하여 주어진 서버에서 정보를 검색하는 데 사용됩니다. GET을 사용하는 요청은 데이터 만 검색해야하며 데이터에 다른 영향을주지 않아야합니다.

2 HEAD

GET과 동일하지만 상태 행 및 헤더 섹션 만 전송합니다.

POST

POST 요청은 HTML 양식을 사용하여 고객 정보, 파일 업로드 등과 같은 데이터를 서버로 보내는 데 사용됩니다.

4 PUT

대상 리소스의 모든 현재 표현을 업로드 된 콘텐츠로 바꿉니다.

5 DELETE

URI가 제공하는 대상 자원의 현재 표현을 모두 제거합니다.

6 CONNECT

주어진 URI로 식별되는 서버에 대한 터널을 설정합니다.

7 OPTIONS

대상 리소스에 대한 통신 옵션을 설명합니다.

8 TRACE

대상 리소스 경로를 따라 메시지 루프백 테스트를 수행합니다.

GET 방법

GET 요청은 요청의 URL 부분에 매개 변수를 지정하여 웹 서버에서 데이터를 검색합니다. 이것은 문서 검색에 사용되는 주요 방법입니다. 다음 예제는 GET 메소드를 사용하여 hello.htm을 가져옵니다.

GET /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

위의 GET 요청에 대한 서버 응답은 다음과 같습니다.

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed
<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>

HEAD 방법

HEAD 메서드는 서버가 응답 줄과 헤더로 응답하지만 entity-body는 없다는 점을 제외하면 GET과 기능적으로 유사합니다. 다음 예제에서는 HEAD 메서드를 사용하여 hello.htm에 대한 헤더 정보를 가져옵니다.

HEAD /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

위의 GET 요청에 대한 서버 응답은 다음과 같습니다.

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed

여기 서버가 헤더 뒤에 데이터를 보내지 않는다는 것을 알 수 있습니다.

POST 방법

POST 메소드는 파일 업데이트, 양식 데이터 등과 같은 일부 데이터를 서버로 보내려는 경우에 사용됩니다. 다음 예제에서는 POST 메소드를 사용하여 양식 데이터를 서버로 전송합니다. process.cgi 및 마지막으로 응답이 반환됩니다.

POST /cgi-bin/process.cgi HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Content-Type: text/xml; charset=utf-8
Content-Length: 88
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://clearforest.com/">string</string>

서버 측 스크립트 process.cgi는 전달 된 데이터를 처리하고 다음 응답을 보냅니다.

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed
<html>
<body>
<h1>Request Processed Successfully</h1>
</body>
</html>

PUT 방법

PUT 메소드는 주어진 URL에 지정된 위치에 포함 된 엔티티 본문을 저장하도록 서버에 요청하는 데 사용됩니다. 다음 예제는 서버에 주어진 entity-body를 저장하도록 요청합니다.hello.htm 서버의 루트 :

PUT /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Connection: Keep-Alive
Content-type: text/html
Content-Length: 182
<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>

서버는 주어진 엔티티 본문을 hello.htm 파일을 작성하고 클라이언트에 다음 응답을 다시 보냅니다.

HTTP/1.1 201 Created
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Content-type: text/html
Content-length: 30
Connection: Closed
<html>
<body>
<h1>The file was created.</h1>
</body>
</html>

DELETE 방법

DELETE 메소드는 주어진 URL로 지정된 위치에서 파일을 삭제하도록 서버에 요청하는 데 사용됩니다. 다음 예제는 서버에 주어진 파일을 삭제하도록 요청합니다.hello.htm 서버의 루트 :

DELETE /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Connection: Keep-Alive

서버는 언급 된 파일을 삭제합니다. hello.htm 다음 응답을 클라이언트에 다시 보냅니다.

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Content-type: text/html
Content-length: 30
Connection: Closed
<html>
<body>
<h1>URL deleted.</h1>
</body>
</html>

CONNECT 방법

CONNECT 메서드는 클라이언트가 HTTP를 통해 웹 서버에 네트워크 연결을 설정하는 데 사용됩니다. 다음 예제는 tutorialspoint.com 호스트에서 실행되는 웹 서버와의 연결을 요청합니다.

CONNECT www.tutorialspoint.com HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)

서버와 연결이 설정되고 다음 응답이 클라이언트로 다시 전송됩니다.

HTTP/1.1 200 Connection established
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)

옵션 방법

OPTIONS 메소드는 클라이언트가 웹 서버에서 지원하는 HTTP 메소드 및 기타 옵션을 찾는 데 사용됩니다. 클라이언트는 OPTIONS 메소드에 대한 URL을 지정하거나 전체 서버를 참조하기 위해 별표 (*)를 지정할 수 있습니다. 다음 예제는 tutorialspoint.com에서 실행되는 웹 서버가 지원하는 메소드 목록을 요청합니다.

OPTIONS * HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)

서버는 서버의 현재 구성을 기반으로 정보를 보냅니다. 예를 들면 다음과 같습니다.

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Allow: GET,HEAD,POST,OPTIONS,TRACE
Content-Type: httpd/unix-directory

TRACE 방법

TRACE 메소드는 HTTP 요청의 내용을 요청자에게 다시 에코하는 데 사용되며 개발시 디버깅 목적으로 사용할 수 있습니다. 다음 예제는 TRACE 메소드의 사용법을 보여줍니다.

TRACE / HTTP/1.1
Host: www.tutorialspoint.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)

서버는 위의 요청에 대한 응답으로 다음 메시지를 보냅니다.

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Connection: close
Content-Type: message/http
Content-Length: 39

TRACE / HTTP/1.1
Host: www.tutorialspoint.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)