Web
[Web] HTTP Request Method
차가운개발
2024. 11. 27. 14:41
HTTP 요청 메서드는 클라이언트가 서버와 통신하기 위해 사용하는 메서드로, 각각의 메서드는 특정한 작업을 요청하기 위해 사용한다.
ㅇ 종류
- GET
서버에서 데이터를 요청할 때 사용한다.
데이터나 리소스를 가져올 때 사용
URL에 데이터를 쿼리 스트링 형태로 포함(ex : /abc?a=1&b=2)
서버의 상태나 데이터를 변경하지 않음
응답이 캐싱될 수 있음 - POST
서버에 데이터를 생성하거나 제출할 때 사용한다.
본문(Body)에 데이터를 담아 요청
서버의 상태나 데이터를 변경할 가능성이 있음
같은 요청을 반복하면 데이터가 중복생성될 수 있음 - PUT
서버의 데이터를 완전히 업데이트(덮어쓰기)할 때 사용한다.
리소스가 없으면 새로 생성하기도 함
요청 본문(Body)에 전체 데이터를 포함
데이터 수정 가능
동일한 요청을 여러 번 보내도 결과가 동일 (멱등성) - PATCH
서버의 데이터를 부분적으로 업데이트할 때 사용한다.
PUT과 달리 일부 데이터만 수정 가능
동일한 요청을 여러 번 보내도 결과가 동일(멱등성) - DELETE
서버의 리소스를 삭제할 때 사용한다.
서버 상태 변경 가능
동일한 요청을 여러 번 보내도 결과는 동일 (멱등성) - HEAD
GET 요청과 동일하지만 응답 본문(Body)을 포함하지 않음
리소스 존재 여부 확인에 유용
데이터를 가져오지 않고 메타 데이터만 확인
(데이터를 설명하는 정보를 가진 데이터 >> 메타데이터) - OPTIONS
서버가 지원하는 메서드와 옵션을 확인할 때 사용
CORS요청 시 유용
서버의 메서드 허용 여부 확인 - TRACE
요청이 서버에 도달하는 경로를 추적할 때 사용한다.
디버깅 용도로 사용
요청 내용을 그대로 반사 - CONNECT
프록시 서버와 터널링을 설정할 때 사용한다.
(클라이언트와 서버 사이에 위치한 중계역할을 수행하는 서버)
HTTP 요청 시 주로 사용(SSL/TLS 터널링)
** 멱등성 : 동일한 요청을 여러 번 보내도 결과가 동일한 메서드
(GET, PUT, DELETE)
** 안전성 : 서버의 상태를 변경하지 않는 메서드
(GET, HEAD, OPTIONS)