HTTP
WebブラウザとWebサーバの間で、Webページなどのデータをやり取りするためのアプリケーション層プロトコル。クライアントが要求を送り、サーバが応答を返す形で通信する。
イマシルちゃんの解説
ブラウザでURLを入れてページを開くと、裏ではブラウザがサーバに「このページをください」ってお願いしてるんだ。
サーバは「はい、どうぞ」ってページを返してくれる。
このお願いと返事の決まりごとがHTTPなんだよ!
より深い解説
定義
HTTP(Hypertext Transfer Protocol)は、Webで使われるアプリケーション層のプロトコルである。クライアント(ブラウザなど)がリクエストを送り、サーバがレスポンスを返す。標準のポート番号はHTTPが80、TLSで暗号化したHTTPSが443である。
ステートレス
HTTPはステートレスなプロトコルで、サーバは1つ1つのリクエストを独立したものとして扱い、前のリクエストの内容を覚えていない。ログイン状態のように、複数のリクエストにまたがる情報を保つには、CookieにセッションIDを入れて毎回送るなどの仕組みを使う。
バージョンごとの違い
| バージョン | 主な特徴 |
|---|---|
| HTTP/1.0 | 1回のリクエストごとにTCP接続を張り直す |
| HTTP/1.1 | 接続を使い回す持続的接続(キープアライブ)が標準。Hostヘッダが必須になり、1つのIPアドレスで複数のサイトを運用できる |
| HTTP/2 | テキストではなくバイナリで送る。1つの接続で複数のリクエストを同時に流す多重化、ヘッダの圧縮 |
| HTTP/3 | TCPではなく、UDPの上で動くQUICを使う。パケット損失の影響を受けにくく、接続も速い |
メソッド
リクエストの目的は、メソッドで示す。
| メソッド | 目的 |
|---|---|
| GET | リソースを取得する |
| POST | データを送信して処理させる |
| HEAD | GETと同じだが、ヘッダだけを返させる |
| PUT | リソースを作成・置き換える |
| DELETE | リソースを削除する |
| OPTIONS | 使えるメソッドなどを問い合わせる |
| CONNECT | プロキシにトンネルを作らせる。プロキシ経由でHTTPS通信をするときに使う |
ステータスコード
レスポンスの結果は、3桁のステータスコードで示す。先頭の数字で大まかな意味がわかる。
| 分類 | 意味 | 代表例 |
|---|---|---|
| 1xx | 情報 | 100 Continue |
| 2xx | 成功 | 200 OK |
| 3xx | リダイレクト | 301 Moved Permanently、302 Found、304 Not Modified |
| 4xx | クライアント側のエラー | 401 Unauthorized、403 Forbidden、404 Not Found |
| 5xx | サーバ側のエラー | 500 Internal Server Error、503 Service Unavailable |
301(恒久的な移転)と302(一時的な移転)の違いは、検索エンジンの扱いにも影響するので、午後問題でも問われやすい。
実際の試験ではここに出る!
- ネットワークスペシャリスト 令和7年度 春期 午前Ⅱ 問6
- ネットワークスペシャリスト 令和7年度 春期 午後Ⅰ 問2
- ネットワークスペシャリスト 令和7年度 春期 午後Ⅱ 問2
- ネットワークスペシャリスト 令和5年度 春期 午前Ⅱ 問13
- ネットワークスペシャリスト 令和元年度 秋期 午前Ⅱ 問14
- ネットワークスペシャリスト 令和元年度 秋期 午前Ⅱ 問17
- ネットワークスペシャリスト 平成30年度 秋期 午前Ⅱ 問14
- ネットワークスペシャリスト 平成30年度 秋期 午前Ⅱ 問15