GET과 POST의 차이점 본문
'GET은 가져오는 것이고 POST는 수행하는 것'
GET은 서버에서 어떠한 값이나 상태등을 가져오기만 하고 바꾸지 않음
해당 요청을 몇번을 수행해도 결과가 동일하다 (idempotent)
주소줄 뒤에 ?이후 값이 이어붙는 형태 (http://url/bbslist.html?id=5&pagenum=2)
POST는 서버의 값이나 상태를 바꾸기 위해서 사용 (Create, Delete, Update)
해당 요청을 수행하면 동일한 결과를 보장못함 (non-idempotent)
값이 body안에 숨겨져서 보내지는 형태여서 파라미터가
비교적 덜 노출된다.(form을 이용해서 submit)
GET과 POST의 차이점을 인지하지않고 막 사용하는 경우
Google Accelerator 사건과 같은 문제가 발생할 수 있다.
POST로 구현되어야할 Delete가 GET으로 구현되어 Accelerator가 웹페이지를
GET으로 가져올때 충돌이 생겨 링크의 메일이나 게시글이 마구 지워지는 사태가 발생했다.
이외에 GET은 브라우저에 캐시될 수 있어 캐쉬에 의해 서버에서 자동으로 동일한 글을
또 작성하는 동작이 발생할 수 있다. 또한 크롤러들이 GET을 요청할 때 엉뚱한 데이터로 글이
작성된다던가 서버 데이터가 바뀐다던가의 문제가 발생할 수 있다.
출처: http://interconnection.tistory.com/72
http://www.letmecompile.com/get-post-%EB%B0%A9%EC%8B%9D-%EC%B0%A8%EC%9D%B4%EC%A0%90/
'Study > WEB' 카테고리의 다른 글
SQLi 기록 (0) | 2019.07.11 |
---|---|
XSS(Cross-Site Scripting) 종류 및 특징 (0) | 2019.03.14 |
Chrome DevTools (크롬 개발자 도구) (0) | 2019.02.15 |
SSL/TLS와 HTTPS (0) | 2017.11.23 |
자바스크립트 참고 (0) | 2017.07.14 |