HTTP Request Method
클라이언트가 웹 서버에게 사용자 요청의 목적/종류를 알리는 방법
- 서버에 임무를 부여하여 주어진 메소드에 해당하는 일을 함
- 클라이언트에서 리퀘스트 전달 시, 메소드에 따른 지시를 내릴 수 있음
- 일반 웹브라우저의 요청 방식은 get, post 2가지만 지원 -> REST API는 용도에 맞게 CRUD 분류해서 사용
HTTP 메소드의 종류
메소드 | 설명 |
GET | 리소스 취득 |
POST | 엔티티 바디 전송 |
PUT | 파일 전송 |
HEAD | 메시지 헤더 취득 |
DELETE | 파일 삭제 |
OPTIONS | 서포트하고 있는 메소드 문의 |
TRACE | 경로 조사 |
CONNECT | 프록시에 터널링 요구 |
GET - Resource 획득
GET 메소드는 서버에게 리퀘스트 URI로 식별된 리소스를 가져올 수 있도록 요청한다.
가져올 리소스 내용은 지정된 리소스를 서버가 해석한 결과이다.
POST - Entity(객체) 전송 ( 서버에 DATA를 보내기 위한 용도 )
POST 메소드는 엔티티를 전송하기 위해 사용된다.
GET으로도 엔티티를 전송할 수 있지만 구분을 위하여 POST를 사용한다.
HTTP서버에 데이터를 생성, 수정, 삭제 등을 요구하며 가장 많이 사용되는 메소드이다.
PUT - 파일 전송 ( Resource에 Data를 보내기 위한 용도 )
파일 전송을 위해 사용되는 메소드이다.
HTTP서버에 데이터를 저장(생성, 수정)을 요구하며 POST메소드로 동일한 결과를 구현할 수 있어 많이 사용되진 않는다.
HEAD - 메시지 헤더 취득
GET과 동일하지만 서버에서 Body(응답 본문)를 리턴하지 않는다.
URI 유효성과 리소스 갱신 시간을 확인할 때 사용된다.
DELETE - 파일 삭제
HTTP 서버에 데이터 삭제를 요청하는 메소드이다.
POST메소드로 동일한 결과를 구현할 수 있어 많이 사용되진 않는다.
OPTIONS - 제공하고 있는 메소드 문의
리퀘스트 URI로 지정한 리소스가 제공하고 있는 메소드를 확인할 수 있다.
허용하지 않은 메소드가 요청되면 '405 Mehod Not Allowed' 응답을 보낸다.
TRACE - 경로조사
리퀘스트를 보낸곳에 어떤 리퀘스트가 가공되어있는지 등을 조사할 수 있다.
하지만 보안상 문제로 인해 거의 사용하지않는다.
CONNECT - 프록시에 터널링 요구
프록시에 터널 접속 확립을 요청하는 메소드이며, TCP 통신을 터널링 시키기위해 사용된다.
주로 SSL과 TLS등의 프로토콜로 암호화된 것을 터널링 시키기 위해 사용된다.
'Programming > Web' 카테고리의 다른 글
[Web Application Server] Apache Tomcat Symbolic Link - 톰캣 심볼링 링크 인식하기 (0) | 2021.06.29 |
---|---|
[WEB] HTTP 상태 코드 (HTTP Status Code) (0) | 2020.08.12 |
[WEB] 3-Tier Architecture (3계층 구조) (0) | 2020.08.06 |
[WEB] Web Server(웹서버) / WAS(웹어플리케이션) / Web Container (0) | 2020.07.30 |
[WEB] HTTP Method GET / POST의 차이 (0) | 2020.07.23 |