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
タブを全て閉じる