HTTPレスポンスコードとは?PHPでステータスを正しく返す方法
HTTPレスポンスコード(ステータスコード)は、Webサーバーがクライアントに返す通信結果の数値です。
PHPでは header()
関数を使って、適切なステータスコードを返すことができます。
レスポンスコードの分類
- 100番台:情報(例:101 Switching Protocols)
- 200番台:成功(例:200 OK, 201 Created)
- 300番台:リダイレクト(例:301 Moved Permanently, 302 Found)
- 400番台:クライアントエラー(例:400 Bad Request, 404 Not Found)
- 500番台:サーバーエラー(例:500 Internal Server Error)
PHPでレスポンスコードを設定する方法
@ header関数で直接指定
header("HTTP/1.1 404 Not Found");
exit;
A http_response_code()関数を使う(PHP 5.4以降)
http_response_code(403);
よく使うステータスコード一覧
コード |
意味 |
用途の例 |
200 |
OK |
通常の成功 |
301 |
Moved Permanently |
恒久的なリダイレクト |
302 |
Found |
一時的なリダイレクト |
400 |
Bad Request |
リクエストの文法エラー |
401 |
Unauthorized |
認証が必要 |
403 |
Forbidden |
アクセス禁止 |
404 |
Not Found |
ページが見つからない |
500 |
Internal Server Error |
サーバー内部のエラー |
カスタムエラーページとの連携
ステータスコードと一緒に、オリジナルのエラーページを表示することも可能です。
http_response_code(404);
include("errors/404.php");
exit;
まとめ
- HTTPレスポンスコードは通信結果を示す重要な情報
header()
または http_response_code()
で設定可能
- 適切なステータスコードはSEOやユーザー体験にも影響
- エラーページやリダイレクト処理とセットで活用する
レスポンスコードは、Webアプリケーションの動作を正しく伝えるために重要な役割を果たします。
状況に応じて正しいコードを返すことで、ユーザーにも検索エンジンにも優しい設計が実現します。