GET vs POST

dongle·2022년 11월 12일
0

GET

GET 메소드는 주로 데이터를 읽거나 검색할 때에 사용되는 메소드 입니다.
만약에 GET 요청이 성공적으로 이루어진다면 XML이나 JSON과 함께 200(OK) HTTP 응답 코드를 리턴합니다. 에러가 발생하면 주로 404 에러나 400 에러가 발생합니다.

특징

  • HTTP 명세에 의하면 GET 요청은 오로지 데이터를 읽을 때만 사용되고 수정할 때에는 사용하지 않음
  • 데이터의 변형이 위험없이 사용할 수 있음
  • GET 요청은 idempotent 함
    => 즉, 같은 요청을 여러번 하더라도 변함 없이 같은 응답을 받을 수 있음
    => 데이터를 변경하는 등의 안전하지 않은 연산에 사용하면 안됨

POST

POST 메소드는 주로 새로운 리소스를 생성할 때 사용되는 메소드 입니다.

특정

  • POST는 하위 리소스(부모 리소스의 하위 리소스)들을 생성하는데 사용
  • 성공적으로 creation을 완료하면 201(Created) HTTP 응답을 반환
  • indempotent 하지 않음
    => POST 요청을 반복해서 했을 때 항상 같은 결과물이 나오는 것을 보장하지 않음
    => 두 개의 같은 POST 요청을 보내면 같은 정보를 담은 두 개의 다른 resource를 반환할 가능성이 높음

GET vs POST

HTTP POST 요청은 클라이언트에서 서버로 전송할 때 추가적인 데이터를 body에 포함할 수 있습니다.
반면에 GET 요청은 모든 필요한 데이터를 URL에 포함하여 요청한합니다.

HTML의 form 태그에 method="POST" 또는 method="GET"(기본값)을 모두 사용할 수 있습니다.

만약 GET 메소드를 사용하면 모든 form data는 URL로 인코딩되어 action URL에 query string parameters로 전달됩니다.

POST 메소드를 사용하면 form data는 HTTP request의 message body에 나타나게 됩니다.

참고
https://im-developer.tistory.com/166

profile
개발자를 꿈꾸는 학생입니다!

0개의 댓글