markdown
HTTP の基本md cd65c2e
lecture/information/networks/http-basics.lecture.n.md
Download PDF

HTTP の基本きほん

date2026-07-14document_iddoc_8e935edb23d90a937b6ae5edc6d4c81ddescriptionHTTPの資源指向の要求・応答意味論、メソッド、状態コード、HTTPS、各バージョンの転送方式を説明する。prerequisitesネットワークの基本 / TCPとIPの基本 / DNSの基本type講義statusactiverelateddata/lecture/information/networks/computer-networks-portal.lecture.n.md / data/lecture/information/networks/tcp-and-ip-basics.lecture.n.md / data/lecture/information/networks/dns-basics.lecture.n.md / data/lecture/information/database/database-portal.lecture.n.md
informationnetworksundergraduatelecture
data/lecture/information/networks/dns-basics.lecture.n.md

1導入どうにゅう

この講義こうぎでは、クライアントが資源しげんに対たいする要求ようきゅうを送信そうしんし、サーバが処理結果しょりけっかを応答おうとうするためのHTTPHypertext Transfer Protocolの意味論いみろんを説明せつめいする。HTTP の要求ようきゅうと応答おうとうを、IP によるパケット転送てんそうやトランスポート層そうの機能きのうと区別くべつする。

2資源しげんと表現ひょうげん

資源しげんResourceとは、HTTP による操作そうさの対象たいしょうであり、URIUniform Resource Identifierによって識別しきべつされる。Web ページ、画像がぞう、API が管理かんりするデータなどを資源しげんとして扱あつかえる。

表現ひょうげんRepresentationとは、ある時点じてんにおける資源しげんの状態じょうたいを表現ひょうげんするデータである。同一どういつの資源しげんが、HTML、JSON、画像形式がぞうけいしきなどの異ことなる表現ひょうげんを提供ていきょうすることもある。この講義こうぎでは、資源しげんへのアクセスに用もちいるURIをURLUniform Resource Locatorと呼よぶ。

HTTP では、クライアントClientが要求ようきゅうを送信そうしんし、サーバServerがその要求ようきゅうを処理しょりして応答おうとうを返送へんそうする。この役割やくわりは個々ここの交換こうかんに対たいして定さだまり、ブラウザに限定げんていされない。

3要求ようきゅうと応答おうとうの意味論いみろん

HTTP 要求ようきゅうは、概念的がいねんてきに次つぎの要素ようそから構成こうせいされる。

  • メソッドMethod: 資源しげんに対たいして要求ようきゅうする意味いみを指定していする。
  • 要求対象ようきゅうたいしょうRequest target: 操作そうさの対象たいしょうを指定していする。
  • フィールドField: 表現形式ひょうげんけいしき、認証にんしょう、キャッシュなどに関かんするメタデータを伝達でんたつする。
  • 内容ないようContent: 必要ひつような場合ばあいに、処理対象しょりたいしょうとなる表現ひょうげんを伝達でんたつする。

HTTP 応答おうとうは、要求ようきゅうの処理結果しょりけっかを分類ぶんるいする状態じょうたいコードStatus code、フィールド、および必要ひつように応おうじた内容ないようから構成こうせいされる。状態じょうたいコードはサーバ自体じたいの状態じょうたいではなく、その要求ようきゅうに対たいする処理結果しょりけっかを表あらわす。

4HTTP/1.1 のメッセージ例れい

HTTP/1.1 は、開始行かいしぎょうとフィールドをテキスト形式けいしきで表現ひょうげんする。たとえば、次つぎの要求行ようきゅうぎょうは /index.html を要求対象ようきゅうたいしょうとする GET 要求ようきゅうである。

http
GET /index.html HTTP/1.1
Host: example.com
Accept: text/html

応答おうとうの開始行かいしぎょうには、HTTP のバージョン、状態じょうたいコード、理由句りゆうくが含ふくまれる。

http
HTTP/1.1 200 OK
Content-Type: text/html

このテキスト形式けいしきは HTTP/1.1 の表現方法ひょうげんほうほうである。HTTP/2 と HTTP/3 は要求行ようきゅうぎょうを使用しようせず、HTTP の意味いみをバイナリフレームで符号化ふごうかする。

5メソッドの性質せいしつ

GETGETは、要求対象ようきゅうたいしょうとなる資源しげんについて、選択せんたくされた現在げんざいの表現ひょうげんの転送てんそうを要求ようきゅうする。GET は安全あんぜんSafeなメソッドとして定義ていぎされ、クライアントはサーバの状態変更じょうたいへんこうを要求ようきゅうしない。また、同一どういつの GET を複数回ふくすうかい実行じっこうしても、意図いとされるサーバ上じょうの効果こうかは一回いっかいの実行じっこうと同おなじである。この性質せいしつを冪等べきとうIdempotentという。ただし、アクセスログの記録きろくなどの付随的ふずいてきな変化へんかは許容きょようされる。

POSTPOSTは、要求ようきゅうに含ふくまれる表現ひょうげんを、要求対象ようきゅうたいしょうとなる資源しげんに固有こゆうの意味いみで処理しょりするよう要求ようきゅうする。フォームの送信そうしん、新あらたな資源しげんの生成せいせい、処理しょりの起動きどうなどに利用りようされ得うるため、POST を単たんなるファイル送信そうしんと定義ていぎすることはできない。POST は一般いっぱんに安全あんぜんでも冪等べきとうでもない。

6状態じょうたいコード

状態じょうたいコードの先頭桁せんとうけたは、処理結果しょりけっかを次つぎのように分類ぶんるいする。

  • 1xx: 情報応答じょうほうおうとう
  • 2xx: 成功せいこう
  • 3xx: リダイレクション
  • 4xx: クライアントエラー
  • 5xx: サーバエラー

200 OK は要求ようきゅうが成功せいこうしたことを表あらわす。404 Not Found は、サーバが要求対象ようきゅうたいしょうの現在げんざいの表現ひょうげんを発見はっけんできない、またはその存在そんざいを開示かいじしないことを表あらわす。したがって、404 だけから資源しげんが永久えいきゅうに存在そんざいしないとは断定だんていできない。

7HTTPS と TLS

HTTPSHTTPSは、TLSの機能きのうによって保護ほごされたHTTP通信つうしんを表あらわす。HTTP/1.1とHTTP/2ではTLSTransport Layer SecurityをTCP上じょうで使用しようし、HTTP/3ではTLSの暗号機能あんごうきのうとハンドシェイクがQUICへ統合とうごうされる。TLSは通信内容つうしんないようの機密性きみつせいと完全性かんぜんせいを保護ほごし、証明書しょうめいしょの検証けんしょうを通つうじて通常つうじょうはサーバを認証にんしょうする。HTTPSはHTTPの要求ようきゅう・応答おうとうの意味いみを変更へんこうしない。また、TLSによる認証にんしょうは、サーバが提供ていきょうする情報内容じょうほうないようの正確性せいかくせいまで保証ほしょうするものではない。

8HTTP のバージョンと転送方式てんそうほうしき

バージョン主おもな下位転送かいてんそうHTTP メッセージの表現ひょうげん
HTTP/1.1TCPテキスト形式けいしきの開始行かいしぎょうとフィールド
HTTP/2TCPバイナリフレーム、多重化たじゅうか
HTTP/3UDP 上じょうの QUICバイナリフレーム、QUIC ストリームによる多重化たじゅうか

資源しげん、メソッド、状態じょうたいコードなどの HTTP の意味論いみろんは、これらのバージョンで概おおむね共通きょうつうする。一方いっぽう、符号化ふごうかと下位かいの転送方式てんそうほうしきは異ことなる。したがって、HTTP が常つねに TCP を利用りようするとは限かぎらない。

9DNS および下位層かいそうとの関係かんけい

URL にドメイン名めいが含ふくまれる典型的てんけいてきな Web アクセスでは、クライアントは DNS による名前解決なまえかいけつの後あと、選択せんたくした IP アドレスへ接続せつぞくし、HTTP の要求ようきゅうを送信そうしんする。ただし、DNS は HTTP の意味論いみろんの一部いちぶではなく、キャッシュされた結果けっかや IP アドレスを直接ちょくせつ使用しようする場合ばあいもある。

IP はパケットを宛先あてさきへ転送てんそうし、TCP または QUIC は HTTP メッセージを運搬うんぱんするための機能きのうを提供ていきょうする。HTTP は、その上うえで資源しげんに対たいする要求ようきゅうと応答おうとうの意味いみを規定きていする。

10要点ようてん

  • HTTP は、URI で識別しきべつされる資源しげんに対たいする要求ようきゅうと応答おうとうの意味論いみろんを規定きていする。
  • メソッドは要求ようきゅうの意味いみを、状態じょうたいコードは処理結果しょりけっかの分類ぶんるいを表あらわす。
  • HTTPS は HTTP を TLS で保護ほごする。HTTP/1.1 と HTTP/2 は通常つうじょう TCP を、HTTP/3 は QUIC を利用りようする。

11次つぎに進すすむ講義こうぎ

data/lecture/information/database/database-portal.lecture.n.md
raw .n.md をコピー
loc をコピー (filepath:line ~ line)
copy share link
copy encoded share link
path をコピー
copy share link
copy encoded share link
copy share link
copy encoded share link
タブを全て閉じる