PATCH
method는 기존의 데이터를 수정할 때 사용되는 method이다.
PUT
method는 기존 데이터를 아예 새로운 데이터로 덮어쓰는 방식으로 수정하려고 할 때 사용한다면, PATCH
는 새 데이터로 기존 데이터의 일부를 수정하고자 할 때 사용한다는 차이점이 존재한다.
예를 들어보자면, 아래와 같은 서버 데이터 중 age
를 수정하고 싶다고 해보자.
{
"id": 3,
"name": "Michael",
"age": 25
}
이 때, request에 PATCH
method를 설정하고, 아래와 같은 데이터를 body에 담아서 보내면
{
"age": 30
}
다음과 같이, 기존 데이터는 그대로 남은 채로 원하는 부분만 수정된 것을 확인할 수 있다.
{
"id": 3,
"name": "Michael",
"age": 30
}
반면, request에 PUT
method를 설정하고, 아래와 같은 데이터를 body에 담아서 보내면
{
"age": 30
}
다음과 같이, 기존 데이터가 모두 사라지고 바뀐 것을 확인할 수 있다.
{
"age": 30
}
HEAD
method는 GET
method와 거의 동일하지만, request를 보냈을 떄 받는 response에서 body 부분은 제외하고 head 부분만 받는다는 특징이 있다.
만약, 웹 브라우저가 서버로부터 용량이 굉장히 큰 파일을 받고자 하는 상황이라면, 이를 사용하여, 파일의 용량을 조사하기 위해 HEAD method가 담긴 request를 보내볼 수 있는 것이다.
즉, HEAD
데이터는 실제 데이터가 아니라, 데이터에 관한 정보만 얻고자 하는 상황에서 유용하게 활용할 수 있다.