HyperText Transfer Protocol
서버와 클라이언트 간의 TCP/IP 통신 위에서 리소스를 교환하기 위해 사용되는 프로토콜.
HTTP는 클라이언트-서버 프로토콜
Domain Name System
PUT과 PATCH의 멱등성 차이
PUT 요청에서는 객체 {name: "John", age: 30}를 전체적으로 대체하는 목적으로 사용됩니다. 그리고, 클라이언트가 동일한 데이터 {name: "John", age: 30}를 요청 본문으로 보낸 PUT 요청을 여러 번 보내면, 서버에서는 해당 객체를 항상 {name: "John", age: 30}로 수정하게 됩니다. 이는 멱등성을 보장하는 것입니다.
반면, PATCH 요청에서는 객체 {name: "John", age: 30}의 일부 속성만을 수정하는 목적으로 사용됩니다. 예를 들어, 클라이언트가 PATCH 요청으로 객체의 name 속성만 "Tom"으로 수정하는 요청을 보낸 경우, 해당 객체는 {name: "Tom", age: 30}으로 수정됩니다. 그리고, 클라이언트가 동일한 데이터 {name: "Tom", age: 30}를 요청 본문으로 보낸 PATCH 요청을 여러 번 보내도, 서버에서는 해당 객체를 {name: "Tom", age: 30}으로 수정하게 됩니다. 그러나, 만약 클라이언트가 PATCH 요청으로 객체의 age 속성만 31로 수정하는 요청을 보낸 경우, 해당 객체는 {name: "John", age: 31}으로 수정됩니다. 따라서, 클라이언트가 동일한 데이터 {name: "John", age: 30}를 요청 본문으로 보낸 PATCH 요청을 여러 번 보내도, 서버에서는 해당 객체를 항상 동일한 상태로 수정할 수 없으므로, 멱등성을 보장하지 않는 것입니다.
[youtube] 큰돌의터전_[HTTP1과 HTTP2 그리고 HTTP3]
[youtube] 우아한테크_[10분 테코톡] 헌치, 써머의 HTTP
[youtube] Code ON 코드온_HTTP와 HTTPS 차이점 (현업에 적용하는 CS 5탄)
[mozila] HTTP