第9回 セッションとHTTPヘッダーの基礎 - PHP基礎講座
Saity先生のPHP基礎講座
Lecutures on PHP
第9回 セッションとHTTPヘッダーの基礎 (その2)
HTTPヘッダーとheader関数
- もう一つ、新しく出てきたheader関数については、調べてみたかな?

- はい。これは、HTTPヘッダーを送信する関数と書いてありました。これを使えば任意のURLにジャンプしたり、パスワード入力画面を出したりすることもできるとか・・・。でも、HTTPヘッダーって何ですか?
- うん。HTTPヘッダーとは、ブラウザとサーバーの通信でやり取りされるデータのうち、ユーザーには直接見えないデータなんだ。たとえば、ブラウザがhttp://hostname/hoge.phpにアクセスする場合には、以下のような通信が行われるんだ。


- 上記のやりとりはとても簡略化したものだけれども、ブラウザはHTTPヘッダーを使ってサーバーに取得したいURLのリクエストを送信し、サーバーはそのリクエストに対応したレスポンスをブラウザに返すんだ。
- レスポンスにHTMLが入ってますね。
- このHTMLの上に空行があると思うんだけど、その上がHTTPヘッダーだよ。この例ではStatusヘッダーだけを紹介しているけど、それ以外にも多くのHTTPヘッダーが定義されているんだ。
- 上のサンプルのheader関数で使われている、「Location」というのは何をするヘッダーなんですか?
- これは、ブラウザに「リダイレクト」という処理を命令するためのヘッダーだよ。ブラウザはLocationヘッダーを受け取ると、直ちに指定したURLに移動する。これをリダイレクションと言って、別のページに自動的にジャンプさせたい場合に便利なんだ。
- uranai_ask.phpからは、uranai_result.phpにジャンプしているわけね。

- うん。実はこの書き方には少々問題があって、HTTPヘッダーの仕様書には、LocationヘッダーのURL指定は、絶対URLで記述するように求められているんだ。だから今後は絶対URLで記述するよう、心がけて欲しい。
- なるほど。要するに、以下のように変える必要があるってことかぁ。

- そういう事。HTTPヘッダーを使うとリダイレクトだけじゃなく、HTTP認証といってユーザーIDとパスワードで制限する機能を実装したり、ファイルのダウンロード機能を実装したりできるんだ。これらについては、次に説明することにしよう。
- はーい。また予習をしてこうっと。
- 1
- 2
その他の記事も見る
- 第1回 PHPに触れてみよう!
- 第2回 PHPの基礎の基礎
- 第3回 占いソフトを作ろう - rand()関数、配列、連想配列 -
- 第4回 占いソフトを作ろう2 - データ取得・エスケープ・コメント挿入 -
- 第5回 様々なループ構造とPOSTによるデータ送信
- 第6回 入力チェックとエラー表示(1)
- 第7回 入力チェックとエラー表示(2)
- 第8回 セッションの仕組みを知ろう
- 第9回 セッションとHTTPヘッダーの基礎
- 第10回 スケジューラーを作ろう(1) - ファイル操作の基礎知識 -
- 第11回 スケジューラーを作ろう(2) - ファイルへの書き込み -
- 第12回 スケジューラーを作ろう(3) - データの書式整形と一覧表示 -
- 第13回 スケジューラーを作ろう(4) - CSSの基礎知識 -
- 第14回 スケジューラーを作ろう(5) - データの特定方法 -
- 第15回 スケジューラーを作ろう(6) - 削除処理、ユーザー定義関数 -
- 第16回 変数のスコープとデータ型
- 第17回 スケジューラーを作ろう(7) - 処理の関数化、任意の日付の取得 -
- 第18回 スケジューラーを作ろう(8) - タイムスタンプ -
- 第19回 スケジューラーを作ろう(9) - スケジューラー完成 -
- 第20回 掲示板を作ろう(1) -ユーザー定義関数と書き込みフォーム
- 第21回 掲示板を作ろう(2) -init関数とerrorcheck関数
- 第22回 掲示板を作ろう(3) -2重投稿チェックをしてCSVファイルに書き込む
- 第23回 掲示板を作ろう(4) -投稿した掲示板の内容を表示しよう
- 第24回 掲示板を作ろう(5) -掲示板の内容を10件ずつ表示しよう
- 第25回 掲示板を作ろう(6) -掲示板の管理者になって内容を削除しよう
- 第26回 掲示板を作ろう(7) -掲示板の内容を検索しよう
- 第27回 掲示板を作ろう(8) -掲示板についてまとめよう
- >>「Saity先生のPHP基礎講座」一覧ページに戻る
- Saity先生
本名:海原才人 アシアル株式会社所属
PHPスクール講師。同時に、現役システムエンジニアとしてシステム開発も行っている。
携帯電話でWebサイトが見られるようになった事をきっかけに、Webの普及の早さに驚愕し、Webプログラミングに興味をもつ。 その後、PHPによるWebプログラミングと出会い、その習得のしやすさと多機能さに魅了され、数多くのシステム開発をPHPでこなしてきた。 現在は、PHPの魅力とシステム開発で蓄積したノウハウをPHPスクールで多くの人に伝える事に熱意を燃やしている。
「教育において、教わる側が解からない事に罪はなく、教える側が興味を持たせられない事が罪だ」というのが講師としての信念。 生徒にPHPの面白さ・素晴らしさを伝えるため、魅力的な講義を展開する事に全力を注ぐ。





ページのトップへ


kende様のご指摘通り、三項演算子を使用する際には、コードの複雑度などを考慮する必要がありますね。書きやすさと共に可読性も追求したいところですね。