언어/TIL ( Today I Learned )
[spring] get과 post차이
김뱅쓰
2023. 2. 4. 20:08
GET | POST |
GET 요청은 실패 시 될 때까지 반복한다. | POST 요청은 실패 시 반복하지 않는다. |
캐시 가능하다. | 캐시 불가능하다. |
히트토리에 남는다. | 히스토리에 남지 않는다. |
북마크 될 수 있다. | 북마크 될 수 없다. |
파라미터가 노출된다. | 파라미터가 노출되지 않는다. |
GET 요청은 실패 시 요청이 성공할 때까지 반복하여 요청한다.
인터넷 비연결 시 웹 페이지를 로드하면 웹 페이지가 뜨지 않다가
인터넷이 연결됐을 때 웹 페이지가 새로고침 되면서
화면에 나타나는 경우를 보았을 것이다. 이는 GET의 특성 때문이다.
하지만 POST가 같은 동작을 한다면 실패 시 요청이 계속 들어가고
혹여나 데이터 변형이 중복으로 적용될 수 있다. 이는 오류 발생으로 직결된다.
따라서 POST는 설계 상 실패 시 반복 요청하지 않게 설계돼있다.
이러한 차이가 있어서 리스트와 업데이트에 GET과 POST를 쓰는 것이다.