HTTP(Hypertext Transfer Protocol)는 웹에서 데이터를 주고받기 위한 프로토콜입니다.
위 사진은 HTTP request의 헤더의 예시입니다.
빨간색 네모가 있는 부분에 HTTP Method가 작성되어 있음을 확인할 수 있습니다.
HTTP Method는 클라이언트와 서버 간의 통신을 정의하며, 다양한 작업을 수행하는 데 사용됩니다.
이번 글에서는 HTTP Method의 종류, 개념, 예제를 살펴보겠습니다.
종류 | 한 줄 설명 |
---|---|
GET | 리소스 조회 |
POST | 등록, 요청 데이터 처리 |
PUT | 리소스 덮어쓰기 |
PATCH | 리소스 부분 변경 |
DELETE | 리소스 삭제 |
HEAD | GET과 동일하나 Body를 제외하고, 상태 줄과 Header만 반환 |
OPTIONS | 대상 리소스에 대한 통신 가능 메서드를 설명 |
CONNECT | 대상 자원으로 식별되는 서버에 대한 터널을 설정 |
TRACE | 대상 리소스에 대한 경로를 따라 메시지 루프백 테스트를 수행 |
아래 예제에서는 API 요청을 보내기 위해 Postman을 사용했고,
요청을 응답해주는 사이트는 JSONPlaceholder를 사용했습니다.
https://jsonplaceholder.typicode.com
GET 메서드는 서버로부터 리소스를 요청할 때 사용됩니다.
서버는 요청된 데이터를 반환하며, 주로 데이터를 조회하는 데 사용됩니다.
요청 파라미터가 URL에 포함되며, 데이터 변경이 일어나지 않습니다.
아래 예제를 보면 요청한 users 데이터를 잘 반환받고 있음을 확인할 수 있습니다.
POST 메서드는 서버에 데이터를 전송하며 새로운 리소스를 생성하거나 기존 리소스를 변경할 때 사용됩니다.
요청 본문에 데이터를 포함하며, 보통 form 데이터를 전송할 때 사용됩니다.
PUT 메서드는 지정된 리소스를 생성하거나 대체할 때 사용됩니다.
특정 리소스의 전체를 업데이트할 때 주로 사용됩니다.
해당 리소스가 없는 경우에 새로 생성합니다.
요청 본문에 전체 업데이트 데이터를 포함합니다.
PATCH 메서드는 리소스의 일부를 업데이트할 때 사용됩니다.
PUT은 전체 변경이지만 PATCH는 일부 변경입니다.
요청 본문에 부분 업데이트 데이터를 포함합니다.
DELETE 메서드는 지정된 리소스를 삭제할 때 사용됩니다.
리소스의 삭제를 서버에 요청합니다.
HEAD 메서드는 GET 메서드와 동일한 요청을 하지만, Body는 반환하지 않습니다.
Header만 받아옵니다.
리소스의 메타데이터를 확인할 때 사용됩니다.
OPTIONS 메서드는 서버가 지원하는 메서드 옵션을 확인할 때 사용됩니다.
서버의 기능과 옵션을 검사합니다.
주로 CORS에서 사용합니다.
아래 예시에서는 가장 마지막 줄에 가능한 메서드 목록을 반환받고 있습니다.
CONNECT 메서드는 클라이언트와 서버 간에 터널을 설정하여 TCP 연결을 확립하는 데 사용됩니다.
주로 HTTPS를 통해 보안된 웹 사이트에 접속하기 위해 프록시 서버와의 연결을 설정할 때 사용됩니다.
클라이언트는 CONNECT 메서드를 사용하여 프록시 서버에 요청을 보내고, 프록시 서버는 클라이언트와 최종 목적지 서버 간의 TCP 연결을 설정합니다.
이후 클라이언트느와 서버는 이 터널을 통해 직접 통신합니다.
TRACE 메서드는 요청이 서버에 도달하는 경로를 추적할 때 사용됩니다.
주로 디버깅 목적으로 사용합니다.