HTTP 메서드 #1. GET과 POST / PUT과 PATCH

YooJeeun·2025년 3월 5일

cs 스터디

목록 보기
61/65

HTTP 메서드 #1. GET과 POST의 차이

GET: 데이터를 읽다.

  • url을 기반으로 하기때문에 길이제한(2000자미만)이 있다.
  • 성공시 HTTP 상태코드 200을 반환한다.
  • 캐싱이 가능하다.
  • url을 기반으로 요청하기 때문에 해당 요청의 파라미터가 브라우저 기록에 남는다.
  • url을 기반으로 요청하기 때문에 요청할 때 ASCII문자열만을 보낼 수 있다.
  • 사용자 이름, 비밀번호 등 민감한 정보를 전달할 때 사용하지 않는다.

POST: 데이터를 생성하다.

  • url이 아닌 HTTP message body를 통해 데이터를 전달한다.
  • HTTP message body를 통해 전달되기 때문에 길이 제한이 없다.
  • 성공적으로 데이터를 생성할 경우 HTTP 상태코드 201을 반환한다.
  • 캐싱이 불가능하다.
  • url을 기반으로 요청하지 않기 때문에 해당 요청의 파라미터가 브라우저 기록에 남지 않는다.

HTTP 메서드 #2. PUT과 PATCH의 차이

둘 다 데이터를 수정할 때 쓰는 메서드이지만 다음과 같은 차이가 있다.

PUT: 업데이트하는 데이터의 전체를 보내다.

  • 요청을 보낼 때 해당 데이터 전체를 보내야 하고 전체 데이터의 교체를 의미한다.
  • PUT은 해당 데이터가 없다면 새로이 생성하고 있다면 요청할 때 보낸 데이터와 교체를 진행한다.
    예) '{"a":1, "b": 2}'가 있을 때 b를 3으로 바꾼다고 했을 때 'put'의 경우 '{"a":1, "b": 3}'으로 전체 데이터를 전부 보내야 한다.

PATCH: 업데이트하는 데이터의 일부를 보내다.

  • 요청을 보낼 때 수정하는 일부분만 보내면 되고 일부분의 교체를 의미한다.
    예) '{"a":1, "b": 2}'가 있을 때 b를 3으로 바꾼다고 했을 때 'patch'의 경우 '{"b": 3}'으로 부분 데이터를 보낸다.
profile
제니벨로그

0개의 댓글