HTTP
Web用通信プロトコル WebブラウザとWebサーバの間での通信に使われる
電子メールのMIMEをベースに拡張されているような形式
HTTP, WebSocket など
RFC 9110 以降で再編された
https://developer.mozilla.org/ja/docs/Web/HTTP/Resources_and_specifications
HTTP/0.9 1.0 1.1 は TCP上、HTTP/2はSPDYベース、HTTP/3はQUICベースで開発されている
SPDYはHTTPSのみ、HTTP/2は実装がHTTPSのみ? HTTP/3 は TLS対応のHTTPSのみ
Semantics は共通
圧縮も可能
gzip
Brotli
HTTP/2
TLS
RFC 7301 TLS-ALPN
フレームサイズ (24bit?)
フレームタイプ (8+8bit?)
HEADERS, DATAなど
ストリームID (31bit)
QUIC
flag 1
table:HTTP
HTTP/1.1 SPDY HTTP/2 QUIC HTTP/3
TCP UDP
TLS 1.0-1.2 1.0-1.2 1.2 1.2 1.3
non-TLS ○ ✗ ○ ✗ ✗
RFC 9532 HTTP Proxy-Status Parameter for Next-Hop Aliases
RFC 9530 Digest Fields
RFC 9460 Service Binding and Parameter Specification via the DNS (SVCB and HTTPS Resource Records)
RFC 9440 Client-Cert HTTP Header Field
RFC 9421 HTTP Message Signatures https://tex2e.github.io/rfc-translater/html/rfc9421.html
RFC 9412 The ORIGIN Extension in HTTP/3
RFC 9369 QUIC Version 2
RFC 9368 Compatible Version Negotiation for QUIC
RFC 9220 Bootstrapping WebSockets with HTTP/3
RFC 9204 QPACK: Field Compression for HTTP/3
RFC 9114 HTTP/3 https://triple-underscore.github.io/http3-ja.html
RFC 9113 HTTP/2 https://summerwind.jp/docs/rfc9113/
RFC 9112 HTTP/1.1 https://triple-underscore.github.io/http1-ja.html
RFC 9111 HTTP Caching https://triple-underscore.github.io/http-cache-ja.html
RFC 9110 HTTP Semantics
https://triple-underscore.github.io/http-semantics-ja.html
https://triple-underscore.github.io/http-semantics2-ja.html
RFC 9002 QUIC Loss Detection and Congestion Control
RFC 9001 Using TLS to Secure QUIC
RFC 9000 QUIC: A UDP-Based Multiplexed and Secure Transport
RFC 8999 Version-Independent Properties of QUIC
RFC 8740 Using TLS 1.3 with HTTP/2 (廃止) → 9113
RFC 8441 Bootstrapping WebSockets with HTTP/2
RFC 8265 ユーザー名とパスワードを表す国際化された文字列の準備、施行、比較
RFC 8164 Opportunistic Security for HTTP/2 (実験)
RFC 8120 Mutual Authentication Protocol for HTTP
RFC 7838 HTTP Alternative Services 代替サービス
RFC 7617 The 'Basic' HTTP Authentication Scheme
RFC 7616 HTTPダイジェストアクセス認証
RFC 7578 Returning Values from Forms: multipart/form-data
RFC 7540 HTTP/2 (廃止) → 9113
RFC 7469 Public Key Pinning Extension for HTTP (HPKP) (もうない非推奨)
RFC 7301 Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension (ALPN)
RFC 7235 → 9110 HTTP/1.1 認証 (廃止)
RFC 7234 → 9111 (廃止)
RFC 7231 → 9110 HTTP/1.1 Semantics and Content (廃止) https://triple-underscore.github.io/RFC7231-ja.html
RFC 7230 → 9110,9112 HTTP/1.1 Message Syntax and Routing (廃止)
RFC 6797 HTTP Strict Transport Security (HSTS)
RFC 6455 The WebSocket Protocol https://triple-underscore.github.io/RFC6455-ja.html
RFC 6415 Web Host Metadata
RFC 6265 HTTP State Management Mechanism
RFC 2616 HTTP/1.1 (廃止) → 7230-7235
RFC 2145 Use and Interpretation of HTTP Version Numbers (廃止) → 7231
RFC 2068 HTTP/1.1 (廃止) → 2616
RFC 1945 HTTP/1.0 (廃止) → 2068
WebRTC, WebSocket, WebTransport で接続を維持してみたりストリームっぽいこととかができるよ
Webブラウザ
Gecko/Servo系
Mozilla Firefox
SeaMonkey
Servo
WebKit系
Safari
iPhone上のブラウザ全般
Blink系
Chromium
Google Chrome
Microsoft Edge
Opera
Vivaldi
Webサーバ
Apache HTTP Server
NGINX
freenginx
アプリケーションサーバ
Java
Apache Tomcat
WebSphere
関連
HTML
Cookie
XML
MathML
REST / JSON