(펌)개념 정리
Http 메서드 중, Get과 Post의 차이점
ble194
2022. 11. 10. 15:42
Get은 Idempotent하게, Post는 Non-Idempotent하게 설계되었습니다. 쉽게 말해 Get은 몇 번을 요청해도 동일한 응답이 돌아와야 한다는 것을 의미하고, Post는 동일한 응답이 돌아오지 않는 것을 의미합니다.
이에 따라 Get은 서버의 데이터나 상태를 변경 시키지 않아야 하기 때문에 주로 조회를 할 때 사용됩니다.(ex. 웹페이지 열어보기, 게시글 읽기 등 조회, 원하는 페이지로 이동) 조회를 하기 위해서는 해당 링크의 정보가 필요한데, GET은 요청을 전송할 때 필요한 데이터를 Body가 아닌 쿼리스트링을 통해 URL로 전달을 합니다. 반면에 POST는 데이터를 HTTP 메세지의 Body에 담아서 전송합니다. Post의 경우에는 파라미터가 Body에 포함되어 있기 때문에 링크 정보를 가져 올 수 없습니다. Get은 URL에 파라미터를 가지고 있기 때문에 링크를 걸 때 URL에 해당 파라미터를 붙여준다면 추가적인 정보를 붙여 상세한 링크를 걸 수 있습니다. 그래서 Post의 경우에는 조회가 아닌 서버의 상태나 데이터를 변경할 때 사용됩니다. (ex.게시글을 쓰면 서버에 글이 저장됨) POST의 경우 HTTP 메세지의 Body가 길이의 제한이 없기 때문에 대용량 데이터를 전송할 수 있습니다.
출처 - https://hongsii.github.io/2017/08/02/what-is-the-difference-get-and-post/