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

dasol199님의 프로필 이미지
dasol199

작성한 질문수

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

HTTP API 설계 예시

PUT 메서드의 스토어 관련 질문 드립니다.

해결된 질문

작성

·

488

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
파일을 저장할 시에는 클라이언트가 리소스의 URI를 생성하기 때문에 PUT을 이용하여 등록한다고 말씀해주셨습니다.

이미지 파일을 DB에 등록하고 클라이언트가 해당 파일의 이름으로 URI를 생성하였을 때, /files/star.jpg 다른 유저가 다른 이미지 파일을 같은 star.jpg로 등록하게 된다면 DB의 이미지가 변경되지 않나요?

PUT은 완전히 대체되기 때문에 위와 같은 상황이 벌어지는 것으로 이해했는데 클라이언트가 URI를 지정한다는 것이 이해가 되지 않습니다. 잘못 이해한 부분이 있을까요?

 

답변 1

0

안녕하세요, dasol199 님! 공식 서포터즈 codesweaver 입니다.

말씀하신것처럼 중복 자료를 덮어씌울 위험이 있습니다.

그런 문제를 서버가 관리하지 않고 클라이언트가 알아서 해결해야 하기에

리소스를 클라이언트가 관리한다고 표현한 것입니다.

 

보통 POST로 전송하는 경우 클라이언트는 리소스 생성 요청을 하고

서버가 임의로 생성한 뒤(사용자별 별도의 폴더를 관리하는 등, 데이터가 중복되지 않게 여러가지 로직이 들어갑니다) 결과를 클라이언트에 응답하는 형식을 취합니다

감사합니다.

dasol199님의 프로필 이미지
dasol199

작성한 질문수

질문하기