2023. 8. 6. 04:25ㆍ브라우저&네트워크
HTTP Method란?
클라이언트와 서버 사이에 이루어지는 요청과 응답 데이터를 전송하는 방식을 일컫는다.
서버에 주어진 리소스에 수행하길 원하는 행동, 서버가 수행해야 할 동작을 지정하는 요청을 보내는 방법이다.
HTTP Method 종류
1. GET
- GET 을 사용하는 요청은 오직 데이터를 받기만 합니다.
- 리소스 조회
- 조회할때 POST 도 사용할 수 있지만, GET 메서드는 캐싱이 가능하기에 GET 을 사용하는 것이 유리하다.
- 쿼리스트링 외에 메시지 바디를 사용해서 데이터를 전달할 수 있지만, 서버에서 따로 구성해야 되기 때문에 지원하지 않는 곳이 많아서 권장하지 않는다.
2. POST
- 요청 데이터 처리, 주로 등록에 사용된다.
- 생성(Create)할때 사용된다.
- 메시지 바디를 통해 서버로 요청 데이터를 전달하면 서버는 요청 데이터를 처리하여 업데이트 한다.
- 전달된 데이터로 주로 신규 리소스 등록 및 프로세스 처리에 사용한다.
3. PUT
- 리소스를 대체(덮어쓰기), 해당 리소스가 없으면 생성
- 만일 요청 메시지에 리소스가 있으면 덮어쓰고, 없으면 새로 생성한다.
- 데이터를 대체해야 하니, 클라이언트가 리소스의 구체적인 전체 경로를 지정해 보내주어야 한다.
- 목적 리소스 모든 현재 표시를 요청 payload 로 바꿉니다.
4. PATCH
- 리소스 부분 변경(PUT 이 전체 변경, PATCH 는 일부 변경)
- 만일 PATCH 를 지원하지 않는 서버에는 대신에 POST 를 사용할 수 있다.
5. DELETE
- 리소스 삭제
- 상태코드는 대부분 200 을 사용하고 상황에 따라 204를 사용한다.
6. HEAD
- GET 과 동일하지만 메시지 부분(body 부분) 을 제외하고, 상태 줄과 헤더만 반환
- 응답의 상태 코드만 확인할 때와 같이 리소스를 받지 않고 오직 찾기만 원할때 사용 (일종의 검사 용도)
- 서버의 응답 헤더를 봄으로써 리소스가 수정 되었는지 확인 가능
7. TRACE
- 이 메서드도 일종의 검사용
- 서버에 도달 했을 떄의 최종 패킷의 요청 패킷 내용을 응답 받을 수 있다.
- 요청의 최종 수신자는 반드시 송신자에게 200 응답의 내용으로 수신한 메시지를 반송해야 한다.
- 최초 클라이언트의 요청에는 바디가 포함될 수 있다.
- 대상 리소스에 대한 경로를 따라 메시지 루프백 테스트를 수행
클라이언트의 요청 패킷이 방화벽, 프록시 서버, 게이트웨이 등을 거치면서 패킷의 변조가 일어날 수 있는데, 그래서 TRACE 메서드를 통해 요청했던 패킷 내용과 응답 받은 요청 패킷 내용을 비교하여 변조 유무를 확인할 수 있다.
8. OPTIONS
- 대상 리소스에 대한 통신 가능 옵션(메소드)을 설명(주로 CORS 에서 사용)
- 예비 요청(Preflight) 에 사용되는 HTTP 메소드
- 예비 요청이란 본 요청을 하기 전에 안전한지 미리 검사하는 것이라고 보면 된다.
- 서버의 지원 가능한 HTTP 메소드와 출처를 응답 받아 CORS 정책을 검사하기 위한 요청이다.
9. CONNECT
대상 자원으로 식별되는 서버에 대한 터널을 설정
참고 링크
아래 링크를 참조하여 학습을 위해 만들었습니다.
🌐 HTTP 메서드 종류 & 요청 흐름 💯 총정리
HTTP Method 종류 HTTP 메서드란 클라이언트와 서버 사이에 이루어지는 요청(Request)과 응답(Response) 데이터를 전송하는 방식을 일컫는다. 쉽게 말하면 서버에 주어진 리소스에 수행하길 원하는 행동,
inpa.tistory.com
https://developer.mozilla.org/ko/docs/Web/HTTP/Methods
HTTP 요청 메서드 - HTTP | MDN
HTTP는 요청 메서드를 정의하여, 주어진 리소스에 수행하길 원하는 행동을 나타냅니다. 간혹 요청 메서드를 "HTTP 동사"라고 부르기도 합니다. 각각의 메서드는 서로 다른 의미를 구현하지만, 일부
developer.mozilla.org