인프런 커뮤니티 질문&답변

hsg0208님의 프로필 이미지

작성한 질문수

모든 개발자를 위한 HTTP 웹 기본 지식

post put 재질문 드립니다

작성

·

151

0

강의 잘듣고 있습니다.

put post가 응답오류의 경우 재전송 과정에서 차이가 난다는 것을 이해 했습니다.

그런데 제가 예전에 express로 개발을 진행했을때는 

예를 들어 app.post app.put 이런식으로 메소드를 만들고 해당 메소드와 url 에 대해서 코드를 작성을 하면

이게 결과적으로 어떤 차이가 있는지 와닿지 않습니다. dbms를 쓴다고 했을 때 결국에 query문으로 똑같이 접근을해서 데이터베이스에 저장을 하는건데 요청을 여러개 해도 쿼리에는 insert나 update문으로 작성을 하는것인데, 결과적으로 보면 메소드 차이가 아니라 개발자가 구현을 어떻게 하느냐에 따라서 달라지는 게 아닌가 의문이 들어서 질문합니다!

답변 2

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. hsg0208님

예제를 바꾸어서, GET의 경우도 같습니다. GET을 사용해도 데이터베이스에서 데이터를 변경하거나 삭제할 수 있습니다.

하지만, 클라이언트와 서버간에 약속인 것이지요.

POST는 멱등하지 않지만, PUT은 멱등해야 합니다.

POST는 중복 호출하면 안되지만 PUT은 중복호출해도 동일한 결과가 반영되도록 설계되어야 합니다.

예를 들어서 클라이언트 개발자가 timeout이 발생했을 때 POST는 다시 요청을 하면 안되지만, PUT은 다시 요청을 해도 된다고 생각할 수 있습니다.

도움이 되셨길 바래요^^

0

hsg0208님의 프로필 이미지
hsg0208
질문자

답변 감사합니다!

hsg0208님의 프로필 이미지

작성한 질문수

질문하기