Slide 1

Slide 1 text

知っててうれしい HTTP について 2024/12/10 貞元勝幸 1

Slide 2

Slide 2 text

目次 HTTP とは HTTP の基本構造 HTTP リクエストメソッド HTTP レスポンスステータスコード HTTP バージョン まとめ 2

Slide 3

Slide 3 text

HTTP とは HTTP (HyperText Transfer Protocol) は、Web サーバーとクライアン ト間でデータを送受信するためのプロトコルです。 Web ページの表示やファイルのダウンロードなど、Web サービスの 基盤となる技術です。 HTTP とは 3

Slide 4

Slide 4 text

HTTP の基本構造 HTTP は、リクエストとレスポンスのやり取りで構成されます。 リクエストは、リクエストライン、ヘッダー、ボディの 3 つの要素で 構成されます。 レスポンスは、ステータスライン、ヘッダー、ボディの 3 つの要素で 構成されます。 HTTP の基本構造 4

Slide 5

Slide 5 text

HTTP の基本構造 - リクエスト GET /index.html HTTP/1.1 Host: example.com POST /login HTTP/1.1 Host: example.com Content-Type: application/json { "username": "user", "password": "pass" } HTTP の基本構造 - リクエスト 5

Slide 6

Slide 6 text

HTTP 基本構造 - リクエスト構造 リクエストライン メソッド、リクエスト URI 、HTTP バージョン ヘッダー リクエストに関する情報 ボディ リクエストの内容 リクエストメソッドによっては省略される GET メソッドなど HTTP 基本構造 - リクエスト構造 6

Slide 7

Slide 7 text

HTTP 基本構造 - レスポンス HTTP/1.1 200 OK Date: Fri, 10 Dec 2024 00:00:00 GMT Content-Type: text/html Example

Hello, World!

HTTP/1.1 204 No Content Date: Fri, 10 Dec 2024 00:00:00 GMT HTTP 基本構造 - レスポンス 7

Slide 8

Slide 8 text

HTTP 基本構造 - レスポンス構造 ステータスライン HTTP バージョン、ステータスコード、ステータスメッセージ ヘッダー レスポンスに関する情報 ボディ レスポンスの内容 ステータスコードによっては省略される 204 No Content など HTTP 基本構造 - レスポンス構造 8

Slide 9

Slide 9 text

HTTP リクエストメソッド メソッド 概要 GET リソースの取得 POST リソースの作成 PUT リソースの更新 PATCH リソースの一部更新 DELETE リソースの削除 HEAD ヘッダーの取得 OPTIONS サポートされているメソッドの取得 TRACE リクエストのループバック HTTP リクエストメソッド 9

Slide 10

Slide 10 text

HTTP レスポンスステータスコード ステータスコード 概要 1xx 情報 2xx 成功 3xx リダイレクト 4xx クライアントエラー 5xx サーバーエラー HTTP レスポンスステータスコード 10

Slide 11

Slide 11 text

HTTP レスポンスステータスコード ステータスコード 概要 100 Continue 101 Switching Protocols 102 Processing 103 Early Hints HTTP レスポンスステータスコード 11

Slide 12

Slide 12 text

HTTP レスポンスステータスコード ステータスコード 概要 200 OK 201 Created 202 Accepted 203 Non-Authoritative Information 204 No Content 205 Reset Content 206 Partial Content 207 Multi-Status HTTP レスポンスステータスコード 12

Slide 13

Slide 13 text

HTTP レスポンスステータスコード ステータスコード 概要 300 Multiple Choices 301 Moved Permanently 302 Found 303 See Other 304 Not Modified 307 Temporary Redirect 308 Permanent Redirect HTTP レスポンスステータスコード 13

Slide 14

Slide 14 text

HTTP レスポンスステータスコード ステータスコード 概要 400 Bad Request 401 Unauthorized 402 Payment Required 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable HTTP レスポンスステータスコード 14

Slide 15

Slide 15 text

HTTP レスポンスステータスコード ステータスコード 概要 407 Proxy Authentication Required 408 Request Timeout 409 Conflict 410 Gone 411 Length Required 412 Precondition Failed 413 Payload Too Large HTTP レスポンスステータスコード 15

Slide 16

Slide 16 text

HTTP レスポンスステータスコード ステータスコード 概要 414 URI Too Long 415 Unsupported Media Type 416 Range Not Satisfiable 417 Expectation Failed 418 I'm a teapot 421 Misdirected Request 422 Unprocessable Entity 16

Slide 17

Slide 17 text

HTTP レスポンスステータスコード ステータスコード 概要 423 Locked 424 Failed Dependency 425 Too Early 426 Upgrade Required 428 Precondition Required 429 Too Many Requests 431 Request Header Fields Too Large 17

Slide 18

Slide 18 text

HTTP レスポンスステータスコード ステータスコード 概要 451 Unavailable For Legal Reasons 18

Slide 19

Slide 19 text

HTTP レスポンスステータスコード ステータスコード 概要 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Gateway Timeout 505 HTTP Version Not Supported 506 Variant Also Negotiates 19

Slide 20

Slide 20 text

HTTP レスポンスステータスコード ステータスコード 概要 507 Insufficient Storage 508 Loop Detected 510 Not Extended 511 Network Authentication Required 20

Slide 21

Slide 21 text

HTTP バージョン HTTP/0.9 最初のバージョン GET メソッドのみ対応 HTTP/1.0 バージョン 0.9 に POST メソッドなどを追加 ヘッダーの追加、ステータスコードの追加など HTTP/1.1 現在広く使われているバージョン パイプライン化、キープアライブなどの機能が追加 HTTP バージョン 21

Slide 22

Slide 22 text

HTTP バージョン HTTP/2 マルチプレキシング、ヘッダー圧縮、サーバープッシュなどの機 能が追加 HTTP/3 QUIC プロトコルをベースにしたバージョン 接続の高速化、セキュリティの向上など HTTP バージョン 22

Slide 23

Slide 23 text

まとめ HTTP は Web サーバーとクライアント間でデータを送受信するため のプロトコル HTTP はリクエストとレスポンスのやり取りで構成される HTTP リクエストメソッドには、GET 、POST 、PUT 、DELETE など がある HTTP レスポンスステータスコードには、200 OK 、404 Not Found などがある HTTP バージョンには、HTTP/1.1 、HTTP/2 、HTTP/3 などがある まとめ 23

Slide 24

Slide 24 text

ご清聴ありがとうございました。 24