면접에서 자주 나오는 질문인 것 같다.
GET
- Select의 성향을 가지고 있다. 서버에서 어떤 데이터를 가지고 와서 보여주는 용도이지 서버의 값이나 상태를 바꾸지는 않는다.
- 요청을 전송할 때 필요한 데이터를 Body에 담지 않고, URL의 끝에 쿼리스트링을 통해 전송한다.
- 전송하는 길이에 제한이 있다.
- 동일한 요청을 여러 번 수행하더라도 동일한 응답이 와야한다.
POST
- 서버의 값이나 상태를 바꾸기 위해서 사용한다.
- 요청을 전송할 때 Body에 담아서 전송한다.
- HTTP 메세지의 Body는 길이의 제한 없이 데이터를 전송할 수 있어서 데용량의 데이터를 전송할 수 있다.
- 서버에게 동일한 요청을 여러 번 전송해도 응답은 항상 다를 수 있다.
참고