🦋 GET
서버에서 특정 데이터를 가져와서 보여주는 용도
- get을 쓰면 url이 깔끔
- 요청을 전송할 때 필요한 데이타를 쿼리스트링을 통해 전송
- 전송 길이 제한O
- URL에 조회 조건을 표시하기 때문에 특정 페이지 링크or북마크 가능
- 링크에 정보가 바로 보여 보안에 취약
- URL뒤
?
뒤에 전송할 데이타 입력
- 데이타표현은 key와 value를 쌍으로 작성 (key1=value1&key2=value2)
- 멱등(idempotent) - 동일한 요청을 여러 번 해도 동일한 응답이 돌아온다
- 불필요한 요청을 제한하기 위해 요청이 캐시될 수 있다
- 한 번 요청한 것은 캐싱해두어 재요청 시 POST보다 빠르다
- 이미지같은 정적 컨텐츠는 캐시해둔다.
- 컨텐츠를 변경해도 내용이 바뀌지 않는 경우가 종종 발생해 이 때는 캐시를 지워 변경된 컨텐츠를 새로 요청해야 볼 수 있다
🦋 POST
서버의 값이나 상태를 바꾸어 데이타베이스값을 추가하거나 수정하는 것
- 많은 양의 데이터를 보낼 수 있다 (대용량 데이타 전송 가능)
- 데이타를 body로 전송
- 요청 데이타가 body에 있기 때문에 링크가 따로 없다 (북마크X)
- 비멱등(non-idempotent) - 동일한 요청을 전송해도 응답이 항상 다를 수 있다
- 생성, 수정, 삭제에 사용 가능하지만 수정과 삭제는 다른 메소드를 사용하는 것이 좋다
- 생성은 POST
- 수정은 PUT or PATCH
- 삭제는 DELETE
- GET요청처럼 URL에서 바로 데이타를 볼 수는 없지만 body를 열어서 내용을 볼 수 있다 (보안 필요)