GET
클라이언트에서 서버로 리소스 정보를 요청하기 위해 사용되는 메서드이다.
URL 주소 끝에 파라미터(query string)로 포함되어 전송된다.
특징
- 정보가 URL에 노출되므로 데이터 요청 시에만 사용해야 한다.
- 불필요한 요청은 캐시될 수 있다.
- 브라우저 기록에 남고, 북마크에 추가할 수 있다.
- 데이터 길이에 제한이 있다.
- 성공 시 200(Ok) HTTP 응답 코드 + XML,JSON 등의 데이터가 반환된다.
- idempotent
idempotent?
멱등성: 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질
GET으로 서버에게 동일한 요청을 여러 번 전송하더라도 동일한 응답이 돌아와야 하기 때문에 idempotent하게 설계된다.
POST
클라이언트에서 서버로 리소스를 생성하거나 업데이트하기 위해 사용되는 메서드이다.
특징
- GET보다 안전하지만 개발자 툴로 데이터 확인이 가능하기 때문에 암호화해서 전송해야 한다.
- 요청이 캐시되지 않는다.
- 브라우저 기록에 남지 않고, 북마크에 추가할 수 없다.
- 데이터 길이에 제한이 없다.
- 생성 시 201(Created) HTTP 응답 코드가 반환된다.