면접에서 받은 질문이고, 네트워크의 기초적인 질문이였지만 내가 부끄러운 대답을 했음을 알게 해주었다.
그래서, 다시한번 Get과 Post의 차이점과 각각의 특징을 다시 공부하면서 작성해보려고 한다.
Get과 Post는 HTTP 프로토콜을 이용해서 서버에 요청
할때 사용하는 방식이라는 것을 알고 있을 것이다.
Parameter
를 붙여서 서버로 정보를 요청한다.(query string으로 전달) 대용량의 데이터
를 전송하기에 적합
하다.get은 서버에 데이터 요청할때 사용하고,
post는 새로 생성 또는 업데이 할때 사용한다.
get은 URL parameter에 데이터를 전달하므로 body가 없고,
post는 body에 데이터를 담아서 전달하므로 body가 있다.
동일한 요청을 한 번 보내는 것과 여러 번 연속으로 보내는 것이
같은 효과(결과)
를 지니고,서버의 상태도 동일
하게 남을 때, 해당 HTTP 메서드가 멱등성을 가졌다고 말합니다.
멱등성 O : PUT, DELETE, TRACE, GET, HEAD, OTIONS
멱등성 X : POST
get
방식은 동일한 요청을 해도, 동일한 응답이 나오는 반면
post
방식은 동일한 요청(ex.동일한 유저의 회원가입)을 최소 2번이상 진행할 경우, 동일한 유저를 여러번 회원가입 시키지 않는다.(즉, 첫 요청시 회원가입 성공, 두번째 요청부터 이미 가입된 유저 라는 답변)