HTTP 메서드 - PUT, PATCH, DELETE

조 은길·2022년 3월 10일
0

HTTP 웹 기본 지식

목록 보기
12/32
post-thumbnail

이번 TIL은 인프런의 "모든 개발자를 위한 HTTP 웹 기본 지식"을 학습하고, 정리한 내용입니다.
만약, 제 글의 내용을 퍼갈 시에는 " 모든 개발자를 위한 HTTP 웹 기본 지식 "도 출처에 첨부하시기 바랍니다.


PUT

PUT의 메세지는 POST 메세지와 다른 점이 하나 있다.

위의 이미지를 잘 살펴보자!!

PUT 메세지는 클라이언트 쪽에서 구체적인 리소스의 전체 경로를 다 알고 있다.
=> 즉, 클라이언트가 리소스의 전체 위치를 알고, URI를 지정하는 거다.

위의 예제는 클라이언트가 100번에 넣을 것을 PUT에서는 알고 있다.

바로 이게, POST vs PUT의 큰 차이점이다!!

=> 클라이언트에서 보낸 위치에 이미 존재하는 데이터가 있으면, 새로 보낸 데이터로 대체된다.

=> 클라이언트가 지정한 위치가 존재하는 리소스가 없으면, 신규 리소스가 생성된다.

=> 완전히 대체하는 점이 중요한데, age만 보냈다고 해서, age만 부분 대체 되는 것이 아니라, 100번에 위치한 "username" 필드가 다 날아간다.

이런 위험성 때문에, PUT는 리소스를 수정하기 위해서 사용하는 것이 아니다. 기존 리소스를 완전히 갈아치우기 위해서 사용한다.

기존 리소스를 수정하고 싶다면??


PATCH

PUT의 이런 단점을 극복하기 위해서, PATCH가 나왔다.

PATCH를 사용하지 못하는 경우

대부분 PATCH를 사용할 수 있지만, 간혹 PATCH가 지원이 안 되는 서버들도 있다. 그럴 때는 POST를 써주면 된다.


DELETE


언제 어떤 메서드를 사용??

profile
좋은 길로만 가는 "조은길"입니다😁

0개의 댓글