본문 바로가기
  • soobinhand의 기술 블로그
Computer Science/네트워크

[네트워크] GET과 POST 차이

by soobinhand 2022. 1. 25.
728x90

우선 둘 다 HTTP 메소드로 클라이언트에서 서버로 무언가를 요청할 때 사용된다.

GET

클라이언트에서 서버로 어떠한 리소스로부터 정보를 요청하기 위해 사용되는 메소드다.

예를 들면 게시판의 게시물 조회.

GET을 통한 요청은 URL 주소 끝에 파라미터로 포함되어 전송되며 이 부분이 쿼리 스트링이다.

방식은 URL 끝에 ? 를 붙이고 그 다음 형식에 맞게 이어 붙이면 된다.

www.soobinhand.com/show?name   = value 이런 형식이다. 

GET 요청은 캐시가 가능하다.

GET은 브라우저 기록에 남음. 북마크 추가 가능. 데이터 길이에 제한.

멱등법칙이 성립함.

 

POST

리소스를 생성 및 수정하기 위해 서버에 데이터를 보내는 데 사용함.

보안이 GET보다는 좋음.

GET과 달리 전송해야할 데이터를 HTTP 메세지의 바디에 담아서 전송함.

데이터 길이의 제한이 없음. 캐시 안됨. 브라우저 기록 안남음. 북마크 추가 불가능. 

멱등법칙이 성립하지 않음.

 

  GET POST
캐시 O X
브라우저 기록 O X
북마크 추가 O X
데이터 길이 제한 O X
언제 사용? 리소스 요청 리소스 생성
리소스 전달 방식 쿼리 스트링 HTTP Body
멱등 O X

 

멱등법칙

연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 의미한다.

GET이 멱등하게 설계되었다는 것은 서버에게 동일한 요청을 수 천 번 하더라도 동일한 응답이 돌아와야 한다는 것을 의미한다. 

POST는 멱등적이지 않다. 그래서 서버에게 동일한 요청을 여러 번 전송해도 응답이 다를 수 있다.

728x90

'Computer Science > 네트워크' 카테고리의 다른 글

[네트워크] POST과 PUT차이 / PUT과 PATCH 차이  (0) 2022.01.26
[네트워크] HTTP와 HTTPS의 차이  (0) 2022.01.22
[네트워크] HTTP  (0) 2022.01.22
[네트워크] REST API  (0) 2021.12.01

댓글