HTTP란? request메소드를 정의하여, 주어진 리소스에 수행하길 원하는 행동은 나타냅니다.
HTTP 메소드의 종류와 특징
HTTP 메소드의 종류는 총 9가지가 있다. 이 중에서 주로 쓰이는 메소드는 5가지 이며, 각각의 이름과 특징에 대해 정리해보자
주요 메소드 5가지
- GET : 리소스 조회할때 사용
- POST : 요청 데이터 처리하고 메세지 바디를 통해 서버로 데이터를 전송 = 주로 데이터 등록에 사용
- PUT : 리소스를 대체하거나 없으면 생성 = 쉽게 말해 데이터를 덮어쓴다
- PATCH : 리소스 일부만 변경
- DELETE : 리소스 삭제
기타 메소드 4가지
- HEAD : GET과 동일하지만 메세지 부분을 제외하고, 상태 줄과 헤더만 변환
- OPTIONS : 대상 리소스에 대한 통신 기능 옵션을 설명한다. = 주로 CORS에서 사용
- CONNECT : 대상 자원으로 식별되는 서버에 대한 터널을 설정
- TRACE : 대상 리소스에 대한 경로를 따라 메세지 루프백 테스트를 수행
HTTP 메소드의 속성
- 안전 (Safe Methods)
- 이 말은 계속해서 메소드를 호출해도 리소스를 변경하지 않는다는 뜻이다. 주요 메소드 중에는 GET메소드가 안전하다고 볼 수 있다.
- 멱동 (Idempotent Methods)
- 이 말은 메소드를 계속 호출해도 결과가 똑같다는 뜻이다. GET, PUT, DELETE 는 멱동하다고 볼 수 있지만 POST, PATCH 는 멱동하다고 불 수 없다.
- 캐시 가능 (Cacheble Methods)
- 캐시 가능하다는 말은 말 그대로 캐싱을 해서 데이터를 효율적으로 가져올 수 있다는 뜻이다. GET, HEAD, POST, PATCH 가 캐시가 가능하지만 실제로는 GET, HEAD 만 주로 캐싱이 쓰인다고 한다.