스프링/개념

HTTP 메서드에 관해서

문상휘파람 2024. 9. 9. 11:30

HTTP 메서드란?

  • 클라이언트와 서버 간의 통신에서 사용되는 일종의 규약입니다. 각 메서드는 특정한 작업을 수행하며, RESTful 서비스에서 리소스 조작을 위해 주로 사용됩니다. HTTP 메서드는 CRUD(Create, Read, Update, Delete) 기능을 제공합니다.
1. GET - 서버에서 리소스를 조회. 
   * 안전성: 서버 상태를 변경하지 않는다.
   * 멱등성: 동일한 요청을 여러 번 수행해도 결과가 동일.
   * 캐싱: GET 요청은 캐싱할 수 있다.

2. POST - 서버에 새로운 리소스를 생성. 
   * 안전성: 서버 상태를 변경.
   * 멱등성: 동일한 요청을 여러 번 수행하면 여러 개의 리소스가 생성될 수 있음.
   * 캐싱: 일반적으로 캐싱하지 않음.

3. PUT - 서버의 기존 리소스를 업데이트합. 주로 전체 수정. 
   * 안전성: 서버 상태를 변경.
   * 멱등성: 동일한 요청을 여러 번 수행해도 결과가 동일.
   * 캐싱: 캐싱할 수 있음.

4. PATCH - 서버의 기존 리소스를 부분적으로 업데이트. 
   * 안전성: 서버 상태를 변경.
   * 멱등성: 동일한 요청을 여러 번 수행해도 결과가 동일.
   * 캐싱: 일반적으로 캐싱하지 않음.

5. DELETE - 서버에서 리소스를 삭제. 
   * 안전성: 서버 상태를 변경.
   * 멱등성: 동일한 요청을 여러 번 수행해도 결과가 동일.
   * 캐싱: 일반적으로 캐싱하지 않음.

6. HEAD - GET 요청과 동일하지만, 응답 본문을 포함하지 않음. 리소스의 메타데이터(헤더)만 반환. 
   * 안전성: 서버 상태를 변경하지 않음.
   * 멱등성: 동일한 요청을 여러 번 수행해도 결과가 동일.
   * 캐싱: 캐싱할 수 있다.

7. OPTIONS - 서버가 지원하는 HTTP 메서드를 확인. 
   * 안전성: 서버 상태를 변경하지 않음.
   * 멱등성: 동일한 요청을 여러 번 수행해도 결과가 동일.

8. TRACE - 요청이 서버에 도달하는 과정을 추적. 
   * 안전성: 서버 상태를 변경하지 않음.
   * 멱등성: 동일한 요청을 여러 번 수행해도 결과가 동일.

기본적인 기능에 관해서는 많은 분들이 아실 것 같아서 안정성과 멱등성, 캐싱의 관점에서도 한 번 정리해 보았습니다!