ホームページの集客と売上げアップをバックアップ!

httpステータスコード


サイトを運営する場合httpステータスコードを利用することがあります。
たとえば、ページが存在しないURLにアクセスが行われたときや、ページのURLを変更したときなど、サイトを最適化するためにサイト運営者は適切な設定・処理をしなければなりません。
特に気をつけたいのが「301」「302」「404」「500」「503」などです。

■「301」「302」リダイレクト(転送)を設定する処理
「301」「302」は、ページのリダイレクト(転送)を設定する処理で、用途に合わせて使い分ける必要があります。「301」は恒久的な移動した場合に設定し、そのページに対する被リンク効果やPRなどのような要素も引き継ぎます。一方「302」は一時的な移動で、後々元のページを利用する際に用いられます。
・.htaccess/mod_rewrite(httpd.conf)/meta refreshなどで設定できます。

処理 301 302
.htaccess Redirect 301 (転送前)(転送後)で記述。ディレクトリ・ページなど設定可
例)Redirect 301 /test1.html http://www.sample.com/test2.html
Redirect 302(転送前)(転送後)で記述。ディレクトリ・ページなど設定可
例)Redirect 302 /test1.html http://www.sample.com/test2.html
mod_rewrite (httpd.conf) Rewriterule ^/test1.html$ /test2.html [R=301,L](サーバーに設定・正規表現利用) Rewriterule ^/test1.html$ /test2.html [R,L]
meta refresh 時間は0秒で同等あつかい 時間は1秒以上で同等あつかい

※meta refreshは、検索エンジンによってはうまく機能しないことがあります。

■「404」のページを設定
「404」に対してページを用意していないと、ブラウザが吐き出すエラーメッセージページとなってしまいます。これはサイトのユーザビリティ的に不親切であるため、「ページがありませんでした。」用の専用ページを作り、トップページやその他のページへ誘導してあげましょう。

・「.htaccess」での設定例
ErrorDocument 404 [専用ページのURL](※半角スペース区切りです。)
例)ErrorDocument 404 http://www.sample.com/file_not_found.html

■「500」「503」は早急な対象が必要
「500」「503」はサーバー内でのプログラムや設定エラー及び過剰負荷によってサイトが閲覧できない状態になっています。サイトが表示できないのは致命的なので、早急に対処する必要があります。

HTTPステータス・コード一覧表

コード ステータス
意味・解説
1xx系 Informational【情報】リクエストの処理継続
100 Continue【継続】
クライアントは、リクエスト(要求)を継続できる。
101 Switching Protocols
サーバーは、リクエストを理解し、クライアントのリクエストに応じようとプルトコルの切替えをリクエストしている。
102 Processing【処理中】
WebDAVの拡張ステータスコード。処理が継続していることを示す。
2xx系 Successful【成功】リクエストの受理
200 OK【OK】
リクエストが成功しました。レスポンス(応答)と共に返される情報は、リクエスト内容に依存します。ブラウザでサイトが表示されるときは、ほどんどこのステータスコードを返している。
201 Created【生成】
リクエストは受理され、結果として新しいリソースが作成され、リソースのURIをレスポンスする。
・たとえばPUTメソッドなどを利用して、リソース処理をサーバーが実行したが、処理が完了していない場合に返される。
202 Accepted【受理】
リクエストは受理されたが、処理は完了していない。
たとえばPUTメソッドなどを利用して、リソース処理をサーバが実行したが、処理が完了していない場合に返される。
203 Non-Autoritative Information【信頼性に欠ける情報】
オリジナルデータではなく、ローカルやあるいはサード・パーティのコピー、プロシキ等からの情報であることを示す。
204 No Content【コンテンツなし】
リクエストを受理したが、返すべきレスポンス情報が存在しない。
・たとえばPOSTメソッドでフォームの内容を送信したが、ブラウザで更新されない場合に返される。
POSTメソッド・・POST は新しく作成されるリソースの URI がサーバー上のプログラムによって決まる場合に用いる。
205 Reset Content【コンテンツのリセット】
サーバはリクエストを受理し完了したが、リクエストの送信元であるドキュメント・ビューをリセットする必要がある場合に返される。
・たとえばPOSTメソッドでフォームの内容を送信したが、ブラウザで更新して初期状態にする必要がある場合に返される。
206 Partial Content【部分的コンテンツ】
コンテンツの一部分で、サーバによってリソースのGET要求の一部(バイト範囲が含まれる)が処理された場合返される。
207 Multi-Status【複数のステータス】
WebDAVの拡張ステータスコード
226 IM Used【IM使用】
Delta encoding in HTTPの拡張ステータスコード
3xx系 Redirection【リダイレクション】レスポンスのための追加的な処理
300 Mlutiple Choices【複数選択】
リクエストされたリソースが複数あり、ユーザやユーザエージェントにより、望ましいものを選別してリダイレクトした情報が提供される場合に返される。
301 Moved Permanently【恒久的移動】
リクエストされたリソースは恒久的に新しいURI移動した場合に返される。Location:ヘッダに移動先のURLが示される。
302 Found【発見した】
リクエストされたリソースは、一時的に移動されている場合に返される。Location:ヘッダに移動先のURLが示される。HTTP 1.0においては「Moved Temporarily」(一次的移動)であったが、定義外の使用が行われるようになったため、定義を改め、303・307が追加された。本来の一次的移動は307で定義。
303 See Other【他を参照】
リクエストに対するレスポンスが他のURLに存在した場合に返される。Location:ヘッダに移動先のURLが示されている。
304 Not Modified【変更なし】
リクエストされたリソースが指定された日時以降に更新されていない場所に返される。
305 Use Proxy【プロキシ―を使用】
リクエストされたリソースは、Locationヘッダで指定されたプロキシを通じてアクセスしなければならない。
306 (Unused)【将来のために予約】
以前のバージョンの仕様では使われていたが、廃止され将来のために予約コード
307 Temporary Redirect【一時的リダイレクト】
リクエストされたリソースは、一時的に移動されている場合に返される。Location:ヘッダに移動先のURLが示されている。
4xx系 Client Error【クライアント・エラー】リクエストに誤りあり
400 Bad Request【不正リクエスト】
リクエストは不正な構文であるために、サーバが理解できなかった。クライアントのリクエストがおかしい場合に返される。
401 Unauthorized【認証が必要】
リクエストは未認証であり、認証を必要とする。認証に失敗した時など。Basic認証やDigest認証などを行うときに使用される。ブラウザはこのステータスを受け取ると、認証ダイアログを表示する。
402 Payment Required【支払リクエスト】
現在は実装されておらず、、将来の使用のために予約されている。
403 Forbidden【禁止】
サーバはリクエストを理解したが、リソースにアクセスすることを拒否された場合に返される。リクエストはしたが処理できないという意味。
アクセス権がない場合や、ホストがアクセス禁止処分を受けた場合などに返される。
404 Not Found【未検出】
リクエストのリソースが見つからなかった、もしくは実行を拒否した場合に返される。アクセス権限がない時など。主に「404」用のページを作成するのが一般的。
405 Method Not Allowed【未許可メソッド】
c
406 Not Acceptable【受理できない】
Accept関連のヘッダに受理できない内容が含まれている場合に返される。
・たとえばサーバでは受付できない言語で、リクエストのAccept-Language:ヘッダに含まれていたり、フォイルのアップロードなどで、リクエストのAccept:ヘッダでapplicationのタイプが記載されていないなどがあげられる。
407 Proxy Authentication Required【プロキシ認証リクエスト】
このコードは401(Unauthorized)と似ているが、プロキシの認証が必要な場合に返される。
408 Request Timeout【リクエストタイムアウト】
リクエストが時間以内に完了していない場合に返される。サーバが予期している時間内にリクエストが完了しなかったため。
409 Conflict【矛盾】
リクエストがリソースの現在の状態と矛盾するため、完了出来ない場合に返される。
410 Gone【消滅】
リクエストされたリソースが移動した場合に返される。サーバにはなく、転送先のアドレスの不明である場合が多い。
411 Length Required【長さリクエスト】
サーバは、定義された Content-Lengthのないリクエストの受理を拒否した場合に返される。
412 Precondition Failed【前提条件で失敗】
前提条件が偽だった場合に返される。
413 Request Entity Too Large【リクエスト・エンティティが大きすぎ】
リクエスト・エンティティがササーバの許容範囲を超えている場合に返す。サーバはリクエストの処理を拒否しているため。
・たとえばアップローダの上限を超えたデータを送信しようとした場合に返される。
414 Request-URI Too Long【リクエストURIが長すぎ】
リクエストされたURIが長過ぎるのでサーバが処理を拒否した場合に返す。サーバはリクエストの処理を拒否しているため。
・たとえば画像データをアップロードする際に、サーバの許容データ量を超えた
415 Unsupported Media Type【非サポート・メディア・タイプ】
リクエストされたメディア・タイプがサーバーでサポートされていない場合に返される。フォーマットが対応していないため、リクエストの処理を拒否しているため。
416 Requested Range Not Satisfiable【リクエストされた範囲を満たせない】
リクエストされた範囲のデータを返すことができない。ファイル容量を超えたデータが要求された時など。
417 Expectation Failed【Expectヘッダによる拡張失敗】
Expectヘッダで指定されたリクエストをサーバが実行できない。Expectヘッダに100-continue以外の変なものを入れた場合や、そもそもサーバが100 Continueを扱えない場合に返す。
418 I’m a teapot【私はティーポット】
HTCPCP/1.0の拡張ステータスコード。
422 Unprocessable Entity【処理できないエンティティ】
WebDAVの拡張ステータスコード
423 Locked【ロックされいる】
WebDAVの拡張ステータスコード。リクエストしたリソースがロックされている場合に返す。
424 Failed Dependency【依存関係で失敗】
WebDAVの拡張ステータスコード。
426 Upgrade Requiered【アップグレード要求】
Upgradeing to TLS Within HTTP/1.0の拡張ステータスコード
5xx系 Server Error【サーバ・エラー】サーバーがリクエストの処理に失敗
500 Internal Server Error【サーバ内部エラー】
サーバ内部にエラーが発生した場合に返される。CGIスクリプト・エラー・設定などのプログラムによるエラー。
501 Not Implemented【未実装】
サーバは、リクエストを実行するために必要な機能をサポートしていない。
502 Bad Gateway【不正ゲートウェイ】
ゲートウェイ・プロキシサーバは不正な要求を受け取り、これを拒否した場合に返します。不正なゲートウェイ経由のアクセスなど。
503 Service Unavailable【サービス利用不可】
サーバはサーバの一時的な過負荷あるいはメンテナンスのために、リクエストを扱うことができない場合に返される。
504 Gateway Timeout【ゲートウェイ・タイムアウト】
ゲートウェイ・プロキシサーバはURIから推測されるサーバからの適切なレスポンスがなくタイムアウトした場合に返される。
505 HTTP Version Not Supported【非サポートHTTPバージョン】
リクエストがサポートされていないHTTPバージョンである場合に返される。あるいはサポートを拒否している。
506 Variant Also Negotiates
Transparent Content Negotiation in HTTPで定義されている拡張ステータスコード
507 Insufficient Storage【容量不足】
WebDAVの拡張ステータスコード。リクエストを処理するために必要なストレージの容量が足りない場合に返される。
509 Bandwidth Limit Exceeded【帯域幅制限超過】
サーバに設定されている帯域幅(転送量)を使い切った場合に返される。
510 Not Extended【拡張できない】
An HTTP Extension Frameworkで定義されている拡張ステータスコード

[参考] w3c ステータスコードの定義 / wikipedia HTTPステータスコード

Copy right © 2017 ホームページ集客サポート.All Right Reserved.