HTTP 상태 코드

@http://www.google.com/support/webmasters/bin/answer.py?hl=kr&answer=40132

사용자가 브라우저의 페이지에 액세스하거나 Googlebot이 페이지를 크롤링하는 경우와 같이 서버에 사이트 페이지에 대한 요청이 이루어지면 서버는 요청에 대한 응답으로 HTTP 상태 코드를 표시합니다.

다음 상태 코드는 요청 상태에 대한 정보는 물론 사이트 및 요청한 페이지에 대한 정보까지 Googlebot에 제공합니다.

일반적인 상태 코드는 다음과 같습니다.

  • 200 - 서버가 페이지를 표시했습니다.
  • 404 - 요청한 페이지가 없습니다.
  • 503 - 서버를 일시적으로 사용하실 수 없습니다.

HTTP 상태 코드의 전체 목록은 다음과 같습니다. 자세한 내용을 보려면 링크를 클릭하시기 바랍니다. HTTP 상태 코드에 대한 W3C 페이지를 참조할 수도 있습니다.

1xx(조건부 응답)
조건부 응답을 나타내고 요청자에게 계속 진행할 것을 요구하는 상태 코드입니다.

코드 설명
100(계속) 요청자는 요청을 계속해야 합니다. 서버는 이 코드를 제공하여 요청의 첫 번째 부분을 받았으며 나머지를 기다리고 있음을 나타냅니다.
101(프로토콜 전환) 요청자가 서버에 프로토콜 전환을 요청했으며 서버는 이를 승인하는 중입니다.

2xx (성공)

서버가 요청을 성공적으로 처리했음을 의미합니다.

코드 설명
200(성공) 서버가 요청을 제대로 처리했다는 뜻입니다. 이는 주로 서버가 요청한 페이지를 제공했다는 의미로 쓰입니다. robots.txt 파일에 대해 이 상태가 표시되면 Googlebot이 이 파일을 성공적으로 검색했다는 뜻입니다.
201(작성됨) 성공적으로 요청되었으며 서버가 새 리소스를 작성했습니다.
202(허용됨) 서버가 요청을 접수했지만 아직 처리하지 않았습니다.
203(신뢰할 수 없는 정보) 서버가 요청을 성공적으로 처리했지만 다른 소스에서 수신된 정보를 제공하고 있습니다.
204(콘텐츠 없음) 서버가 요청을 성공적으로 처리했지만 콘텐츠를 제공하지 않습니다.
205(콘텐츠 재설정) 서버가 요청을 성공적으로 처리했지만 콘텐츠를 표시하지 않습니다. 204 응답과 달리 이 응답은 요청자가 문서 보기를 재설정할 것을 요구합니다(예: 새 입력을 위한 양식 비우기).
206(일부 콘텐츠) 서버가 GET 요청의 일부만 성공적으로 처리했습니다.

3xx (리디렉션 완료)
요청을 완료하려면 추가 조치가 필요합니다. 이 상태 코드는 일반적으로 리디렉션에 사용됩니다. 요청당 5개 미만의 리디렉션을 사용하는 것이 좋습니다. 웹마스터 도구를 사용하면 Googlebot이 리디렉션된 페이지를 크롤링하는 데 문제가 있는지 확인할 수 있습니다. 진단 아래에 있는 크롤링 오류 페이지에는 Googlebot이 리디렉션 오류 때문에 크롤링하지 못한 URL 목록이 표시됩니다.

코드 설명
300(여러 선택항목) 서버가 요청에 따라 여러 조치를 선택할 수 있습니다. 서버가 요청자(User-Agent)에 따라 수행할 작업을 선택하거나, 요청자가 선택할 수 있는 작업 목록을 제공합니다.
301(영구 이동) 요 청한 페이지를 새 위치로 영구적으로 이동했습니다. GET 또는 HEAD 요청에 대한 응답으로 이 응답을 표시하면 요청자가 자동으로 새 위치로 전달됩니다. 이 코드는 페이지 또는 사이트가 새 위치로 영구적으로 이동되었음을 Googlebot에 알릴 때 사용해야 합니다.
302(임시 이동) 현재 서버가 다른 위치의 페이지로 요청에 응답하고 있지만 요청자는 향후 요청 시 원래 위치를 계속 사용해야 합니다. 이 코드는 GET 또는 HEAD 요청의 경우 자동으로 요청자를 다른 위치로 전달한다는 점에서 301과 비슷하지만, Googlebot이 계속 원래 위치를 크롤링하고 색인을 생성하기 때문에 Googlebot에 페이지나 사이트가 이동했음을 알릴 때 이 코드를 사용할 수 없습니다.
303(기타 위치 보기) 요청자가 다른 위치에 별도의 GET 요청을 하여 응답을 검색할 경우 서버는 이 코드를 표시합니다. HEAD 요청 이외의 모든 요청을 다른 위치로 자동으로 전달합니다.
304(수정되지 않음)

마지막 요청 이후 요청한 페이지는 수정되지 않았습니다. 서버가 이 응답을 표시하면 페이지의 콘텐츠를 표시하지 않습니다.

요 청자가 마지막으로 페이지를 요청한 후 페이지가 변경되지 않았으면 이 응답(If-Modified-Since HTTP 헤더라고 함)을 표시하도록 서버를 구성해야 합니다. 이렇게 하면 서버에서 페이지가 마지막으로 크롤링된 이후 변경되지 않았다는 것을 Googlebot에 알려주기 때문에 대역폭과 오버헤드가 절약됩니다

.
305(프록시 사용) 요청자는 프록시를 사용하여 요청한 페이지만 액세스할 수 있습니다. 서버가 이 응답을 표시하면 요청자가 사용할 프록시를 가리키는 것이기도 합니다.
307(임시 리디렉션) 현 재 서버가 다른 위치의 페이지로 요청에 응답하고 있지만 요청자는 향후 요청 시 원래 위치를 계속 사용해야 합니다. 이 코드는 GET 또는 HEAD 요청의 경우 자동으로 요청자를 다른 위치로 전달한다는 점에서 301과 비슷하지만, Googlebot이 계속 원래 위치를 크롤링하고 색인을 생성하기 때문에 Googlebot에 페이지나 사이트가 이동했음을 알릴 때 이 코드를 사용할 수 없습니다.

4xx(요청 오류)
이 상태 코드는 요청에 오류가 발생하여 서버가 이 요청을 처리하지 못할 가능성이 높음을 나타냅니다.

코드 설명
400(잘못된 요청) 서버가 요청의 구문을 인식하지 못했습니다.
401(권한 없음) 이 요청은 인증이 필요합니다. 서버는 로그인이 필요한 페이지에 대해 이 요청을 제공할 수 있습니다.
403(금지됨) 서 버가 요청을 거부하고 있습니다. 사이트의 유효한 페이지를 크롤링하려 할 때 Googlebot이 이 상태 코드를 받으면 서버 또는 호스트가 Googlebot의 액세스를 차단하고 있을 수 있습니다. 상태 코드는 Google 웹마스터 도구의 진단 아래 웹 크롤링에서 확인할 수 있습니다.
404(찾을 수 없음)

서버가 요청한 페이지를 찾을 수 없습니다. 예를 들어 서버에 존재하지 않는 페이지에 대한 요청이 있을 경우 서버는 이 코드를 제공합니다.

사이트에 robots.txt 파일이 없는 상태에서 Google 웹마스터 도구에 있는 진단 탭의 robots.txt 페이지에 이 상태가 나타나면 이는 올바른 상태입니다. 하지만 robots.txt 파일이 있는 상태에서 이 상태가 나타나면 robots.txt 파일의 이름이 잘못되었거나 파일이 잘못된 위치에 있기 때문일 수 있습니다. 파일은 도메인의 최상위 수준에 있어야 하고 이름은 robots.txt여야 합니다.

Googlebot이 크롤링하려는 URL에 이 상태가 나타나면(진단 탭의 HTTP 오류 페이지) Googlebot이 잘못된 다른 페이지 링크(이전 링크 또는 철자가 잘못된 링크)를 추적했을 가능성이 높습니다.

405(허용되지 않는 방법) 요청에 지정된 방법을 사용할 수 없습니다.
406(허용되지 않음) 요청한 페이지가 요청한 콘텐츠 특성으로 응답할 수 없습니다.
407(프록시 인증 필요) 이 상태 코드는 401(권한 없음)과 비슷하지만 요청자가 프록시를 사용하여 인증해야 합니다. 서버가 이 응답을 표시하면 요청자가 사용할 프록시를 가리키는 것이기도 합니다.
408(요청 시간초과) 서버의 요청 대기가 시간초과되었습니다.
409(충돌) 서버가 요청을 수행하는 중에 충돌이 발생했습니다. 서버는 응답할 때 충돌에 대한 정보를 포함해야 합니다. 서버는 PUT 요청과 충돌하는 PUT 요청에 대한 응답으로 이 코드를 요청 간 차이점 목록과 함께 표시해야 합니다.
410(사라짐) 서 버는 요청한 리소스가 영구적으로 삭제되었을 때 이 응답을 표시합니다. 404(찾을 수 없음) 쾌드와 비슷하며 이전에 있었지만 더 이상 존재하지 않는 리소스에 대해 404 대신 사용하기도 합니다. 리소스가 영구적으로 이동된 경우 301을 사용하여 리소스의 새 위치를 지정해야 합니다.
411(길이 필요) 서버는 유효한 콘텐츠 길이 헤더 입력란 없이는 요청을 수락하지 않습니다.
412(사전조건 실패) 서버가 요청자가 요청 시 부과한 사전조건을 만족하지 않습니다.
413(요청 속성이 너무 큼) 요청이 너무 커서 서버가 처리할 수 없습니다.
414(요청 URI가 너무 김) 요청 URI(일반적으로 URL)가 너무 길어 서버가 처리할 수 없습니다.
415(지원되지 않는 미디어 유형) 요청이 요청한 페이지에서 지원하지 않는 형식으로 되어 있습니다.
416(처리할 수 없는 요청범위) 요청이 페이지에서 처리할 수 없는 범위에 해당되는 경우 서버는 이 상태 코드를 표시합니다.
417(예상 실패) 서버는 Expect 요청 헤더 입력란의 요구사항을 만족할 수 없습니다.

5xx(서버 오류)
이 상태 코드는 서버가 요청을 처리하려 할 때 내부 오류가 발생했음을 나타냅니다. 이 오류는 주로 요청이 아니라 서버와 관련이 있습니다.

코드 설명
500(내부 서버 오류) 서버에 오류가 발생하여 요청을 수행할 수 없습니다.
501(구현되지 않음) 서버에 요청을 수행할 수 있는 기능이 없습니다. 예를 들어 서버가 요청 메소드를 인식하지 못할 때 이 코드를 표시합니다.
502(불량 게이트웨이) 서버가 게이트웨이나 프록시 역할을 하고 있거나 또는 업스트림 서버에서 잘못된 응답을 받았습니다.
503(서비스를 사용할 수 없음) 서버가 오버로드되었거나 유지관리를 위해 다운되었기 때문에 현재 서버를 사용할 수 없습니다. 이는 대개 일시적인 상태입니다.
504(게이트웨이 시간초과) 서버가 게이트웨이나 프록시 역할을 하고 있거나 또는 업스트림 서버에서 제때 요청을 받지 못했습니다.
505(HTTP 버전이 지원되지 않음) 서버가 요청에 사용된 HTTP 프로토콜 버전을 지원하지 않습니다.

'OS' 카테고리의 다른 글

vi 명령어  (0) 2009.11.16
서버상에 두개의 아파치가 올라 왔을때 세션공유관련.  (0) 2009.11.16
find 명령어  (0) 2009.06.05
crontab  (0) 2009.04.14
리눅스 가상계정생성(메일)  (0) 2008.12.13