본문 바로가기
Spring Study/HTTP 웹 기본지식

[HTTP] HTTP Method

by 정재인 2023. 6. 25.

■ HTTP 주요 메서드

GET: 리소스 조회
POST: 요청 데이터 처리, 주로 등록에 사용
PUT: 리소스 대체, 해당 리소스가 없으면 생성
PATCH: 리소스 부분 변경
DELETE: 리소스 삭제

GET

  • 리소스 조회
  • 서버에 전달하고 싶은 query(쿼리 파라미터, 쿼리 스트링)를 통해서 전달

● POST

  • 요청 데이터 처리
  • 메시지 바디를 통해 서버로 요청 데이터 전달
  • 서버는 요청 데이터 처리 (메시지 바디를 통해 들어온 데이터를 처리하는 모든 기능 수행
  • 주로 전달된 데이터로 신규 리소스 등록, 프로세스 처리에 사용

● PUT

  • 리소스를 대체 (리소스가 있으면 대체, 리소스가 없으면 생성) → 덮어씌움
  • 클라이언트가 리소스를 식별 (클라이언트가 리소스 위치를 알고 URI 지정 POST와 차이점)

● PATCH

  • 리소스 부분 변경

DELETE

  • 리소스 제거

■ HTTP 메서드 속성

안전 (Safe Methods)
멱등 (Idempotent Methods)
캐시가능 (Cacheable Methods)

● 안전 (Safe)

  • 호출해도 리소스 변경 X

● 멱등 (Idempotent)

  • f(f(x)) = f(x)
  • 한 번 호출, 두 번 호출, 100번 호출하든 결과가 같음
  • 멱등 메서드 (GET, PUT, DELETE)
  • 자동 복구 메커니즘에 활용

● 캐시가능 (Cacheable)

  • GET, HEAD, POST, PATCH 캐시가능
  • 실제로는 GET, HEAD 정도만 캐시로 사용

댓글