コンテンツにスキップ

Hypertext Transfer Protocol

Xuất điển: フリー bách khoa sự điển 『ウィキペディア ( Wikipedia ) 』
Hypertext Transfer Protocol
Thông tín プロトコル
Mục đích ハイパーテキストなどの転 tống
Khai phát giả
Đạo nhập 1991 niên(33 niên tiền )(1991)
Phái sinh tiên HTTP/2,HTTP/3,WebDAV
OSI giai tằng アプリケーション tằng
ポート 80
RFC
  • Cộng thông:RFC9110,RFC9111
  • HTTP/1.1:RFC9112
  • HTTP/2:RFC9113
  • HTTP/3:RFC9114

Hypertext Transfer Protocol(ハイパーテキスト・トランスファー・プロトコル,HTTP) はアプリ gian コネクション thượng のリクエスト/レスポンス hình ・ステートレス・メッセージ chỉ hướngThông tín プロトコルである[1].

Khái yếu[Biên tập]

TCPQUICはアプリケーション gian のコネクション hình thông tín を đề cung する. HTTPはこのコネクション thượng を, リソース yếu vọng と phản đáp が, メッセージ単 vị で, 1 vãng phục のクライアントリクエスト&サーバーレスポンスという hình で thông tín される, と định めたプロトコルである[1].

HTTPの phát minh により,インターネットThượng でのリソース công khai とアクセスが dung dịch になった. クライアントがサーバーとコネクションを xác lập し1つのHTTPメッセージを thư いて tống るだけで, サーバー thượng のリソースがHTTPメッセージとして quy ってくる. ゆえにHTTPで công khai されるあらゆるリソースにHTTPという単 nhất の thủ pháp でアクセスできるようになった.

HTTPを khai phát した lý do でありかつ hiện tại も quảng く lợi dụng される dụng đồ はWorld Wide Webである.WebサーバWebブラウザはHTTPで chủ に thông tín しており, ブラウザからのHTTPメッセージに ứng đáp してサーバーがHTMLテキストやJavaScriptコードを tống り phản し, これをブラウザで biểu kỳ することでウェブが thành lập している.

またHTTPはメッセージ hình thức を định める. Cơ bổn đích な khảo え phương は単 thuần で “Hà を” “どうして” dục しいのかを vân える. Lệ えばリクエストメッセージGET /apple.jpgは “apple.jpg họa tượng を, thủ に nhập れたい” を ý vị する.URLが “Hà を” に, メソッドが “どうして” に đương たる.

World Wide WebにおけるWebページなどのリソースは,Uniform Resource Identifierによって chỉ định される. HTTP を sử dụng してリソースにアクセスするときは, http: が tiên đầu についた URL を sử dụng する. Hạ にURL の lệ を cử げる.

http://www.example.co.jp/~test/samples/index.html

Tối sơ の HTTP/0.9 ではURLを chỉ định してコンテントをダウンロードするのみの giản 単なやりとりだったが, HTTP/1.0 で cải lương された.

  • リクエストのセマンティクスを chỉ định する, dạng 々なリクエストメソッドが truy gia された. POSTを sử って, アップロード ( クライアントからサーバへのデータの転 tống ) が khả năng になった.
  • NNTPSMTPのような các chủng ヘッダが định nghĩa され,HTTP cookieなどの lợi dụng が khả năng になった.

HTTP/1.1 では phục sổ データを hiệu suất よく転 tống するための trì 続 đích tiếp 続や,プロキシの lợi dụng なども tưởng định した sĩ dạng になった. さらにHTTP/2HTTP/3が sách định された. Hiện tại ではHTTPセマンティクスと các バージョンの thủ 続きが phân ly して định nghĩa されている (# quy cáchを tham chiếu ).

このほかの điểm を cá điều thư きで kỳ す.

Lịch sử[Biên tập]

イギリスの vật lý học giảティム・バーナーズ=リー1990 niênMạt,ロバート・カイリューと cộng に sơ のWebブラウザとWebサーバを tác thành した. ブラウザには thông tín をするためのプロトコルが tất yếu だったので, nhị nhân はHTTPの tối sơ kỳ のバージョンを thiết kế した.

Dĩ lai インターネットの đại bộ phân をHTTP thông tín が chiêm めるようになり,1998 niênにはインターネット thượng の thông tín の75%がHTTPによるものになった.

Tối sơ kỳ のHTTP/0.9の sĩ dạng thư は chỉ に ấn xoát すれば1 mai で tế むような phi thường に giản tố なドキュメントだったが, 2 độ のバージョンアップを kinh たHTTP/1.1の sĩ dạng thư は thật に176ページ cận くの phân lượng に bành れあがった.

HTTP/0.9[Biên tập]

1991 niênに tối sơ にドキュメント hóa されたバージョン[2].メソッドは GET しかなかった. レスポンスは単 thuần にドキュメントの nội dung を phản してコネクションを thiết đoạn するだけで, レスポンスコードの quy định もない. Hạ ký は, HTTP/0.9 のリクエストの lệ.

GET /index.html

HTTP/1.0[Biên tập]

1996 niên5 nguyệtRFC1945として phát biểu された. Sĩ dạng が RFC で tráp われるようになった. メソッドに POST など GET dĩ ngoại のものが tăng えた. レスポンスはヘッダーがつくようになり, ステータスコードを hàm めるようになった. HTTP/0.9 と khu biệt するため, リクエストプロトコルにバージョンを hàm めることになった.

HTTP/1.0のリクエスト
GET/index.htmlHTTP/1.0

HTTP/1.1[Biên tập]

1997 niên1 nguyệtRFC2068として sơ bản が phát biểu された. その hậu, 3 hồi cải đính され, hiện tại はセマンティクス・キャッシングを trừ く bộ phân がRFC9112で quy định されている.

Danh tiền ベースバーチャルホストのため, Hostヘッダーフィールドの quy định が truy gia された.

HTTP/1.1のリクエスト
GET/index.htmlHTTP/1.1
Host:foo.example.com

HTTP/2[Biên tập]

HTTP/2の mục tiêu はHTTP/1.1のトランザクション・セマンティクスとの hoàn toàn な hậu phương hỗ hoán tính を duy trì したまま phi đồng kỳ な tiếp 続のĐa trọng hóa,ヘッダÁp súc,リクエストとレスポンスのパイプライン hóaを thật hiện することである.Googleによって lập ち thượng げられ[3],GoogleのブラウザーであるChromeだけではなく, tha にも,Opera,Firefox,Amazon Silkなどが đối ứng しているHTTP hỗ hoán のプロトコルSPDYの nhân khí が cao まっていることに đối ứng するために khai phát された[4].

HTTP/3[Biên tập]

HTTP-over-QUIC ( hq ) としてIETFが khai phát していた tân たなThông tín プロトコルが, HTTP/3へと cải danh される.[5] IETFが sách định を tiến めているQUICトランスポート tằngにおけるプロトコルの danh xưng であり, アプリケーション tằng プロトコルであるHTTP-over-QUICとの khu biệt を minh xác にするため, このような danh xưng 変 canh に chí った.[6]

HTTP/2と bỉ べ, đa trọng hóa するストリームの thủ り tráp いが hạ vị tằng のQUICへ di hành したこと[7],ヘッドオブラインブロッキング(Anh ngữ bản)を hồi tị するためのヘッダ áp súc の変 canh ( HTTP/3 dụng にQPACKが khai phát されている )[8]などの soa dị がある.

Động tác[Biên tập]

Thông tín の khai thủy[Biên tập]

Tha のプロトコル đồng dạng, クライアント trắc とサーバ trắc では dịch cát が đại きく dị なる. HTTP thông tín を khai thủy できるのはクライアント trắc のみである.

クライアント trắc がサーバにリクエストを tống り, サーバがクライアントにレスポンスを phản すのが tối も điển hình đích なHTTPのやりとりである.

Tiếp 続[Biên tập]

システム gian でメッセージをやりとりするには tiếp 続を xác lập させる tất yếu がある. HTTP/0.9~HTTP/1.1およびHTTP/2ではTCPを sử dụng する.

HTTP/0.9ではクライアントのリクエストごとにTCP tiếp 続を xác lập させる tất yếu があった. これは đương thời のWebサイトがシンプルなテキストベースであることが đa かったためである. Cận niên ではJavaScriptやアニメーション họa tượng など, đa sổ のオブジェクトが mai め込まれたWebサイトが nhất bàn đích となってきており, これらのオブジェクトを thủ đắc するたびにTCP tiếp 続を xác lập するのはサーバやネットワークに đại きな phụ đam を cường いるため, 1 hồi のTCP tiếp 続で, phục sổ のHTTPリクエスト・レスポンスをやり thủ りする trì 続 đích tiếp 続がHTTP/1.0の拡 trương として đạo nhập された. その hậu, HTTP/1.1では, trì 続 đích tiếp 続がデフォルトとなった. すなわち, hà も chỉ định しなければ trì 続 đích tiếp 続となり, trì 続 đích tiếp 続を vọng まなければヘッダーフィールドにConnection: closeを truy gia する sĩ dạng となっている.

パイプライン[Biên tập]

クライアントは tiền のリクエストに đối するサーバの ứng đáp を đãi たずに biệt のリクエストを phát hành できる.

リクエストメソッド[Biên tập]

HTTPでは8つのメソッドが định nghĩa されている. ただし, thật tế のHTTP thông tín ではGETとPOSTメソッドが đại bộ phân を chiêm める.

HTTPメソッドの nhất lãm
メソッド HTTP/0.9 HTTP/1.0 HTTP/1.1
GET
POST
PUT
HEAD
DELETE
OPTIONS
TRACE
CONNECT
GET
Chỉ định されたURIのリソースを thủ り xuất す. HTTPの tối も cơ bổn đích な động tác で, HTTP/0.9では duy nhất のメソッド.
POST
GETとは phản đối にクライアントがサーバにデータを tống tín する. WebフォームやĐiện tử yết kỳ bảnへの đầu cảo などで sử dụng される. GETの tràng hợp と đồng じく, サーバはクライアントにデータを phản すことができる.
PUT
Chỉ định したURIにリソースを bảo tồn する. URIが chỉ し kỳ すリソースが tồn tại しない tràng hợp は, サーバはそのURIにリソースを tác thành する. Họa tượng のアップロードなどが đại biểu đích.
DELETE
Chỉ định したURIのリソースを tước trừ する.
OPTIONS
サーバを điều tra する. Lệ えば, サーバがサポートしているHTTPバージョンなどを tri ることができる.
HEAD
GETと tự ているが, サーバはHTTPヘッダのみ phản す. クライアントはWebページを thủ đắc せずともそのWebページが tồn tại するかどうかを tri ることができる. Lệ えばWebページのリンク tiên が sinh きているか, データを toàn て thủ đắc することなく kiểm chứng することができる.
TRACE
サーバまでのネットワーク kinh lộ をチェックする. サーバは thụ け thủ ったメッセージのそれ tự thể をレスポンスのデータにコピーして ứng đáp する. WindowsのTracertやUNIXのTracerouteとよく tự た động tác.
CONNECT
TCPトンネルを tiếp 続する. Ám hào hóa したメッセージをプロキシサーバを kinh do して転 tống する tế に dụng いる. Đương sơ,ネットスケープコミュニケーションズによって khảo án されたものがIETFドラフトTunneling TCP based protocols through Web proxy serversとして công khai され[9],RFC2817に thủ り込まれた. その hậu,RFC7230で định nghĩa が canh tân されている[10].

HTTPの sĩ dạng dĩ ngoại で định nghĩa しているメソッドは, IANAのHypertext Transfer Protocol (HTTP) Method Registry[11]で quản lý されている. WebDavで sử dụng するものや,RFC5789PATCHメソッド(Anh ngữ bản)などがある.

サーバの liên huề[Biên tập]

バーチャルホスト[Biên tập]

1つのサーバーで phục sổ のホスト danh に đối するHTTPリクエストを thụ け phó ける cơ năng である.

インターネット nhân khí に bạn い đa くの xí nghiệp がWebサイトを trì ち thủy めたが, đương thời はまだまだ xí nghiệp が tự tiền のWebサーバを vận dụng するのは nhân viên, hiệu suất の vấn đề で nan しく,ISPのサーバでホスティングをしていた. また, 1 xã ごとに chuyên dụng サーバを dụng ý するほどのことでもないため, 1 đài のサーバで phục sổ のWebサイトを vận dụng していた.

しかし, IPアドレスのみで tương thủ を đặc định するHTTP/1.0はこれに đối ứng できなかった. Lệ えば, ある1 đài のサーバに foo.example.com と bar.example.com という2つの仮 tưởng Webサーバがあり, クライアントは http://foo.example.com/index.html にアクセスしたいとする. この tràng hợp はDNSサーバに foo.example.com のIPアドレスを vấn い hợp わせ, thứ にそのIPアドレスを sử って cai đương サーバにアクセスし, GET index.html を yếu cầu することになる. しかし đồng じサーバ thượng にある bar.example.comもIPアドレスは đồng じであり, もし lạng phương の仮 tưởng サーバに index.html というファイルが tồn tại すれば, クライアントがどちらにアクセスしようとしているのか, phán biệt できない.

Đối sách としてはそれぞれにIPアドレスを phó dữ する phương pháp もあるが, IPv4の tư nguyên を vô đà にすることになる. この vấn đề を giải quyết するため, HTTP/1.1でHostヘッダーフィールドが truy gia され, danh tiền ベースバーチャルホストが dụng いられるようになった.

Danh tiền ベースバーチャルホストのため, dĩ hạ のようにHTTPリクエストでホスト danh を chỉ định する.

  • HTTP/1.1: Hostヘッダーフィールドでホスト danh を chỉ định する.
  • HTTP/2およびHTTP/3::authority nghi tự ヘッダーフィールドでホスト danh を chỉ định する.

リダイレクト[Biên tập]

Biệt のURIに đối して tái độ のメソッド thật hành を yếu cầu する cơ năng である. 301 Movedや303 See Otherなどのリダイレクトを chỉ kỳ するステータスコードとURIを thụ け thủ り, クライアントはこのURIに tái độ メソッドを thật hành する.

クッキー[Biên tập]

HTTPメッセージ[Biên tập]

リクエストとレスポンスでやり thủ りされるデータは, HTTPメッセージと hô ばれる. クライアントからリクエストHTTPメッセージを tống り, サーバーからレスポンスHTTPメッセージを phản す.

HTTPメッセージは dĩ hạ で cấu thành される[12].

  • コントロールデータ
  • ヘッダー
  • コンテント
  • トレイラー

なおHTTP/1.1では, コントロールデータをリクエスト hành ・ステータス hành として biểu hiện し, コンテントを cách nạp する bộ phân をメッセージボディまたは単にボディと hô ぶ.

ヘッダー・コンテント・トレイラーは không となる tràng hợp もある.

Hạ にもっとも単 thuần なクライアントとサーバ(www.google.co.jp:80)とのやり thủ りの lệ を cử げる.

クライアントのリクエスト:

GET/HTTP/1.1
Host:www.google.co.jp

この lệ では, リクエスト hành とヘッダーにフィールドが1 hạng mục あるのみで, ボディは không でトレーラーも vô い. リクエスト hành はメソッド, リクエストターゲット, HTTPバージョンの3つの yếu tố から cấu thành され, それぞれスペースで khu thiết られる. メソッドはGET,リクエストターゲットは “/”, HTTPバージョンは1.1である.

GETはリソースを thủ đắc するためのメソッドであり, リクエストターゲットの “/” はURIのパス bộ phân であってルートリソースを đối tượng にしたリクエストであることを kỳ している.

サーバのレスポンス:

HTTP/1.1200OK
Cache-Control:private
Content-Type:text/html
Set-Cookie:PREF=ID=72c1ca72230dea65:LD=ja:TM=1113132863:LM=1113132863:S=nNO7MIp
W2o7Cqeu_;expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.co.jp
Server:GWS/2.1
Date:Sun, 10 Apr 2005 11:34:23 GMT
Connection:Close

<html><head><metahttp-equiv="content-type"content="text/html; charset=Shift_JI
S "><title>Google</title><style><!--
…… Dĩ hạ tỉnh lược -->

Tiên đầu のステータス hành はHTTPバージョン, ステータスコード, ステータスメッセージから cấu thành される. ステータスコードの “200” は処 lý の thành công を biểu し, これを bổ túc するメッセージが “OK” である.

2 hành mục dĩ hàng にヘッダフィールドが続く. さらに không hành を hiệp んで, レスポンスボディとなる. このレスポンスにもトレーラーは vô い.

HTTPヘッダフィールド[Biên tập]

ヘッダの các yếu tố は

フィールド danh: Nội dung

のペアで cấu thành される.

ブラウザの tình báo を biểu すUser-Agent,Sử dụng hầu bổ ngôn ngữ を biểu すAccept-Language,Tha ページへのリンクを siêm った tràng hợp にそのリンク nguyên ページのURLを biểu すRefererなどが đại biểu đích なフィールドである.

なお, リクエスト thời のHostヘッダはHTTP/1.1では tất tu であるが, HTTP/1.0ではなくてもよい. ただし, サーバがバーチャルホストを lợi dụng している tràng hợp は,Hostヘッダがないとリソース thủ đắc に thất bại するので, たとえHTTP/1.0を sử dụng していてもHostヘッダを phó gia しなければならない.

HTTPヘッダフィールドの nhất lãm[Biên tập]

リクエストヘッダ
ヘッダ Khái yếu HTTP/0.9 HTTP/1.0 HTTP/1.1
Accept クライアントの thụ け nhập れ khả năng コンテンツタイプを kỳ す
Accept-Charset クライアントの thụ け nhập れ khả năng văn tự セットを kỳ す
Accept-Encoding クライアントの thụ け nhập れ khả năng văn tự エンコーディングを kỳ す
Accept-Language クライアントの thụ け nhập れ khả năng ngôn ngữ を kỳ す
Authorization クライアントの nhận chứng tình báo を kỳ す
Cookie クライアントの trạng thái quản lý tình báo をサーバに phản す
Cookie2 HTTP/1.1のSet-Cookie2ヘッダの thụ け nhập れ khả năng をサーバに tri らせる
Expect クライアントがサーバに kỳ đãi する động tác を kỳ す
From リクエスト phát hành giả cá nhân の tình báo を kỳ す. Nhất bàn đích に điện tử メールアドレスを sử dụng する
Host Yếu cầu しているオブジェクトがあるホストを kỳ す
If-Match if vănを dụng い điều kiện が chân の tràng hợp のみリクエストを処 lý するようサーバに yếu cầu する
If-None-Match If-Matchの nghịch で điều kiện が chân でない tràng hợp のみリクエストを処 lý する yếu cầu
If-Range Điều kiện が chân の tràng hợp のみ chỉ định したオブジェクトの phạm 囲を phản すようサーバに yếu cầu する
If-Modified-Since Chỉ định nhật thời dĩ hàng にオブジェクトが変 canh されている tràng hợp のみリクエストを処 lý するよう yếu cầu する
If-Unmodified-Since If-Modified-Sinceの nghịch で chân でないときのみ thật hành する
Max-Forwards リクエストの trung gian システム kinh do sổ を tối đại いくつまでかを chỉ định する
Proxy-Authorization クライアントがプロキシサーバに đối して tự thân の nhận chứng を hành う
Range オブジェクト toàn thể でなくリソースの nhất bộ を yếu cầu する
Referer リクエストの xuất sở を kỳ す. Nhất bàn đích にはユーザの siêm ったWebページのURLが dụng いられる
TE レスポンスの thụ け nhập れ khả năng 転 tống エンコーディングを kỳ す
User-Agent クライアントのWebブラウザなどの tình báo を kỳ す
レスポンスヘッダ
ヘッダ Khái yếu HTTP/0.9 HTTP/1.0 HTTP/1.1
Accept-Ranges オブジェクトの nhất bộ に đối するリクエストをサーバが thụ け nhập れ khả năng か kỳ す
Age オブジェクトの kinh quá thời gian を miểu 単 vị で phản す
ETag オブジェクトのエンティティタグ trị を kỳ す
Location オブジェクトの tràng sở を kỳ す
Proxy-Authenticate プロキシサーバがクライアントに nhận chứng を yếu cầu するときに dụng いる
Retry-After リクエストの tái thí hành をいつ hành うかをクライアントに thông tri する
Server サーバのベンダー danh, バージョン phiên hào を kỳ す
Set-Cookie2 サーバがクライアントにCookieを tống tín するときに dụng いる
Vary サーバがレスポンス nội dung を quyết định する tế にリクエストURI dĩ ngoại に dụng いたヘッダのリストを kỳ す
WWW-Authenticate クライアントに đối してリクエストの tái phát hành を yếu cầu する. Nhận chứng tình báo も hàm まれる
Nhất bàn ヘッダ
ヘッダ Khái yếu HTTP/0.9 HTTP/1.0 HTTP/1.1
Cache-Control メッセージの kinh do する trung gian キャッシュの động tác を chỉ kỳ する
Connection Đương cai の tiếp 続に đối するオプションを chỉ kỳ する
Date メッセージの tác thành nhật thời を kỳ す
Pragma メッセージに quan する truy gia tình báo を kỳ す
Trailer メッセージボディの hậu に truy gia のヘッダーが biểu れることを kỳ す
Transfer-Encoding クライアントの転 tống を mục đích としたオブジェクトのエンコーディングを kỳ す
Upgrade Thông tín tương thủ に biệt のプロトコルにアップデートするよう yếu cầu する
Via プロキシサーバなど trung 継 địa điểm を kỳ す.
Warning メッセージに quan する truy gia tình báo を kỳ す. Thông thường はキャッシュの vấn đề を cảnh cáo するときに sử われる
エンティティヘッダ
ヘッダ Khái yếu HTTP/0.9 HTTP/1.0 HTTP/1.1
Allow オブジェクトがサポートするHTTPメソッドを kỳ す
Content-Encoding オブジェクトのエンコーディングを kỳ す
Content-Language オブジェクトの ngôn ngữ ( nhân gian の ngôn ngữ ) を kỳ す
Content-Length オブジェクトのサイズをバイト単 vị で kỳ す
Content-Location オブジェクトの tràng sở を kỳ す
Content-MD5 オブジェクトのメッセージダイジェストを vận ぶ
Content-Range メッセージボディで vận ばれるオブジェクトの phạm 囲を kỳ す
Content-Type オブジェクトのタイプを kỳ す
Expires オブジェクトの hữu hiệu kỳ hạn の nhật thời を kỳ す
Last-Modified オブジェクトが tối hậu に変 canh された nhật thời を kỳ す
Accept
サーバのレスポンスに hàm まれるメッセージボディで thụ け nhập れることが xuất lai るコンテンツタイプと các コンテンツタイプの tương đối đích な ưu tiên độ を chỉ định するリクエストヘッダ. Chỉ định できるコンテンツタイプはIANAによって định nghĩa されている.
Accept: text/plain; q=0.5, text/html,
text/x-dvi; q=0.8, text/x-c
Thượng ký のようにAcceptヘッダには hành をわけて phục sổ のコンテンツタイプを chỉ định できる. Thượng ký の lệ はいずれの4のコンテンツタイプのいずれも thụ け nhập れ khả năng であることを kỳ す. 0.5や0.8といった sổ tự は phẩm chất hệ sổ で0〜1の phạm 囲の sổ trị である. Sổ trị の chỉ định がなければ1.0となる.
  • text/plain; q=0.5
  • text/html
  • text/x-dvi; q=0.8
  • text/x-c
Accept-Charset
レスポンスで phản されるメッセージボディのVăn tự コードを chỉ định するリクエストヘッダ. Acceptと đồng じく phục sổ chỉ định でき phẩm chất hệ sổ も thiết định できる. Định nghĩa tế み văn tự セットはIANAが quản lý している.
Accept-Charset: UTF-8, *; q=0.8
この lệ だとクライアントはUTF-8を ưu tiên đích に hi vọng しているが tha の văn tự セットとの tương đối ưu tiên độ 0.8で thụ け nhập れている. ただしサーバからのレスポンスのHTTPヘッダそのものの văn tự コードは thường にISO-8859-1である.
Accept-Encoding
クライアントが thụ tín できるメッセージボディのエンコーディングを chỉ định する.
Accept-Encoding: gzip, deflate
この lệ ではクライアントはgzip,またはzlibフォーマットに đối ứng している. ただし tất ずしもここで chỉ định されたエンコーディングでメッセージボディが phản ってくるとは hạn らない.
Accept-Encodingで chỉ định khả năng なエンコーディングは, IANAがHTTP Content Coding Registryとして quản lý されている[13].
Accept-Language
レスポンスの ngôn ngữ ( nhân gian の ngôn ngữ ) に đối する ưu tiên độ を chỉ định する. Ngôn ngữ の chỉ định にはIETF ngôn ngữ タグを dụng いる. Thư き phương は tha のAccept- quần と変わらず.
Accept-Language: en-gb, en; q=0.8
Thượng ký の lệ はまずイギリス anh ngữを yếu cầu し, lợi dụng できない tràng hợp はその tha の anh ngữ を yếu cầu する.
Accept-Ranges
Acceptで thủy まる tha のヘッダフィールドと vi いレスポンスヘッダである. Hiện tại の sĩ dạng では2つの chỉ định phương pháp しかない.
Age
リソースの thôi định kinh quá thời gian を biểu kỳ するレスポンスヘッダ. キャッシュサーバーはAgeヘッダの trị からキャッシュしたリソースが hữu hiệu かどうかを phán định する.
Allow
Authentication-info
ユーザ nhận chứng のやりとりの tối hậu で dụng いられる, thành công したレスポンスのサーバが hàm めることの xuất lai るレスポンスヘッダ.
Authorization
サーバに đối するクライアント tự thân の nhận chứng を hành うことが xuất lai る.
Cache-Control
キャッシングの động tác を chỉ định するためのマスターヘッダ.
Connection
Tiếp 続に đối するオプションを chỉ định する. その trị には dĩ hạ が sử dụng される.
keep-alive
Trì 続 đích tiếp 続を hành う.
close
Trì 続 đích tiếp 続を hành わない.
upgrade
Tha のプロトコルへのアップグレードを hi vọng する.
Content-Encoding
Content-Language
リソースの biểu hiện に dụng いられる ngôn ngữ の minh kỳ に sử われる. Ngôn ngữ の chỉ định はAccept-Languageヘッダと đồng じ.
Content-Length
Content-Location
Content-MD5
メッセージボディが変 canh されず uyển tiên に giới いたことの bảo chứng に dụng いる.MD5によるハッシュ trị をヘッダー trị に ký tái する. ただし ác ý の cải ざんに đối しては đương nhiên MD5も cải ざんされるのであまり cơ năng はしない. どちらかといえば ngẫu phát đích な変 hóa が sinh じていないことの bảo chứng をしている[14].RFC7231で廃 chỉ された[15].
Content-Range
ダウンロードの tái khai に dụng いられる.
Content-Type
メッセージボディに hàm まれるオブジェクトタイプを kỳ す. Thứ の lệ はリソースがテキストファイル, văn tự セットはISO-8859-4を sử dụng していることを kỳ している.
Content-Type: text/plain; Charset=ISO-8859-4
Cookie
クライアントがHTTP trạng thái quản lý を vọng む tràng hợp にサーバから thụ け thủ ったクッキーを dĩ hậu のリクエストに thứ の lệ のようなヘッダを phó gia する.
Cookie: $Version= "1"; NAME= "VALUE";
$Path= "/shopping"; $domain= "www.shop.com" +
$Port= "80"
$VersionはHTTPのバージョン, NAMEはクッキーの danh tiền である. $から thủy まるクッキー danh は sử dụng が cấm chỉ されている.
Cookie2
Cơ bổn đích にCookieヘッダとCookie2ヘッダは biệt vật である.
Date
サーバがメッセージを sinh thành した nhật thời を kỳ す. リソースの canh tân nhật thời を kỳ すLast-Modifiedヘッダとは biệt である.
HTTP/1.1では thứ のような hình thức を dụng いる. これはRFC7231の7.1.1.1. Date/Time Formatsで định nghĩa されている. HTTP/1.1の dĩ tiền の bản であるRFC2616では, nhật thời の hình thức の định nghĩa にRFC1123を tham chiếu していた ( nội dung は đồng đẳng である ).
Date: Sun, 06, Nov 1994 08:49:37 GMT
HTTP sĩ dạng ではレスポンスにDateヘッダを hàm めることを cầu めている. ただしレスポンスのステータスがサーバエラーの tràng hợp にはDateヘッダは phản らない.
ETag
Chủ にキャッシングのパフォーマンスを hướng thượng する mục đích で sử われる.
Expect
サーバに đối して đặc định の động tác の kỳ đãi を tri らせる. Dụng đồ としてはクライアントがサーバに đối して100 Continueステータスを phản すことを kỳ đãi する tràng hợp に sử われる.
Expect: 100-continue
サーバが kỳ đãi に ứng じられない tràng hợp は417 Expectation Failedを phản す. クライアントがいくつかのプロキシ kinh do で thông tín している tràng hợp, các プロキシサーバはExpectヘッダの nhất thiết の tu chính を hứa されない.
Expires
オブジェクトの hữu hiệu kỳ hạn を kỳ す. このヘッダで chỉ định された nhật thời までキャッシュはレスポンスのコピーを bảo trì し, リクエストに đối するレスポンスとして phản すことができる. サーバがオブジェクトのキャッシュを vọng まない tràng hợp にはExpiresヘッダに quá khứ の nhật thời を thiết định することが đa い. Sĩ dạng では1 niên dĩ thượng tiên の nhật thời は thiết định できない.
Expires: Thu, 28 Aug 2010 16:00:00 GMT
Cache-Controlヘッダのmax-ageディレクティブはExpiresヘッダより ưu tiên されるため chú ý が tất yếu である.
From
リクエストを phát hành したユーザを đặc định することが xuất lai る. 1990 niên đại では điện tử メールアドレスを thiết định することが đa かったが,Mê hoặc メールの vấn đề もあり hiện tại では đãi ど sử われていない.
From: [email protected]
Host
Chủ にレンタルサーバのサポートを mục đích としてHTTP/1.1で đạo nhập された. Hiện tại ではHostヘッダを lợi dụng できない tràng hợp, レンタルサーバのWebサイトとまともな thông tín ができないと ngôn ってよい ( tường tế はHTTP# lịch sửを tham chiếu ).
If-Match
ETagが nhất trí した tràng hợp のみ, メソッドを thật hành するようにサーバに yếu cầu する. Lệ えばウィキペディアを biên tập する tế, ký sự のソースを thủ đắc し, thư き hoán える tế の gian に biệt のユーザが kí に biên tập していないかを phán đoạn するときなどに dụng いられる.
  1. Lợi dụng giả: AがHTTPの ký sự を thủ đắc.ETagは1234.
  2. Lợi dụng giả: BがHTTPの ký sự を thủ đắc.ETagは1234.
  3. Lợi dụng giả: AがHTTPのETagを tái độ thủ đắc. Tiên ほど thủ đắc したETag: 1234と hiện tại のETag: 1234が nhất trí.
  4. Lợi dụng giả: AがHTTPの ký sự を biên tập.ETagは1256になる.
  5. Lợi dụng giả: BがHTTPのETagを tái độ thủ đắc. Tiên ほど thủ đắc したETagと hiện tại のETagはマッチせず.
  6. サーバは lợi dụng giả: Bの thư き込みを cự phủ.
If-Modified-Since
Chỉ định nhật thời dĩ hàng にオブジェクトが変 canh されている tràng hợp のみ, メソッドを thật hành するようにサーバに yếu cầu する. Thông tín lượng の tước giảm に hiệu quả がある.
If-None-Match
If-Matchの nghịch で, ETagが nhất trí しない tràng hợp のみの thật hành を yếu cầu する.
If-Range
クライアントがキャッシュにオブジェクトの nhất bộ phân を trì っている tràng hợp にパフォーマンスを hướng thượng できる.
If-Unmodified-Since
If-Modified-Sinceの nghịch で, chỉ định thời khắc dĩ hàng に変 canh がない tràng hợp のみの thật hành を yếu cầu する.
Last-Modified
レスポンスでオブジェクトの tối chung canh tân nhật thời を kỳ す. リクエスト thời のIf-Modified-Sinceヘッダと tổ み hợp わせることで, hiệu suất đích な thông tín が khả năng になる.
Location
サーバがクライアントにリダイレクト tiên URLを tri らせる tế に dụng いられる. Nhất bàn đích にステータスコードが3xx đại のレスポンスと cộng に sử われるが201 Createdのレスポンスでも sử うことができる.Content-Locationヘッダと danh tiền が tự ているが toàn く quan hệ のない biệt のヘッダであるため chú ý.
Max-Forwards
プロキシサーバなどを kinh do する tế の tối đại ホップ sổ を chỉ định する. Nhị trọng ループなどでサーバから ứng đáp が đắc られない tràng hợp の vấn đề giải quyết の tế,OPTIONメソッドやTRACEメソッドと cộng に dụng いられる.

HTTPステータスコード[Biên tập]

ステータスコードはサーバからのレスポンスで, リクエストの kết quả を thông tri する. 3 hằng の sổ tự から thành り, おおまかな phân loại として, 1xxは “Tình báo”, 2xxは “Thành công”, 3xxは “リダイレクト”, 4xxは “クライアントエラー”, 5xxは “サーバエラー” を kỳ す.

セキュリティ kỹ thuật[Biên tập]

いくつかの quan điểm でセキュリティに quan する truy gia cơ năng が tồn tại する.

HTTPS[Biên tập]

セキュアな thông tín lộ でHTTP thông tín を hành うことを thông thường HTTPSと ngôn う.

HTTP nhận chứng[Biên tập]

HTTPの trung で nhận chứng を hành う sĩ tổ みが dụng ý されている.

Basic nhận chứng[Biên tập]

HTTP/1.1で định nghĩa されている tối も単 thuần なセキュリティ kỹ thuật である. “Cơ bổn nhận chứng を dụng いるくらいならなにも sử わない phương がまし” と chủ trương する nhân もいる[16].Bình vănで nhận chứng tình báo を tống tín する sĩ tổ みであるため, TLS (HTTPS)など an toàn を xác bảo した thông tín lộ での lợi dụng が vọng ましい. Thông thường サーバはステータスコード401で ứng đáp する.

Digest nhận chứng[Biên tập]

Quy cách[Biên tập]

HTTPはIETFを thủy めとした tiêu chuẩn hóa đoàn thể により quy cách hóa されている. Dĩ hạ はその nhất bộ である.

セマンティクス キャッシュ Thủ 続き
HTTP/1.1 RFC9110 RFC9111 RFC9112
HTTP/2 RFC9113
HTTP/3 RFC9114

Lịch sử đích には các バージョンが độc lập して quy cách hóa されてきた. しかし hiện hành の3バージョン ( v1.1, v2, v3 ) が cộng thông のセマンティクスを duy trì していたことから, これを độc lập した quy cách とする hoạt động が thôi tiến され hiện tại の hình になっている[17].

Phái sinh ・拡 trương プロトコル[Biên tập]

HTTPSのほか, dĩ hạ のようなHTTPのセマンティクスを lợi dụng するプロトコル, HTTPの cấu văn を nguyên とするプロトコルなどが tồn tại する. Dĩ hạ はその nhất lệ である.

  • WebDAV:HTTP thượng でファイル転 tống を thật hiện するプロトコル.
  • WebSocket:Song phương hướng thông tín プロトコル.
  • Internet Printing Protocol(IPP): プリンタの chế ngự と ấn xoát データの vân tống を hành うプロトコル.
  • UPnPでは, HTTPをUDP thượng で sử dụng するHTTPUや,マルチキャストで sử dụng するHTTPMUが quy định された.
  • Hyper Text Coffee Pot Control Protocol(HTCPCP): エイプリルフールのジョーク. コーヒーポットの chế ngự cơ năng を hữu するプロトコル.

なお, このようなHTTPの lợi dụng に quan する văn thư としてRFC9205Building Protocols with HTTP (BCP 56)が tồn tại する.

Cước chú[Biên tập]

  1. ^ab"The Hypertext Transfer Protocol (HTTP) is a family of stateless, application-level, request/response protocols... HTTP is a stateless request/response protocol for exchanging 'messages' across a connection."RFC9110.
  2. ^The HTTP Protocol As Implemented In W3
  3. ^Sebastian Anthony (2012 niên 3 nguyệt 28 nhật ). “S&M vs. SPDY: Microsoft and Google battle over the future of HTTP 2.0”.ExtremeTech.2014 niên 9 nguyệt 23 nhậtDuyệt lãm.
  4. ^Jerome Louvel (2011 niên 10 nguyệt 6 nhật ). “Can the rise of SPDY threaten HTTP?”.Restlet.2014 niên 9 nguyệt 23 nhậtDuyệt lãm.
  5. ^Gigazine『UDPベースの “HTTP-over-QUIC” が tân HTTPバージョン “HTTP/3” に danh xưng 変 canh される』”.GIGAZINE (2018 niên 11 nguyệt 14 nhật ).2018 niên 11 nguyệt 14 nhậtDuyệt lãm.
  6. ^IETF Meetingの tư liêu スライド
  7. ^QUICの thoại (QUICプロトコルの giản 単なまとめ)”.ASnoKaze blog(2018 niên 10 nguyệt 31 nhật ).2019 niên 5 nguyệt 12 nhậtDuyệt lãm. “Hậu thuật のストリームの quản lý がQUICレイヤに di り, それにあわせフレームの変 canh やQUICストリームの lợi dụng phương pháp の định nghĩa”
  8. ^QUICの thoại (QUICプロトコルの giản 単なまとめ)”.ASnoKaze blog(2018 niên 10 nguyệt 31 nhật ).2019 niên 5 nguyệt 12 nhậtDuyệt lãm. “ヘッドオブラインブロッキング tị けるために, HPACKをQUIC dụng に cải lương したQPACKを dụng いる”
  9. ^RFC[https://datatracker.ietf.org/doc/html/rfc2817 2817 Upgrading to TLS Within HTTP/1.1]” (2000 niên 5 nguyệt ).2019 niên 4 nguyệt 26 nhậtDuyệt lãm. “The CONNECT method was originally described in a Work in Progress titled," Tunneling TCP based protocols through Web proxy servers ", by Ari Luotonen of Netscape Communications Corporation.”
  10. ^RFC[https://datatracker.ietf.org/doc/html/rfc7230 7230 Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing]” (2014 niên 6 nguyệt ).2019 niên 4 nguyệt 26 nhậtDuyệt lãm. “This specification also updates the use of CONNECT to establish a tunnel, previously defined inRFC2817,and defines the "https" URI scheme that was described informally inRFC2818.”
  11. ^Hypertext Transfer Protocol (HTTP) Method Registry
  12. ^RFC9110,6. Message Abstraction
  13. ^HTTP Content Coding Registry
  14. ^RFC[https://datatracker.ietf.org/doc/html/rfc1864 1864 The Content-MD5 Header Field]” ( anh ngữ ).Internet Engineering Task Force(1995 niên 10 nguyệt ).2021 niên 1 nguyệt 30 nhậtDuyệt lãm. “This document specifies a data integrity service that protects data from accidental modification while in transit from the sender to the recipient.”
  15. ^RFC[https://datatracker.ietf.org/doc/html/rfc7231 7231 Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content]” ( anh ngữ ).Internet Engineering Task Force(2014 niên 6 nguyệt ).2021 niên 1 nguyệt 30 nhậtDuyệt lãm. “The Content-MD5 header field has been removed because it was inconsistently implemented with respect to partial responses.”
  16. ^『HTTPプロトコル―セキュア&スケーラブルなWeb khai phát 』 Stephen Thomas trứ, cát tây trọng phu 訳, ソフトバンクパブリッシング[Yếu ページ phiên hào]
  17. ^JPNIC News & Views vol.1647【 lâm thời hào 】 đệ 103 hồi IETF báo cáo [ đệ 4 đạn ] トランスポートエリア quan liên báo cáo ~HTTP over QUICからHTTP/3への cải xưng ~”.Nhật bổn ネットワークインフォメーションセンター(2018 niên 12 nguyệt 13 nhật ).2021 niên 6 nguyệt 28 nhậtDuyệt lãm.

Quan liên hạng mục[Biên tập]

Ngoại bộ リンク[Biên tập]

Dĩ hạ は cựu thức であり phi thôi thưởng となった sĩ dạng

その tha