언어/TIL ( Today I Learned )

[spring] get과 post차이

김뱅쓰 2023. 2. 4. 20:08
GET POST
GET 요청은 실패 시 될 때까지 반복한다. POST 요청은 실패 시 반복하지 않는다.
캐시 가능하다. 캐시 불가능하다.
히트토리에 남는다. 히스토리에 남지 않는다.
북마크 될 수 있다. 북마크 될 수 없다.
파라미터가 노출된다. 파라미터가 노출되지 않는다.

GET 요청은 실패 시 요청이 성공할 때까지 반복하여 요청한다.

인터넷 비연결 시 웹 페이지를 로드하면 웹 페이지가 뜨지 않다가

인터넷이 연결됐을 때 웹 페이지가 새로고침 되면서

화면에 나타나는 경우를 보았을 것이다. 이는 GET의 특성 때문이다.

 

하지만 POST가 같은 동작을 한다면 실패 시 요청이 계속 들어가고

혹여나 데이터 변형이 중복으로 적용될 수 있다. 이는 오류 발생으로 직결된다.

따라서 POST는 설계 상 실패 시 반복 요청하지 않게 설계돼있다.

이러한 차이가 있어서 리스트와 업데이트에 GET과 POST를 쓰는 것이다.