[Network] HTTP 메소드 - GET과 POST의 차이

Minhyuk Song·2024년 3월 26일
0

Network

목록 보기
1/3

GET, POST의 차이

GET 메소드는 리소스를 요청하는 메소드이고, POST 메소드는 리소스를 생성 또는 업데이트를 하는 메소드입니다.

우선 결론을 먼저 말씀드리자면, GET과 POST의 차이는 북마크, 캐싱, 리소스 전달 방식, 데이터 길이, 멱등성 등이 있습니다.

(북 캐 리 데 멱) (북 캐 리 데 멱) (북 캐 리 데 멱) 두문식 암기법이 가끔 도움이 됩니다.

북마크, 캐싱

GETPOST와 다르게 북마크 추가와 캐싱이 가능합니다.

  • 북마크 = 즐겨찾기
  • 브라우저에서 자동으로 캐싱됨

리소스 전달 방식에 의한 특징

그리고 GET 방식은 요청하는 데이터가 HTTP Request Message의 Header 부분에 url 이라는 공간에 담겨서 전송되는 쿼리스트링 방식입니다. 그래서 데이터의 크기가 제한적이고, URL에 데이터가 노출되기 때문에 보안성이 낮습니다.

  • 데이터 길이 : 2,048자 이하
  • 쿼리 스트링은 URL + ?+ 데이터이름=값 형태로 표현됩니다. (http://naver.com/search?query=cat)

반면에 POST 방식은 HTTP Request Message의 Body 부분에 데이터를 담아 전송되고 URL에는 아무런 데이터가 포함되지 않습니다. 그래서 GET 방식보다 데이터 크기와 보안성이 낫습니다.

  • 데이터 길이 : 2GB 이하

멱등성

멱등성이란 연산을 여러 번 하여도 결과가 달라지지 않는 성질

GET은 멱등성이 있기 때문에, GET 요청을 반복해도 결과가 달라지지 않습니다.
반면, POST는 멱등성이 없기 때문에 POST 요청을 반복하면 매번 새로운 데이터를 생성할 겁니다.

profile
스크린을 넘어 유쾌한 경험을 드리는 프론트엔드 개발자가 되도록 노력하고 있습니다.

0개의 댓글