인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

jinyoungchoi95님의 프로필 이미지
jinyoungchoi95

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

HTTP 요청 파라미터 - 쿼리 파라미터, HTML Form

GET 쿼리파라미터와 POST HTML Form차이

작성

·

191

0

 안녕하세요. 강의를 열심히 수강 중인 수강생입니다!

 서블릿때도 의아한 상태에서 넘어갔지만 다시 내용이 나와 여쭈어 보고자 글 남깁니다.

 GET 파라미터와 POST HTML Form 방식의 동작 구조는 설명해주신 내용을 잘 이해했으나 예시에서 GET과 POST가 각각 다른 상황에 쓰이는데 둘을 구분해서 사용하는 이유가 혹시 구체적으로 무엇인지가 궁금합니다.

 감사합니다.

답변 1

9

HTTP 메서드 단어에서 그 이유를 유추해볼 수 있습니다.  GET은 '무엇인가를 가져오다'는 뜻이고 'POST'는 '(게시판 따위에) 올리다' 라는 의미의 단어입니다.  HTTP 메서드의 '원래 용도'에 맞게 사용하기위해 GET과 POST를 구분해서 사용하는것입니다.

이와 관련된 썰로 '구글 Accelelator 사건'이 있습니다.

간단히 설명드리면 어떤 홈페이지에 접속했을때, 브라우저가 내부적으로 GET방식의 링크를 모두 추출, 그 링크를 한번씩 다 클릭합니다(사용자 몰래). 그래서 사용자가 이용할법한 다음 페이지를 미리 로딩해놓고, 빠르게 샥! 하고 보여주자는 아이디어 였습니다. 아이디어는 훌륭했으나 사람들은 GET과 POST를 '원래 용도'대로 사용하지 않았죠. GET 방식으로 삭제를 구현하기도 하고, GET으로 데이터 입력을 구현하기도 하였습니다. (사실 요즘도 GET방식의 삭제는 많이 사용하고 있습니다) 그래서 사용자가 홈페이지에 접속하면 데이터가 자꾸 삭제되는 황당한 일이 터졌습니다.

현재도 HTTP 메서드를 모두 명확히 구분해서 사용하지는 않고 있습니다. 그러나 적어도 GET과 POST만큼은 용도를 구별해서 사용하는게 지금의 관습입니다.

김영한님의 프로필 이미지
김영한
지식공유자

codesweaver님 감사합니다^^

답변 감사합니다!

jinyoungchoi95님의 프로필 이미지
jinyoungchoi95

작성한 질문수

질문하기