문제

하나 이상의 고유 식별자가 있기 때문에 리소스 중 하나에 대해 여러 URI가있는 RESTful 웹 서비스를 구축하고 있습니다.서버가 리소스를 반환하여 대체 URI에 대한 GET 요청에 응답해야합니까, 아니면 HTTP 3xx 리디렉션을 표준 URI로 보내야합니까? HTTP 303 (참조) 이 가장 적절한 리디렉션인가요?

설명 : HTTP 사양은 리디렉션 선택이 향후 요청에서 사용해야하는 URI에 따라 달라짐을 분명히합니다.내 응용 프로그램에서 '표준'URI는 대안 중 가장 안정적입니다.대체 URI는 항상 동일한 표준 URI로 연결되거나 유효하지 않게됩니다.

도움이 되었습니까?

해결책

개인적으로는 리다이렉션을 사용하는 것보다 리소스를 반환하는 것이 통통 할 것입니다.하지만 그 이유는 내 서브 코셔 스가 리다이렉트 속도가 더 느리다고 말하기 때문일뿐입니다.

그러나 리디렉션을 사용하기로 결정했다면 302 또는 307이 303보다 더 적절할 것이라고 생각합니다. w3.org 에는 사용할 수있는 다양한 리디렉션 코드에 대한 세부 정보가 있습니다.

다른 팁

W3C의 Architexture of the World Wide Web, Volume One 아래에 섹션이 있습니다.다음을 나타내는 URI 별칭 ( 섹션 2.3.1 ) :

"URI 별칭이 공통된 통화가되면 URI 소유자는 서버 측 리디렉션과 같은 프로토콜 기술을 사용하여 두 리소스를 연결해야합니다. URI 소유자가 별칭이 지정된 URI를 해당"공식적으로 "리디렉션하는 것을 지원할 때 커뮤니티 이점이 있습니다."URI. 리디렉션에 대한 자세한 내용은 RFC2616 의 섹션 10.3, 리디렉션을 참조하세요.. 서버 관리자를위한 몇 가지 모범 사례에 대한 논의는 CHIPS 를 참조하십시오. "

가치가있는 경우 302 리디렉션을 권장합니다.

Ubiguchi의 답변은 응답 코드에 대한 HTTP 1.1 사양 섹션에 대한 링크를 통해 리디렉션이 갈 길이라고 생각하는 것을 제외하고는 제가 필요한 것을 가지고있었습니다.내가 리디렉션하는 URI가 더 '정확하고'안정적이므로 향후 요청에 사용해야하기 때문에 실제로 301 리디렉션이 필요합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top