post 관련 질문드립니다.
158
작성한 질문수 34
안녕하세요! 항상 좋은 강의 감사드립니다 ^^
post 와 put 신규등록을 하는 경우가 헷갈리는데요
클라이언트가 등록될 리소스의 uri를 모르는 상황이라고 설명해주셨는데 예를들어 회원을 가입할 때 회원 id는 유니크 해야되고 사용자가 회원 id를 입력을 합니다 ( ex: testid)
클라이언트는 본인이 입력한 id이기 때문에 알고 있습니다.
/member/testid
그리고 거꾸로 파일을 등록할땐 (ex : test.jpg)를 등록하면 서버에는 동일한 파일명이 존재할 수 있으니 식별자를 알 수 없고등록후에 test.jpg와 매핑된 아이디를 전달받아야 됩니다. 이런 상황이라면 예시와 똑같은 업무지만 post와 put 을 거꾸로 적용하면 될까요?
답변 1
0
안녕하세요. jung님
이 부분에서는 2가지 기준을 가지고 판단을 해야 합니다.
1. 리소스를 식별할 수 있는 기준을 클라이언트(PUT)가 가지고 있는가 서버(POST)가 가지고 있는가
2. 리소스를 변경할 때 클라이언트가 해당 리소스의 모든 데이터를 다 보낼 수 있는가(PUT)
예시로 들어주신 member의 경우 1번은 맞지만, 2번에서 (실제 수정하는 상황을 떠올려 보면)애매합니다. 따라서 POST를 사용하는 것이 더 나은 선택이라 생각합니다.
예시로 들어주신 파일의 경우 식별자를 서버에서 만들기 때문에 1번에서 기준이 애매하므로 POST를 사용하시면 됩니다.
1번만 생각해보면 PUT을 사용해도 될 것 같지만, 2번 때문에 실제 프로젝트에서 PUT을 사용하는 일은 매우 적고, 대부분 POST로 진행하게 됩니다.
(파일 업로드를 하면서 클라이언트가 지정한 파일명을 기준으로 리소스 URI가 생성된다면 PUT이 적합합니다.)
감사합니다.
캐시 관련 질문입니다.
0
615
1
ETag 질문입니다.
0
725
1
캐시의 설정 주체
0
533
1
영속쿠키 질문입니다.
0
502
1
협상(accept-language)
0
684
1
에러 코드의 구현 주체
0
436
1
웹서버가 구현?
0
594
1
필수헤더?
1
557
1
Host와 Port
0
771
1
다른 도메인이 같은 포트를 사용하는 경우
0
1257
1
표준 헤더와 임의 헤더
0
529
1
POST 등록 후 Location 헤더
0
566
1
프로세스의 상태가 변경되는 경우에 Post 사용
1
1807
1
지속연결에 대해서.
0
689
1
제가 아는 쿼리 파라미터 개념이 맞는지 확인 부탁드립니다.
0
590
1
캐시 내용중 no cache 일때
0
355
1
DNS 서버 관련 질문
1
744
1
캐시로 저장된 파일의 유효기간은 얼마나 되나요?
0
656
1
웹브라우저 요청흐름 질문입니다.
0
844
1
캐시 무효화 질문드립니다
0
558
1
리다이렉트와 리다이렉션 차이?
0
2589
1
쿠키 및 세션 관련 질문드립니다
0
584
1
HTTP 메서드 ( HTTP 메서드의 속성 파트 ) 강의의 멱등 내용에 대하여 질문드립니다.
0
1639
1
header 나 gzip으로 데이터 보낼떄 데이터는 base64로 인코딩되서 가는 건가요?
0
478
1





