Django - 번외 (Get, Post의 차이)

고건·2023년 5월 24일
0

Django

목록 보기
9/10
post-custom-banner

이건 강의 내용은 아니고, Get 방식과 Post 방식의 차이가 이해가 잘 안돼서 추가로 찾아보면서 정리를 해봤다.

일단 요약을 하면, Get 요청은 서버로부터 정보를 얻는 데 사용되고 Post 요청은 서버에 데이터를 제출하거나 변경하기 위해 사용되는거란다.
그래도 이해가 잘 안돼서 ChatGpt에게 비유적으로 설명을 해달라했다.
만약 내가 레스토랑을 방문했다고 가정했을때 Get 요청은 '메뉴를 보고 주문'하는 것과 비슷하다고 한다.
내가 서버에게 무엇을 얻기를 원하는지 말하고 서버는 그 요청에 대한 응답을 돌려주지만 서버는 주문을 수정하거나 변경하지 않고 단순히 요청된 데이터를 가져와 응답으로 보내준다.

반면에 Post 요청은 '주문서에 적어서 주문' 하는 것과 비슷하다고 한다.
주문서에 자세한 정보를 작성하고 서버에 제출하면, 서버는 그 정보를 받아들여 주문을 처리하고 그에 따른 응답을 돌려주며 서버는 주문을 생성, 수정 또는 삭제할 수 있다.
그리고 Get 요청은 데이터 노출의 위험이 있어서 Post보다 위험하다고 한다.

Get은 가져온다는 개념이고, Post는 수행한다는 개념!!

즉, Get은 서버에서 어떤 데이터를 가져와서 보여줄 때 사용한다. 어떤 값이나 내용, 상태 등을 바꾸지 않는 경우에 사용을 하는 것이다.
이에 비해, Post는 서버상의 데이터 값이나 상태를 바꾸기 위해서 사용한다.
게시판으로 예를 들자면, 글의 내용에 대한 목록을 보여주는 경우나, 글의 내용을 보는 경우는 Get에 해당한다.
그리고 글의 내용을 저장하고, 수정할 때에 Post를 사용하는 것이다.
그러니까 CRUD에서 R만 Get이고, 나머지는 Post인듯..?
post-custom-banner

0개의 댓글