개발 알다가도 모르겠네요

PATCH와 HEAD를 간단하게 알아보자 본문

PATCH와 HEAD를 간단하게 알아보자

이재빵 2021. 7. 20. 04:39
728x90

PATCH

PATCH 메소드는 기존의 데이터를 수정할 때 사용하는 메소드입니다.

PUT은 기존 데이터를 아예 새로운 데이터로 덮어씀으로써 수정하려고 할 때 쓰는 메소드이고,

PATCH는 새 데이터로 기존 데이터의 일부를 수정하려고 할 때 쓰는 메소드입니다.

 

 

예를 들어 서버에

{
  "id": 3,
  "name": "Michael",
  "age": 25
}

이런 식으로 표현되는 데이터가 있을 , 리퀘스트에 PATCH 메소드를 설정하고

{
  "age": 30
}

이라는 데이터를 바디에 담아서 보내면,

{
  "id": 3,
  "name": "Michael",
  "age": 30
}

서버의 기존 데이터는 이렇게 age 속성만 갱신되지만,

같은 리퀘스트더라도 PUT 메소드를 설정해서 보내면

{
  "age": 30
}

이렇게 서버의 데이터에는 age 속성만 남게 됩니다.

 

 

PUT 메소드 서버에 존재하는 기존 데이터를 새로운 데이터로 아예 덮어쓰기하는 방식으로 수정합니다.

따라서 PUT 메소드의 경우에는 원하는 데이터의 온전한 모습 전체를 바디에 담아서 보내줘야 합니다.

{
  "id": 3,
  "name": "Michael",
  "age": 30
}

하지만 PATCH 경우에는 보통, 리퀘스트의 바디에 있는 내용을 기존 데이터의 속성과 대조 병합(merge-patch)하면서 데이터를 수정하기 때문에 때문에, 바디에 수정할 프로퍼티의 데이터만 넣어줘도 되는 겁니다.

 

 

 

HEAD

HEAD 메소드는 GET 메소드와 동일합니다.

대신 GET 리퀘스트를 보냈을 때 받았을 리스폰스에서 바디 부분은 제외하고, 헤드 부분만 받습니다.

만약 파일의 용량이 너무 큰 경우에는 파일의 용량만 조사하기 위해서 HEAD 메소드가 담긴 리퀘스트를 보내볼 수 있습니다.

이때 Content-length와 같이 컨텐츠 용량을 나타내는 헤더가 있어서 파일의 용량 정보는 알게 될 수도 있습니다.

바로 이렇게 실제 데이터가 아니라 데이터에 관한 정보만 얻으려고 하는 상황 등에 HEAD 메소드가 활용됩니다.

 

https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods

'' 카테고리의 다른 글

Ajax를 간단하게 알아보자  (0) 2021.07.24
Content-type 번외편  (0) 2021.07.22
Content-Type 헤더를 간단하게 알아보자  (0) 2021.07.22
get 과 post 방식 정리  (0) 2021.05.03
REST API 를 알아보자.  (0) 2021.05.02