[ CS / Network ] HTTP의 GET vs POST

황승환·2022년 1월 29일
0

CS

목록 보기
21/60
post-thumbnail

GET

  • 요청하는 데이터가 HTTP Request Message의 Header부분에 URL이 담겨 전송된다.
    -> URL 상으로 ? 뒤에 데이터가 붙어 request를 보내게 된다.
  • URL 공간에 데이터가 담겨서 전송되기 때문에 데이터의 크기가 제한적이다.
  • URL 공간에 데이터가 담겨서 전송되기 때문에 데이터가 그대로 URL 상에 노출된다. 그렇기 때문에 민감한 데이터의 경우 GET 방식을 사용하는 것은 적절하지 않다.
    -> ex) Password
  • 서버에서 어떤 데이터를 가져와서 조회해준다. 즉 서버의 값이나 상태를 변경하지 않는다. (SELECT 문의 성향)
  • 브라우저에서 Caching 가능하다.
    -> POST로 보내야 하는 요청의 데이터 크기가 작고 보안상으로 중요하지 않다는 이유로 GET을 사용해 요청을 보낼 경우 기존에 caching되었던 데이터가 응답될 가능성이 있다.

POST

  • 요청하는 데이터가 HTTP Request Message의 Body 부분에 담겨 전송된다.
  • Body 부분에 데이터가 담겨 전송되기 때문에 GET 방식에 비해 데이터 크기가 제한적이지 않은 편이다.
  • Body 부분에 데이터가 담겨 전송되기 때문에 GET 방식에 비해 보안면에서 낫다. (But 암호화를 하지 않을 경우 GET, POST 둘 다 위험하다.)
  • 서버의 값이나 상태를 변경하기 위해서 또는 추가하기 위해서 사용된다.
profile
꾸준함을 꿈꾸는 SW 전공 학부생의 개발 일기

0개의 댓글