웹 프로그래밍

GET과 POST 정리

728x90
반응형

현재 이해하고 있는 내용과는 별개로 뭘 언제써야하는지는 계속 확 와닿지를 않는다. 

간단하게 알고있는 부분은 아래와 같다. 

  • GET과 POST는 HTTP 프로토콜을 이용해 서버에 데이터를 전달할때 사용하는 방식이다.
  • GET은 주소뒤 ? 뒤에 값이 붙어 전달되고 POST는 body안에 보내진다
  • GET은 URL뒤에 값이 붙는거기때문에 길이제한이 있지만 POST는 그렇지않아 많은 데이터를 보내기 적합하다.
  • 주소뒤에 붙어서 가는건 GET, form이용해서 submit하는건 POST

하지만 여기서 고민하고자하는것은 그래서 언제 GET쓰고 언제 POST쓰는가? 이다. 사실 글을 작성하는 정도면 POST, 그럭저럭해보이면 대충 GET을 쓰면 되겠다 싶었다. 하지만 용도구분없이 혼용하는 일이 잦아지기전에 구분해두려한다.

 

GET은 가져오고, POST는 수행한다.

우선은 이게 가장 명확한 구분인 것 같다. GET은 서버에서 데이터를 가져와 보여주는 용도이지 서버의 값이나 상태에 변화를 주지 않는다. 따라서 게시글 필터를 만들때도 GET을 이용했다. 하지만 POST는 서버의 값이나 상태를 바꾸기 위해 사용한다. 글을 쓰면 저장되고 수정을 하면 저장된다. 이럴땐 POST를 쓴다.  

내가 만약 글 삭제를 GET으로 구현했다고 치자. 그럼 사용자는 URL만 붙여넣어서 바로 삭제해버릴수 있다. 

정리를 하고 보니 당연한 것을 고민했다는 생각이든다. 보안문제가 아니라 GET과 POST는 사용목적자체가 다르다.

 

728x90
반응형

'웹 프로그래밍' 카테고리의 다른 글

Django form에 대한 정리  (0) 2021.07.25
Django Transaction  (0) 2021.07.20
Django Model - OneToOneField  (0) 2021.07.19
[AWS (5)] AWS HTTPS 설정  (0) 2021.07.17
[AWS (4)] AWS 도메인 연결  (0) 2021.07.17