로고로고

[Week8] HTTP 메소드

2024년 12월 7일

HTTP 메소드란

  • 클라이언트가 서버에게 어떤 작업을 요청하는지를 표현

 

메소드설명
GET데이터 조회 요청. 서버에서 데이터를 가져옴 (조회 전용)
POST새로운 데이터 생성 요청 (ex. 회원가입, 게시물 작성)
PUT전체 데이터를 수정 (기존 리소스를 완전히 덮어씀)
PATCH일부 데이터를 수정
DELETE데이터 삭제 요청
OPTIONSCORS 사전 요청 등 서버에서 허용 메소드 확인용
HEADGET과 유사하지만 응답 본문 없이 헤더만 받음

멱등성

  • 같은 요청을 여러 번 보내더라도 결과가 같음을 의미

 

요청실행 결과멱등성
GET /user/1사용자 1번 조회
DELETE /user/1사용자 1번 삭제
POST /user사용자 생성 (매번 다른 id로 생성됨)
PUT /user/1사용자 1번 정보를 같은 값으로 전체 수정
PATCH /user/1사용자 1번 정보 일부 변경

 

  • PUT과 PATCH의 멱등성 차이
    • PUT의 경우 요청을 몇번 보내든 결과는 항상 보내는 값으로 전체를 덮어씌우기 때문에 멱등
    • PATCH의 경우 “수정 로그를 누적 저장”하거나 “요청 횟수에 따라 다른 처리”를 하게 되면 매번 요청에 의해 내부 상태가 변할 수 있기 때문에 비멱등의 가능성이 있음 ( 서버에서 PATCH를 보낼때마다 +1등의 조건을 걸면 비멱등이됨)