이 상황에 대한 의미 적으로 올바른 HTTP 응답 코드는 403 Forbidden입니다 .
서버가 요청을 이해했지만 요청 이행을 거부하고 있습니다. 승인은 도움이되지 않으며 요청을 반복해서는 안됩니다. 요청 방법이 HEAD가 아니고 서버가 요청이 이행되지 않은 이유를 공개하기를 원한다면, 엔티티에서 거절 이유를 설명해야한다. 서버가이 정보를 클라이언트가 사용할 수 없게하려면 상태 코드 404 (찾을 수 없음)를 대신 사용할 수 있습니다.
(403 응답의 정의는 "인증이되지 도움이 될 것"IMO이로 이해되어야한다라고하지만 HTTP 기본 / 다이제스트 인증에 관해 설명 상태 코드가되는, 무단 (401)가 대신 사용한다. 당신이하고 있기 때문에 하지 사용 이러한 인증 방법 중 하나 인 경우 403이 적절한 상태 코드입니다.)
그러나 403 상태 코드를 사용 하면 서버가 해당 URL을 제공하는 것을 거부하더라도 해당 URL 이 포함 된 페이지 가 있다는 사실을 알 수 있습니다. 이것은 당신이 잠재적 인 침입자로부터 은폐 할 수 있다는 것이이 때, HTTP / 1.1 표준은 명시 적으로 허용 404 찾을 수 없음 상태 코드 (대신 반환 될 강조 광산) :
서버가 Request-URI와 일치하는 것을 찾지 못했습니다. 조건이 일시적인지 영구적인지에 대한 표시는 없습니다. 410 (Gone) 상태 코드는 서버가 내부적으로 구성 가능한 메커니즘을 통해 오래된 리소스를 영구적으로 사용할 수없고 전달 주소가 없음을 알고있는 경우 사용해야합니다.
이 상태 코드는 일반적으로 서버가 요청이 거부 된 이유를 정확히 밝히지 않거나 다른 응답이없는 경우에 사용됩니다.
물론 이러한 은폐를 효과적으로 적용하려면 반환하는 404 오류 페이지 가 존재하지 않는 실제 페이지에 대해 반환하는 것과 동일하게 나타나야합니다 . 그렇지 않으면 멍청하고 가장 우연한 공격자 만 속일 것입니다. (목표가 페이지를 Google 색인에서 제외시키는 것이라면 403 응답도 마찬가지입니다.)
질문에 제안 된 다른 가능한 답변과 다른 답변은 어떻습니까?
앞서 언급했듯이 여기에서는 401 응답이 적합하다고 생각하지 않습니다. 그것은 수 있습니다 대부분의 브라우저로하는 한, 실제로 일을하고 엔진이 어떤 잘못되었거나 알 수없는 4 처리합니다 검색 XX 가 404 인 것처럼 일련의 응답 코드를, 그러나에 따라 여전히 유효 아니다는 HTTP 사양, 그리고 선호하는 실질적인 이유가 없다 403 또는 404 이상.
별도의 "404 오류"페이지로 301 (또는 302) 리디렉션을 사용하는 경우, 이는 조잡한 mod_rewrite 자습서에 의해 끔찍한 연습이며 404 응답을 직접 반환하는 것과 비교하여 상환 기능이 전혀 없습니다.
방문 하려는 URL이 오류 페이지의 URL로 대체되어 방문자에게 혼란을 줍니다. 따라서 존재하지 않는 페이지에 도달했다는 메시지가 표시되지만 방문하려는 페이지 가 무엇인지 쉽게 알 수 없으므로 URL에 오타 수정과 같은 복구 전략을 쉽게 시도 할 수 없습니다. 또는 Google 또는 Wayback Machine에 복사하여 붙여 넣기
특히 404 페이지가 robots.txt 에서 허용되지 않거나 실제 404 상태 코드 ( "soft 404" ) 대신 200 OK 응답을 잘못 반환하면 검색 엔진이 혼동 될 수 있으며 이로 인해 404 페이지가 검색에 나타날 수 있습니다 임의 검색어에 대한 결과.
존재하지 않는 (또는 은폐 된) 페이지에 대한 모든 요청에 이제 추가 HTTP 라운드가 포함되므로 서버에 (소량의) 추가로드가 발생하고 방문자에 대한 응답 시간이 증가하며 사이트를 크롤링하는 검색 엔진 속도가 느려질 수 있습니다. 여행.
404 페이지로 리디렉션 된 페이지의 "링크 주스"가 손실되므로 SEO 혜택이 없습니다.
(물론, 당신은 하나의 상황 수행은 실제로 페이지가 될 때 404 응답 대신 301 리디렉션을 사용하고자 했다 이동, 당신은 올바른 위치에 방문자를 리디렉션 할 수 있습니다.하지만 그 사건은 여기서 논의하지 않습니다.)
마지막으로, 여기에 많은 의견으로 표현 된 것처럼, 단순히 이와 같은 관리자 페이지를 "숨기는"것은 적절한 암호 기반 인증을 위한 적절한 대체물 이 아니라는 감정을 반영하고 싶습니다 . 즉, 말했다 경우 이미 보안 인증 시스템이에, 페이지가 상당히 약한 불구하고, 별도의 층으로 유용 할 수 있습니다 숨어 설정이 깊이 방어 방법.