문제

프로젝트를위한 간단한 HTTP 서버를 구축하고 있습니다. 대부분의 웹 사이트에는 사용자 정의 404 오류 페이지가 있습니다. 때로는 Firefox가 일반 404 페이지 (또는 405 등)를 뱉는 것을 볼 수 있습니다. 무엇을 해야하는지 어떻게 결정합니까? HTTP 응답은 무엇이어야합니까? "http/1.0 404는 충분하지 않습니까?"

감사

도움이 되었습니까?

해결책

따라서 Firefox는 대부분의 상황에서 Generic 404 오류 페이지를 표시하지 않습니다. 인터넷 익스플로러를 생각하고 있습니다. 웹 사이트의 404 페이지가 특정 크기 미만이고 자체적으로 표시되는 경우 웹 사이트의 404 페이지를 무시합니다.

다른 팁

서버가 요청 된 리소스 (예 : 웹 페이지)를 찾을 수없는 경우 http/1.0 404는 찾을 수 없습니다 HTTP 헤더 섹션에서.

서버는 매핑 할 수 있습니다 이 오류에 대한 오류 페이지이므로 읽을 수있는 오류 페이지를 얻을 수 있습니다. 브라우저도 매핑 할 수도 있습니다 자체 오류 페이지이므로 브라우저 별 오류 404 메시지를 볼 수 있습니다.

에서 오류 코드를 볼 수 있습니다 로그 파일의 상태 필드.

당신은 할 수 있습니다 사용자를 리디렉션하십시오 이 구조가있는 특정 페이지로 :

<HTML>
<head>
<meta HTTP-EQUIV="Refresh" CONTENT="5; URL=not404.htm">
</head>
</HTML>

자세한 내용을 참조하십시오 404 오류 페이지 .com에 오신 것을 환영합니다

404 응답 코드로 HTML 본체를 반환하는 것이 완벽하게 유효합니다. 본문이 제공되지 않으면 브라우저에 기본 페이지가 표시됩니다.

  1. 만 보내는 경우 http/1.0 404는 찾을 수 없습니다 브라우저 기본값이 표시됩니다.
  2. 응답에 본문을 추가하면 브라우저가 주로 사용합니다.

HTTP 서버를 작성하는 경우 프로토콜을 설명하는 RFC를 살펴볼 수 있습니다. http://www.faqs.org/rfcs/rfc2616.html

404 상태 코드의 경우 다음과 같습니다.

서버는 요청 -URI와 일치하는 것을 찾지 못했습니다. 아니
조건이 일시적인지 또는
영구적 인. 서버가 내부적으로 구성 가능한 일부 메커니즘을 통해 기존 리소스를 영구적으로 사용할 수없고 전달 주소가 없다는 것을 알고있는 경우 410 (GONE) 상태 코드를 사용해야합니다. 이 상태 코드는 일반적으로 서버가 요청이 거부 된 이유를 정확하게 공개하지 않거나 다른 응답이 적용되지 않는 경우 일반적으로 사용됩니다.

브라우저가 각 상태 코드를 어떻게 처리하는지 제어 할 수 없으며, 좋은 행동에 의존합니다.

즉, 기존 HTTP 서버 중 하나를 사용하면 혜택을 볼 수 있습니다. 이거 봐요 의문 며칠 전에 게시 된 C 또는 C ++에서 HTTP 서버를 만드는 방법에 대해

일반적으로 웹 서버에 설정됩니다 (즉) : 서버가 404를 가져 오면이 페이지를 참조하십시오.

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