클라이언트가 웹 서버에게 사용자 요청의 목적이나 종류를 알리는 수단
리소스를 조회할 때 사용하며, 서버에 전달하고 싶은 데이터는 query를 통해서 전달한다. 메시지 바디를 사용해서 데이터를 전달할 수는 있지만, 지원하지 않는 곳이 많아서 권장하지 않는다.
데이터 요청을 처리하고, 메시지 바디를 통해 서버로 데이터를 전달한다. 주로 신규 리소스를 등록하거나 프로세스 처리에 사용된다.
리소스가 있으면 대체하고 리소스가 없으면 생성한다. 쉽게 말해 데이터를 덮어쓴다.
PUT과 마찬가지로 리소스를 수정할 때 사용하지만, PATCH는 리소스를 일부분만 변경할 수 있다.
리소스를 제거할때 사용
Method | CRUD |
---|---|
POST | Create |
GET | Read |
PUT | Update |
DELETE | Delete |
기타 메소드
HEAD - GET과 동일하지만 메시지 부분을 제외하고, 상태 줄과 헤더만 반환
CONNECT - 대상 리소스에 대한 통신 가능 옵션을 설명(주로 CORS에서 사용)
OPTIONS - 대상 자원으로 식별되는 서버에 대한 터널을 설정
TRACE - 대상 리소스에 대한 경로를 따라 메시지 루프백 테스트를 수행
메소드 | 안전 | 멱등 | 캐시가능 |
---|---|---|---|
GET | ✅ | ✅ | ✅ |
POST | ❌ | ❌ | ✅ |
PUT | ❌ | ✅ | ❌ |
DELETE | ❌ | ✅ | ❌ |
PATCH | ❌ | ❌ | ✅ |
HEAD | ✅ | ✅ | ✅ |
CONNECT | ❌ | ❌ | ❌ |
OPTIONS | ✅ | ✅ | ❌ |
TRACE | ✅ | ✅ | ❌ |
계속해서 메소드를 호출해도 리소스를 변경하지 않음
HTTP 메소드의 속성으로 요청을 재시도, 재실행해도 원래 의도한 바와 같이 동일하게 작동하는 것을 의미한다.
✅멱등이란
요청한 응답의 리소스를 향후 재사용을 위해 저장할 수 있음
GET, HEAD, POST, PATCH가 캐시가 가능하지만 실제로는 GET과 HEAD만 주로 캐싱이 쓰인다고 한다.
📝추가 자료
HTTP 요청 메서드
멱등성