섹션 4. HTTP 메서드

2024. 7. 13. 21:39Spring/HTTP 웹 기본 지식

반응형


❓ HTTP API를 만들어보자

회원 정보 관리 API 예시

  • 회원 목록 조회 /members
  • 회원 조회 /members/{id} 
  • 회원 등록 /members/{id} 
  • 회원 수정 /members/{id} 
  • 회원 삭제 /members/{id} 

 

❓ HTTP 메서드 - GET, POST, PUT, PATCH, DELETE

GET

  • 리소스 조회
  • 서버에 전달하고 싶은 데이터는 query(쿼리 파라미터)를 통해서 전달
  • 메세지 바디를 사용해서 전달할 수 있지만, 권장하지 않음

POST

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

PUT

  • 리소스를 대체
    • 리소스가 있으면 대체
    • 리소스가 없으면 생성
    • 덮어버림 처리
    • POST 와의 차이점은 리소스 위치를 알고 있음

PATCH

  • 리소스 부분 변경 (우리가 알고 있는 수정 기능)

DELETE

  • 리소스 삭제

 

❓ HTTP 메서드의 속성

  • 안전(Safe Methods)
    • 호출해도 리소스를 변경하지 않는다
  • 멱등(Idempotent Methods)
    • 한 번 호출하든 두번 호출하든 결과가 똑같다.
    • 멱등 메서드
      • GET : 결과 동일
      • PUT : 결과를 대체한다. 따라서 최종 결과 동일
      • DELETE : 결과를 삭제한다. 따라서 삭제된 결과는 동일
      • POST : 중복해서 발생할 수 있음
  • 캐시가능(Cacheable Methods)
    • GET, POST, PATCH 캐시 가능
    • 실제로는 GET 정도만 캐시로 사용
      • POST, PATCH는 본문 내용까지 캐시 키로 고려해야 하는데, 쉽지 않음

강의 출처

김영한의 스프링 로드맵 - 스프링 핵심원리 기본편

반응형