HTTP - POST와 PUT 차이

namkun·2022년 1월 25일
0

서버개발

목록 보기
5/7

공부하면서 깨달음을 얻은 것에 대해 정리해보자.


POST

post 는 client가 리소스의 URI를 모르고 있어도 된다.

예를 들어보자.

클라이언트가 POST 로 회원가입 요청을 하면, 서버에서는 해당 요청을 받아서 회원을 생성하고, 해당 회원의 URI를 서버가 직접 생성한다.

예를 들면 해당 회원의 정보를 조회하기 위해 필요한 식별자인 회원번호같은 것을 이야기한다. members/1 이렇게 말이다.

이렇게 서버가 직접 URI를 생성하고 관리하는, 서버가 관리하는 directory를 우리는 collection 이라고 하기도 한다.


PUT

put은 client가 리소스의 URI를 알아야만 한다.

예를 들어보자.

파일 저장 시스템이 있다. client가 PUT으로 파일 저장을 요청한다.

그러면 단순하게 아무런 식별정보도 주지않는 것이 아니라, PUT file/{file_name} 이렇게 요청을 준다.

이렇게 post와 반대로 client가 직접 관리하는 리소스 저장소를 Store 라고 한다.


결론

리소스의 결정권이 어디에 있느냐에 따라서 post와 put을 구분할 수 있다.

추가로, 앞서 이야기했었던 멱등성 으로 이야기 할 수 있는데,

post 요청은 매번 보낼때마다 뭔가 생성이 되니, 멱등성을 갖지 않는다고 할 수 있고,

put 요청은 매번 보낼때마다 같은 결과값을 가지니, 멱등성을 갖는다고 할 수 있다.

profile
개발하는 중국학과 사람

0개의 댓글