Django를 통해 API를 구현하는 중에 POST로 들어오는 요청을 views.py에서 POST로 받는 것과 GET으로 들어오는 요청을 GET으로 받았을 때 결국 같은 함수를 돌리게 되는 것인데 어떤 차이가 있을까? 하는 의문에서 작성하게 되었다.
GET 과 POST 모두 DATA 전달이라는 기능적인 측면에서는 본질적으로 같다고 볼 수 있다.
차이점을 중점으로 각 METHOD의 특징을 나열하면 다음과 같다.
실제로 이러한 차이들을 염두에 두고 더 적절한 요청의 METHOD를 사용해야 할 상황을 겪어보지 않았기 때문에 했던 고민인 것 같다. 아마 실질적으로 프론트분들과 함께 협업을 하여 프로젝트를 진행하거나 실무에 들어가면 당연히 자연스럽게 고민하고 알아가야 했던 것들이지 않았을까 하는 생각이 든다.
참고:
Idempotent 란 여러 번 연산하여도 같은 결과가 나오는 성질을 의미하며, 이 경우 GET METHOD는 동일한 요청을 보냈을 때 동일한 응답이 나오고, POST는 그렇지 않을 수 있음을 뜻한다.