HTTP 상태 308 영구 리디렉션을 사용해도 안전합니까?


11

서버 응답에 HTTP 상태 코드 308 Permanent Redirect ( 제안 ) 를 사용하는 것이 안전 합니까? 301 Moved Permanently의 문제는 GET 요청에서만 작동한다는 것입니다 (공평하게 : POST는 옵션이 아닌 GET으로 변환됩니다).

상태 코드는 "RFC 시간"에서 매우 새롭습니다. 제안 할 것이 있습니까?

브라우저가 308을 인식하지 못하면 어떻게해야합니까? 위치를 찾고 302를 수행합니까?


당신이 생각하는 것보다 더 새로운 것; 지금은 RFC 입니다.
Michael Hampton

1
배포 고려 사항 섹션 을 읽었습니까 ?
Håkan Lindqvist

308은 표준 이 아니라 실험 단계에있는 제안입니다. 브라우저의 경우는 해야한다 그들이 구체적으로 이해하지 않는 어떤 301-399 오류의 300 해석 후퇴.
Chris S

1
어떤 시나리오에서 오래된 URL로 직접 전송 된 POST 요청이 수신됩니까?
Skyhawk

1
@Skyhawk : html5의 오프라인 기능을 사용합니다. 댓글 또는 새 게시물을 작성하려면 게시물 자체의 카테고리 수정으로 인해 대상 URL이 변경되었을 수 있습니다.
burnersk

답변:


4

308은 현재 표준 ( https://tools.ietf.org/html/rfc7538 )이지만 현재 데스크톱 응용 프로그램의 경우 안전하지 않습니다 (2019 년 4 월 3 일 기준). 그러나 일부에서는 거의 안전 할 수 있습니다. 특정 지역 (예 : 인도) 또는 태블릿 및 모바일 장치를 대상으로하는 응용 프로그램 용.

안전 부족은 Windows 7 및 8.1의 IE 11이이를 지원하지 않기 때문입니다. IE 11에서는 사이트가 중단 된 것처럼 보입니다. 운 좋게도 Windows 10과 함께 제공되는 IE는이를 지원하므로 Windows 7에서 일반 인구가 늘어날 때까지 기다리는 경우가 될 것입니다 (Win 7은 글로벌 사용 통계에서 Win 10을 능가했을뿐입니다. [편집] 또는 회사는 더 이상 지원하지 않기로 결정합니다 ( Windows 7이 장기적인 지원을 상실한 2020 년 1 월 14 일부터는 매우 강력한 사례를 만들 수 있습니다 ).

다른 모든 최신 브라우저 (Chrome, Firefox, Safari, Edge, Opera)가 지원합니다.

[편집] 결정을 내리는 데 도움이되는 2019 년 3 월의 사용 통계 :

  • 데스크톱 사용자의 36.52 %가 여전히 Windows 7을 사용하고 있습니다.
  • 데스크톱 사용자의 9.83 %가 IE를 사용하고있었습니다. Win10이 Edge를 너무 많이 밀었으므로 대부분의 사용자가 Win 7에 있다고 가정합니다. Ref netmarketshare

따라서 308을 사용하기로 한 결정은이 편집 시점 (2019 년 3/4)에 데스크톱 사용자의 5 ~ 9 % 사이에 아마도 위의 통계를 기반으로 한 추측에 영향을 미칩니다. 응용 프로그램이 태블릿 / 모바일 장치에보다 적합하다면이 값은 훨씬 낮아질 것입니다. 마찬가지로 앱이 인도 시장 전용 인 경우와 유사합니다.

브라우저가 https://webdbg.com/test/308/에서 308 리디렉션을 지원하는지 테스트 할 수 있습니다.


이것은 307과 다릅니다. Windows 7의 IE 11은 문제없이 HTTP 307을 지원합니다. (왜?)
Franklin Yu

7

https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/308

RFC 7538 제안은 오늘날 광범위하게 지원됩니다. 안전합니다.

308 대신 301. 307 대신 302.

이동! = 리디렉션

이동은 특정 주소 및 / 또는 파일 이동을 상기시킵니다. 리디렉션은 새로운 위치 또는 주소입니다.


1
현재 (2018 년 2 월 20 일) IE 11을 사용하는 Windows 7 사용자는 여전히 이것을 지원하지 않기 때문에 아직 안전하지 않습니다.
monty

@ 몬티 그 숫자는 무엇입니까? 지금이게 뭐야?
Robin Winslow

2019 년 3 월 현재 데스크톱 사용자의 36.52 %가 여전히 Windows 7에 있고 데스크톱 사용자의 9.83 %가 IE에있었습니다.
monty

2

이를 종료하려면 : 해당 상태 코드를 사용하는 것이 안전하지 않습니다. 자세한 내용은 의견을 참조하십시오.

308은 표준이 아니라 실험 단계에있는 제안입니다. 양조업자는 구체적으로 이해하지 못하는 301-399 오류에 대한 300 해석으로 돌아 가야합니다.

일부 브라우저는 해당 상태 코드에서 완전히 실패합니다.


1
답변이 오래되었습니다. RFC가 최신 브라우저 developer.mozilla.org/en-US/docs/Web/HTTP/Status/308 에서 사용 가능하고 승인 된 것으로 생각합니다 . 그러나 이전 브라우저의 지원이 필요한 경우 여전히 문제가 될 수 있습니다!
Yahya Uddin

3
IE11에서는 Win8.1 이하에서 작동하지 않습니다 (Win10에서는 작동).
Bart Verkoeijen

tools.ietf.org/html/rfc7538 "하이퍼 텍스트 전송 프로토콜 상태 코드 308 (영구 리디렉션)는"2015 년 4 월에 발표
패트릭 Mevzek
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.