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 |
댓글