[Network] POST and GET

yongkini ·2021년 9월 24일
0

Network

목록 보기
1/5

HTTP 를 이용하는 두가지 http 메서드 POST, GET에 대하여

1) POST : POST는 개발자로 일할 때도 많이 썼지만(axios.post를 쓰면서) body에 데이터를 담아서 보내며, body에 담은 data에 따라 서버에서 다른 처리 로직을 통해 각기 다른 데이터를 받게 된다. 혹은 단순히 서버의 어떤 값을 수정하는 목표로도 쓰일 수 있다(주로 PUT을 쓰긴 하지만). GET 방식에 상대적으로 큰 데이터를 담을 수 있고, 보안도 조금은 더 향상되지만(대놓고 보여지지는 않기에), 보안 부분에 있어서는 사실 POST, GET 둘다 취약한 것은 마찬가지이다.

2) GET : GET은 url 파라미터에 데이터를 담아서 쓰고, 주로 데이터를 받는 목적으로만 쓰는 메서드이다. url 파라미터에 데이터를 담기 때문에 유저에게 해당 정보가 노출되므로, 보안이 중요한 정보는 담지 않도록 한다. 또한, url에 담기 때문에 데이터의 크기에도 한계가 있다. 뿐만 아니라 GET 방식을 쓰면 브라우저에서 캐싱을 할 수 있기 때문에 원하지 않는 결과가 나올 수 있다. 사실 나도 경험했는데, 나의 경우 기획전 id를 계속해서 바꿔주고, SPA에서 페이지가 바뀔 때마다 바뀐 id를 체크해서, 서버에 새로운 id를 바탕으로 axios.get요청을 보내도록 했는데, 새로운 id로 갱신이 되지 않는 문제가 발생했다. 지금 생각해보면, 그 때 그 문제는 브라우저가 url파라미터 정보를 캐싱하기 때문에 발생했던 문제라고 할 수 있다.

profile
완벽함 보다는 최선의 결과를 위해 끊임없이 노력하는 개발자

0개의 댓글