작성
·
191
답변 1
9
HTTP 메서드 단어에서 그 이유를 유추해볼 수 있습니다. GET은 '무엇인가를 가져오다'는 뜻이고 'POST'는 '(게시판 따위에) 올리다' 라는 의미의 단어입니다. HTTP 메서드의 '원래 용도'에 맞게 사용하기위해 GET과 POST를 구분해서 사용하는것입니다.
이와 관련된 썰로 '구글 Accelelator 사건'이 있습니다.
간단히 설명드리면 어떤 홈페이지에 접속했을때, 브라우저가 내부적으로 GET방식의 링크를 모두 추출, 그 링크를 한번씩 다 클릭합니다(사용자 몰래). 그래서 사용자가 이용할법한 다음 페이지를 미리 로딩해놓고, 빠르게 샥! 하고 보여주자는 아이디어 였습니다. 아이디어는 훌륭했으나 사람들은 GET과 POST를 '원래 용도'대로 사용하지 않았죠. GET 방식으로 삭제를 구현하기도 하고, GET으로 데이터 입력을 구현하기도 하였습니다. (사실 요즘도 GET방식의 삭제는 많이 사용하고 있습니다) 그래서 사용자가 홈페이지에 접속하면 데이터가 자꾸 삭제되는 황당한 일이 터졌습니다.
현재도 HTTP 메서드를 모두 명확히 구분해서 사용하지는 않고 있습니다. 그러나 적어도 GET과 POST만큼은 용도를 구별해서 사용하는게 지금의 관습입니다.
codesweaver님 감사합니다^^