본문 바로가기
Stg

HTTP 메소드

by 호랑2 2023. 4. 5.

HTTP 에서 사용 가능한 다양한 메소드에 대해서 알아보자.

 

출처 : https://catsbi.oopy.io/1b703a8f-9b02-4443-a28f-8ef3e2223f13

 

GET : 리소스 획득

GET 메소드는 리퀘스트 URI 로 식별된 리소스를 가져올 수 있도록 요구한다.

가져올 리소스 내용은 지정된 리소스를 서버가 해석한 결과이다.

 

POST : 엔티티 전송

POST 메소드는 엔티티를 전송하기 위해서 사용된다.

GET 으로도 엔티티를 전송할 수 있지만, 자주 사용하지 않고 일반적으로 POST 를 사용한다.

 

PUT : 파일 전송

PUT 메소드는 파일을 전송하기 위해서 사용된다.

FTP 에 의한 파일 업로드와 같이, 리퀘스트 중에 포함된 엔티티를 리퀘스트 URI 로 지정한 곳에 보존하도록 요구한다.

다만 HTTP/1.1 PUT 에는 인증 기능이 없어 누구든지 파일 업로드가 가능하다는 보안 문제가 있어서 일반적인 웹사이트에서는 사용하지 않는다. 웹 애플리케이션 등에 의한 인증 기능과 짝을 이루는 경우나, REST 와 같이 웹끼리 연계하는 설계의 경우에 사용하는 경우가 있다.

 

관련해서 PUT 은 파일의 전체를 업데이트 한다면, PATCH 는 지정된 리소스에 대해서만 업데이트 하는 메소드이다.

 

HEAD : 메시지 헤더 취득

HEAD 메소드는 GET 과 같은 기능이지만 메시지 바디는 돌려주지 않는다.

URI 유효성과 리소스 갱신 시간을 확인하는 목적 등으로 사용된다.

 

DELETE : 파일 삭제

DELETE 메소드는 파일을 삭제하기 위해 사용된다.

PUT 메소드와는 반대로 동작하며, 리퀘스트 URI 로 지정된 리소스의 삭제를 요구한다.

DELETE 또한 PUT 과 마찬가지로 HTTP/1.1 에서 인증기능이 없어 일반적인 웹사이트 에서는 사용되지 않으며, 마찬가지로 웹 애플리케이션 등에 의한 인증 기능과 짝을 이루는 경우나, REST 와 같이 웹끼리 연계하는 설계의 경우에 사용하는 경우가 있다.

 

OPTIONS : 제공하고 있는 메소드 문의

OPTIONS 메소드는 리퀘스트 URI 로 지정한 리소스가 제공하고 있는 메소드를 조사하기 위해 사용된다.

 

TRACE : 경로 조사

TRACE 메소드는 Web 서버에 접속해서 자신에게 통신을 되돌려 받는 루프백(loop-back) 을 발생시킨다.

리퀘스트를 보낼 때에 "Max-Forwards" 라는 헤더 필드에 수치를 포함시켜 서버를 통과할 때마다 해당 수치를 줄여나간다.

수치가 0이 된 곳을 끝으로, 리퀘스트를 마지막으로 수신한 곳에서 상태 코드 200 OK 리스폰스를 되돌려 준다.

클라이언트는 TRACE 메소드를 사용함으로써, 리퀘스트를 보낸 곳에 어떤 리퀘스트가 가공되어 있는지 알 수 있다.

이것은 프록시 등을 중계하여 오리진(origin) 서버에 접속할 때 그 동작을 확인하기 위해 사용되고 있다.

 

CONNECT : 프록시에 터널링 요구

CONNECT 메서드는 프록시에 터널 접속을 요구하여, TCP 통신을 터널링 시키기 위해서 사용된다.

주로 SSL 이랑 TLS 등의 프로토콜로 암호화 된 것을 터널링 시키기 위해서 사용된다.

 

 

 

'Stg' 카테고리의 다른 글

HTTP 상태코드  (0) 2023.04.11
Persistent connection / Stateless  (0) 2023.04.06
HTTP  (0) 2023.04.04
URI 와 URL  (0) 2023.04.01
IP / TCP / DNS  (0) 2023.03.30

댓글