よく使うヘッダー関数のまとめ
[参考記事] HTTPヘッダー情報とは
[参考記事] Internet Explorerでヘッダー情報をみる方法
[参考記事] Firefoxでヘッダー情報をみる方法
[参考記事] Google ChromeでHTTP headerをみる方法
[参考記事] docomo端末でCSSを使うには
[参考記事] Androidのapkファイルをサーバから端末にダウンロードする
正しいレスポンス
header("HTTP/1.x 200 OK"); exit;
ページが見つからない。
header("HTTP/1.0 404 Not Found"); exit;
ページの移動
header("HTTP/1.1 301 Moved Permanently"); header("location: http://" . $domain . $uri); exit;
ページの移動 (一時的)
header("HTTP/1.1 302 Found(Moved Temporary)"); header("location: http://" . $domain . $uri); exit;
ベーシック認証
header("WWW-Authenticate: Basic realm=\"Please Enter Your Password\""); header("HTTP/1.0 401 Unauthorized"); exit;
入力された値は次のようにして受け取れる
アカウント | $_SERVER["PHP_AUTH_USER"] |
---|---|
パスワード | $_SERVER["PHP_AUTH_PW"] |
HTML出力のコンテントタイプ
header('Content-Type: text/html; charset=Shift_JIS'); header('Content-Type: text/html; charset=UTF-8'); header('Content-Type: text/html; charset=EUC-JP');
XML出力のコンテントタイプ
header('Content-type: application/xhtml+xml; charset=Shift_JIS'); header('Content-type: application/xhtml+xml; charset=UTF-8'); header('Content-type: application/xhtml+xml; charset=EUC-JP');
画像出力のコンテントタイプ
header ( 'Content-type: image/jpeg' ); header ( 'Content-type: image/gif' ); header ( 'Content-type: image/png' );
ファイルダウンロード時のデフォルトファイル名
header("Content-Disposition: attachment; filename=\"test.cvs\"");
出力ファイル容量 (au EZweb対策によく使う)
header("Content-Length:" . filesize($file_path));
最終更新日時
header("Last-Modified: Fri, 02 Mar 2007 17:40:01 GMT");
キャッシュコントロール
header("Cache-control: public"); header("Pragma: public"); header("Cache-Control: private, max-age=10800, pre-check=10800"); header("Pragma: no-cache");
HTTPステータスコード(レスポンスコード)の一覧
$GLOBALS['http_status_code'] = array( array("code"=>200,"name"=>"OK","description"=>"成功。リクエストは成功し、レスポンスとともに要求に応じた情報が返される。"), array("code"=>201,"name"=>"Created","description"=>"作成。リクエストは完了し、新たに作成されたリソースのURIが返される。"), array("code"=>202,"name"=>"Accepted","description"=>"受理。リクエストは受理されたが、処理は完了していない。"), array("code"=>203,"name"=>"Non-Authoritative Information","description"=>"信頼できない情報。オリジナルのデータではなく、ローカルやプロキシ等からの情報であることを示す。"), array("code"=>204,"name"=>"No Content","description"=>"内容なし。リクエストを受理したが、返すべきレスポンスエンティティが存在しない場合に返される。"), array("code"=>205,"name"=>"Reset Content","description"=>"内容のリセット。リクエストを受理し、ユーザエージェントの画面をリセットする場合に返される。"), array("code"=>206,"name"=>"Partial Content","description"=>"部分的内容。部分的GETリクエストを受理したときに、返される。"), array("code"=>207,"name"=>"Multi-Status","description"=>"複数のステータス。WebDAVの拡張ステータスコード。"), array("code"=>226,"name"=>"IM Used","description"=>"IM使用。Delta encoding in HTTPの拡張ステータスコード。"), array("code"=>300,"name"=>"Multiple Choices","description"=>"複数の選択。リクエストしたリソースが複数存在し、ユーザやユーザーエージェントに選択肢を提示するときに返される。"), array("code"=>301,"name"=>"Moved Permanently","description"=>"恒久的に移動した。リクエストしたリソースが恒久的に移動されているときに返される。Location:ヘッダに移動先のURLが示されている。"), array("code"=>302,"name"=>"Found","description"=>"発見した。リクエストしたリソースが一時的に移動されているときに返される。Location:ヘッダに移動先のURLが示されている。"), array("code"=>303,"name"=>"See Other","description"=>"他を参照せよ。リクエストに対するレスポンスが他のURLに存在するときに返される。Location:ヘッダに移動先のURLが示されている。"), array("code"=>304,"name"=>"Not Modified","description"=>"未更新。リクエストしたリソースは更新されていないことを示す。"), array("code"=>305,"name"=>"Use Proxy","description"=>"プロキシを使用せよ。レスポンスのLocation:ヘッダに示されるプロキシを使用してリクエストを行わなければならないことを示す。"), array("code"=>306,"name"=>"(Unused)","description"=>"将来のために予約されているコード番号。"), array("code"=>307,"name"=>"Temporary Redirect","description"=>"一時的リダイレクト。リクエストしたリソースは一時的に移動されているときに返される。Location:ヘッダに移動先のURLが示されている。"), array("code"=>400,"name"=>"Bad Request","description"=>"リクエストが不正である。定義されていないメソッドを使うなど、クライアントのリクエストがおかしい場合に返される。"), array("code"=>401,"name"=>"Unauthorized","description"=>"認証が必要である。Basic認証やDigest認証などを行うときに使用される。"), array("code"=>402,"name"=>"Payment Required","description"=>"支払いが必要である。"),//現在は実装されておらず、将来のために予約されているとされる。 array("code"=>403,"name"=>"Forbidden","description"=>"アクセスが禁止されている。リソースにアクセスすることを拒否された。"), array("code"=>404,"name"=>"Not Found","description"=>"未検出。リソースが見つからない。"), array("code"=>405,"name"=>"Method Not Allowed","description"=>"許可されていないメソッド。許可されていないメソッドを使用しようとした。"), array("code"=>406,"name"=>"Not Acceptable","description"=>"受理できない。Accept関連のヘッダに受理できない内容が含まれている場合に返される。"), array("code"=>407,"name"=>"Proxy Authentication Required","description"=>"プロキシ認証が必要である。プロキシの認証が必要な場合に返される。"), array("code"=>408,"name"=>"Request Timeout","description"=>"リクエストタイムアウト。リクエストが時間以内に完了していない場合に返される。"), array("code"=>409,"name"=>"Conflict","description"=>"矛盾。要求は現在のリソースと矛盾するので完了出来ない。"), array("code"=>410,"name"=>"Gone","description"=>"消滅した。ファイルは恒久的に移動した。どこに行ったかもわからない。"), array("code"=>411,"name"=>"Length Required","description"=>"長さが必要。Content-Length ヘッダがないのでサーバがアクセスを拒否した場合に返される。"), array("code"=>412,"name"=>"Precondition Failed","description"=>"前提条件で失敗した。前提条件が偽だった場合に返される。"), array("code"=>413,"name"=>"Request Entity Too Large","description"=>"リクエストエンティティが大きすぎる。リクエストエンティティがサーバの許容範囲を超えている場合に返す。"), array("code"=>414,"name"=>"Request-URI Too Long","description"=>"リクエストURIが大きすぎる。URIが長過ぎるのでサーバが処理を拒否した場合に返す。"), array("code"=>415,"name"=>"Unsupported Media Type","description"=>"サポートしていないメディアタイプ。指定されたメディアタイプがサーバでサポートされていない場合に返す。"), array("code"=>416,"name"=>"Requested Range Not Satisfiable","description"=>"リクエストしたレンジは範囲外にある。実ファイルのサイズを超えるデータを要求した。"), array("code"=>417,"name"=>"Expectation Failed","description"=>"Expectヘッダによる拡張が失敗。その拡張はレスポンスできない。またはプロキシサーバは、次に到達するサーバがレスポンスできないと判断している。"), array("code"=>418,"name"=>"I'm a teapot","description"=>"私はティーポット(ジョークのコード)。HTCPCP/1.0の拡張ステータスコード。コーヒーを淹れるように要求したが、接続先はティーポットであるためコーヒーを入れることができない。"), array("code"=>422,"name"=>"Unprocessable Entity","description"=>"処理できないエンティティ。WebDAVの拡張ステータスコード。"), array("code"=>423,"name"=>"Locked","description"=>"ロックされている。WebDAVの拡張ステータスコード。リクエストしたリソースがロックされている場合に返す。"), array("code"=>424,"name"=>"Failed Dependency","description"=>"依存関係で失敗。WebDAVの拡張ステータスコード。"), array("code"=>426,"name"=>"Upgrade Required","description"=>"アップグレード要求。Upgrading to TLS Within HTTP/1.1の拡張ステータスコード。"), array("code"=>500,"name"=>"Internal Server Error","description"=>"サーバ内部エラー。サーバ内部にエラーが発生した場合に返される。"), array("code"=>501,"name"=>"Not Implemented","description"=>"実装されていない。実装されていないメソッドを使用した。"), array("code"=>502,"name"=>"Bad Gateway","description"=>"不正なゲートウェイ。ゲートウェイ・プロキシサーバは不正な要求を受け取り、これを拒否した。"), array("code"=>503,"name"=>"Service Unavailable","description"=>"サービス利用不可。サービスが一時的に過負荷やメンテナンスで使用不可能である。"), array("code"=>504,"name"=>"Gateway Timeout","description"=>"ゲートウェイタイムアウト。ゲートウェイ・プロキシサーバはURIから推測されるサーバからの適切なレスポンスがなくタイムアウトした。"), array("code"=>505,"name"=>"HTTP Version Not Supported","description"=>"サポートしていないHTTPバージョン。リクエストがサポートされていないHTTPバージョンである場合に返される。"), array("code"=>506,"name"=>"Variant Also Negotiates","description"=>"Transparent Content Negotiation in HTTPで定義されている拡張ステータスコード。"), array("code"=>507,"name"=>"Insufficient Storage","description"=>"容量不足。WebDAVの拡張ステータスコード。リクエストを処理するために必要なストレージの容量が足りない場合に返される。"), array("code"=>509,"name"=>"Bandwidth Limit Exceeded","description"=>"帯域幅制限超過。そのサーバに設定されている帯域幅(転送量)を使い切った場合に返される。"), array("code"=>510,"name"=>"Not Extended","description"=>"拡張できない。An HTTP Extension Frameworkで定義されている拡張ステータスコード。"), );
[参考記事] HTTPヘッダー情報とは
[参考記事] Internet Explorerでヘッダー情報をみる方法
[参考記事] Firefoxでヘッダー情報をみる方法
[参考記事] Google ChromeでHTTP headerをみる方法
[参考記事] docomo端末でCSSを使うには
[参考記事] Androidのapkファイルをサーバから端末にダウンロードする
関連記事
- PHPでwebサーバー(apache/nginx)の実行ユーザー・グループを確認する方法
- リクエストヘッダーやリクエストボディーなどを取得する方法
- 負荷が高いときには503エラーを返す方法
- サイトの更新情報をPINGサーバに送信する方法
- PHPでロードアベレージを表示させる方法
- PHPでTwitterのツイートをする/ツイート一覧を取得する/検索する(API v1.1)
- インクルードパスを設定する方法
- オブジェクト(Object)を配列(Array)に変換する方法
- PHPでgzip圧縮形式(gz圧縮)のファイルを読み書きする方法
- PHPでfacebook投稿時に公開範囲を指定する方法
- PHPで複数の画像をfacebookに投稿する方法
- PHPでfacebookのフィード(ウォール)に投稿する方法
- PHPでのfacebookアプリの認証処理(APIを使うユーザー認証)
- MySQL関数のまとめ
- MySQLサーバに接続できるかどうかを確認する
- ディレクトリ内のファイルのパーミッションを一括で変更する
- POSTでアップロードできるファイルサイズの制限を変更する方法
- 暗号化・複合化を行う ブロック暗号
- date型やdatetime型と年月日時分秒への変換
- 関数・メソッドの存在を調べる方法
- PHPでTwitterのbotを作る方法 ツイートをする/ツイート一覧を取得する(API v1)
- strtotimeの指定
- PHPでHTMLメールを送る方法
- ディレクトリセパレータを短く定義する DIRECTORY_SEPARATOR
- モザイク画像を作る方法
- HTML内のアクセス解析タグを除去する方法
- HTMLのTABLEタグを簡単にCSVファイルに変換する方法
- 画像表示のときに指定サイズにリサイズする(画像の拡大縮小)
- テキストを可逆的な暗号化する Crypt_Blowfish
- PHPでwhois検索をする Net_Whois
- キャリア・世代を判別する
- mb_send_mailでCCやBCCを指定する 表示名を指定する
- より高速に、推測困難な一意なIDを生成する方法
- 画像ファイルを指定容量ぎりぎりに圧縮する
- 指定したHTTPヘッダーが送信済みあるいは送信予定に含まれているか
- DOCUMENT ROOTを得る $_SERVER["DOCUMENT_ROOT"]は使えない!
- マルチバイト文字列(日本語文字)を一文字づつ取り出す
- ファイルを削除する/フォルダを削除する
- ファイルを読み込む/ファイルに書き込む
- ディレクトリ内のファイル一覧を取得する
- quoted-printable文字列の変換
スポンサーリンク