스펙 차이
|
GET |
POST |
캐시 |
⭕️ |
❌ |
브라우저 기록 |
⭕️ |
❌ |
북마크 추가 |
⭕️ |
❌ |
데이터 길이 제한 |
⭕️ |
❌ |
HTTP 응답 코드 |
200(Ok) |
201(Created) |
언제 주로 사용하는가? |
리소스 요청 |
리소스 생성 |
리소스 전달 방식 |
쿼리스트링 |
HTTP Body |
idempotent(멱등성) |
⭕️ |
❌ |
GET과 POST의 특징
GET의 특징
- GET은 불필요한 요청을 제한하기 위해 요청이 캐시될 수 있다.
- 파라미터에 내용이 노출되기 때문에 민감한 데이터를 다룰 때 GET 요청을 사용해서는 안된다.
- GET 요청은 브라우저 기록에 남는다.
- GET 요청을 북마크에 추가할 수 있다.
- GET 요청에는 데이터 길이에 대한 제한이 있다.
- Get 요청은 성공시, 200(Ok) HTTP 응답 코드를 XML, JSON뿐만 아니라 여러 데이터(html, txt등..), 여러 형식의 데이터와 함께 반환한다.
- GET 요청은 멱등성을 가진다.
Post의 특징
- POST 요청은 캐시되지 않는다.
- POST 요청은 브라우저 기록에 남아 있지 않는다.
- POST 요청을 북마크에 추가할 수 없다.
- POST 요청에는 데이터 길이에 대한 제한이 없다.
- Post 요청 중 자원 생성은 201(Created) HTTP 응답 코드를 반환한다.