일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- 딥다이브
- 자바스크립트
- 프론트엔드
- Deep Dive
- 프리코스
- bucket4j
- 타입스크립트
- 스프링부트
- redis
- 검색
- TypeORM
- AWS
- 프로그래머스
- api 비동기처리
- 우아한 테크코스
- 프론트엔드 과제
- invalid_grant
- 모던 자바스크립트
- 파일 url
- 음악 url 파일 다운로드
- 유효시간 설정 url
- this
- Dev-Matching
- NestJS
- concurrency limit
- 우아한테크코스
- oauth
- 코멘토 #코멘토실무PT #실무PT후기 #실무강의 #리액트강의 #웹프로그래밍 #react #웹개발실무
- api 요청 수 제한
- compateto
- Today
- Total
개발 알다가도 모르겠네요
PATCH와 HEAD를 간단하게 알아보자 본문
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 메소드가 활용됩니다.
'웹' 카테고리의 다른 글
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 |