この章では:Web技術にはどのような、どのようにHTTPプロトコルの誕生と発展に基づいていますか?
、WebベースのHTTP通信
標準として、HTTP(ハイパーテキスト転送プロトコル、ハイパーテキスト転送プロトコル)プロトコルと呼ばれるウェブの使用は、契約は、ルールの一部の契約をいいます。HTTPのWebプロトコル通信に基づいていると言うことができます。
二、HTTPの誕生
2.1背景誕生
このセクションでは、私たちは、HTTPプロトコルを理解するために学ぶのを助ける背景HTTPプロトコルの誕生を理解するために、主にバックグラウンドHTTPの誕生についてです。
最初の出生時のHTTPも、お互いにWWW(ワールド・ワイド・ウェブ、ワールド・ワイド・ウェブ)で見つけることができる、もともとマルチドキュメントフォームの間のハイパーテキストリンク機構によって考え出さ基本的な考え方を、知識を共有することです。
今、私たちは3つの技術を構築することを提案しました。
- すなわちSGML、
Standard Generalized Markup Language
(標準汎用マークアップ言語)のテキストマークアップ言語HTML(ハイパーテキストマークアップ言語、HTML)のページなど。 - HTTPファイル転送プロトコルとして、
- URLアドレス指定された文書(ユニフォームリソース場所、ユニフォームリソースロケータ)。
三つの知識共有のコンテンツ(HTML)、知識の共有(HTTP送信)と知識の共有場所の方法を構成する上に見ることができます。
HTTP 2.2の遅い開発
HTTP / 0.9
HTTPはで生まれた1990 HTTPはそうHTTP / 0.9であることを、意味のHTTP / 1.0バージョンが含まれている前に、まだ公式の標準として、現時点では今年、この時間を。
HTTP / 1.0
1996年5月には公式の標準バージョンはHTTP / 1.0と命名されたとして、HTTPが使用されています。
HTTP / 1.1
1997年1月には HTTP / 1.1バージョンを発行し、まだHTTPプロトコルの主流となっています。
このように、非常にゆっくりとWebドキュメント転送プロトコルのHTTPプロトコルのバージョンのアップデートとして、HTTP 2.0の新世代は、まだ開発中ですが、大規模をカバーするだけでなく、時間がかかります。
最初の出産で、HTTPプロトコルは現在、多くのシナリオでのWeb利用の境界を越えて、テキストの送信の問題を解決することです。
2.3ネットワークの基本TCP / IP
コンピュータ間で通信するには、次のように最初のように通信、どのような言語コミュニケーション、通信の終了を開始した側、ターゲットを検出する方法と同一の方法に基づく必要があります。このすべては、事前の合意が良いですが必要なため、交戦規則は、プロトコル(プロトコル)と呼ばれています。
一説には、TCP / IPがそれを別の言い方が同じと言うに使用される通信プロトコル、後者の引数に有利になるように偏った書籍のプロセスにおけるIPプロトコルスイートを指し、2つのプロトコルのTCPとIPを参照していることです。
2.3.1 TCP / IP階層管理
アプリケーション層、トランスポート層、ネットワーク層とデータリンク層:TCP / IPプロトコルスイートは、最も重要な点は、階層管理が、一般的には、4層に分かれていることです。
最大の利点は、分離デカップリング、類似のモジュールのデータ伝送様々な段階の階層的管理。層内の層のアプリケーションは、タスクを完了する必要性を検討する必要がありますが、その他の不要なものをコントロールしていません。プロトコル実装の層はあなたが層プロトコルを変更したいときにも、自由になっただけで契約の他のレベルを伴わない層プロトコルを変更する必要があるように、これが行われます。
それぞれの層の役割は次のとおりです。
- アプリケーション層は、コミュニケーション活動は、ユーザーにアプリケーションサービス時に決めました。HTTP、FTP(ファイル転送プロトコル、ファイル転送プロトコル)とDNS(ドメインネームシステム、ドメインネームシステム)は、この層に属します。
- トランスポート層、データ伝送ネットワーク接続で二つのコンピュータを提供するアプリケーション層に対して層。メインレイヤプロトコルは、TCP(Transmission Control Protocol)とUDP(ユーザデータプロトコル)です。
- ネットワーク層ネットワーク(データ転送の最小単位)に流れるデータパケットを処理するため、層は、経路の反対側に到達する方法をコンピュータにより所定の、そして相互にデータを伝送します。メイン層プロトコルは、IPプロトコルおよびARP(アドレス解決プロトコル)プロトコルです。
- リンク層、等のオペレーティングシステム、デバイスドライバ、を含む、ハードウェアを処理するためのネットワーク接続部は、リンク層の範囲内で実質的にハードウェアに見えます。この層のプロトコルは、イーサネットプロトコル(イーサネット)です。
層状のネットワークについての詳細:https://www.cnblogs.com/DM428/p/7029467.html
2.3.2 TCP / IP通信の伝送ストリーム
TCP / IP通信を使用する場合、それは階層順を介して連通します。データストリームからダウンする送信者は、受信側のデータは、離れて下から上に流れます。
各レイヤ送信処理では、データは、ボックス化とアンボックス化であろう。送信側がデータを送信する場合、アプリケーション層はHTTP HTTPトランスポート・ヘッダに付加され、イーサネットリンクレイヤヘッダに追加TCPトランスポートヘッダ内のトランスポート層が追加されます。受信機は、リンク層でのデータ送信を受信し、上位層に下層からアンパックし始めます。層ヘッダ、元々送られた最後の残りのデータ送信者層を除去します。アプリケーション層に到達するとデータが実際に送信されたクライアントを受信した場合でも。
この情報は、パッケージ化されたデータは、カプセル化方法(カプセル化)と呼ばれています。
2.3.3近い契約に関するHTTP:IP、TCPおよびDNS
IPプロトコル
ネットワーク層におけるネットワーク伝送のためのIPプロトコル。IPはIPアドレスではありません、我々は通常、IPプロトコルであると言います。IPアドレスは、ノードのアドレスに割り当てられていることを示し、MACアドレスが固定アドレスは、ネットワークカード、進12ビットで、世界は、48ビットの一意のMACアドレス、長さを有し、出荷各カードに属しています数を示します。IPアドレスとMACアドレスのペアが、同じマシンは、IPアドレス、MACが固定されてなることがあります。
IP 间的通信依赖 MAC 地址,实际生活中同一局域网内的网络通信比较少,大部分都是广域网的通信,数据需要经过多个节点路由的转发才能到达目的地。而在中转时,会利用下一站中转设备的 MAC 地址来搜索下一个中转目标。这时会采用 ARP 协议(Address Resolution Protocol),根据对方的 IP 地址即可查出对应的 MAC 地址,但是两台设备必须在同一个子网内。
数据在网络中的传输类似于现实生活中的快递运输,中转设备就类似于物流中转中心。快递到达一个中转站之后,中转站会判断下一个中转站的地址然后继续进行派送,直到到达客户所在的中转站。
TCP 协议
TCP 位于传输层,提供可靠的字节流服务。
字节流服务(Byte Stream Service)是指为了传输方便,把大块的数据切割成以报文段(segment)为单位的数据包进行管理。TCP 的可靠之处在于它会确保数据被送到了接收方。
为了确保数据被准确无误地送到了接收方,TCP 采用了三次握手(three-way handshaking)的策略。握手过程中包含了两个重要的标志(flag)——SYN(synchronize)和 ACK(acknowledgement)。
发送端会先发送一个带有 SYN 的数据包给对方,接收端接收到数据之后返回一个 带有 SYN/ACK 标志的数据包给发送端,最后发送端再传回一个带有 ACK 标志的数据包表示“握手”结束。如果握手意外结束,那么 TCP 协议会再次以相同的顺序发送相同的数据包。
除了以上三次握手,TCP 还有其他方法确保可靠性。
DNS
DNS 也位于应用层,它提供域名解析服务。能够把域名解析为 IP 地址。
各种协议与 HTTP 之间的关系:
2.3.4 URI 和 URL
URI(Uniform Resource Identifier,统一资源标识符)RFC2396 对名称中的三个单词做了解释:
- 均一な、簡単に新しいプロトコル(HTTP、FTP)と簡単に添加しながら、コンテキストによって指定されたアクセス方式を識別するために、リソースなしで、異なるリソースを処理することができ、均一なフォーマットを確立します。
- リソースは、識別することができます何を指します。これは、文書、画像やサービスに限定されるものではありません。
- 識別子は、オブジェクトは、また、既知の識別子を表す識別する。
HTTPに加え、URIはまたMAILTO、FTP、Telnetプロトコル方式等を用いることができます。
URIは、リソースの場所を特定する文字列とURL文字列で特定のインターネットリソースを識別します。だから、URLはURIのサブセットです。
URIフォーマット
どこで:
- ログイン情報(認証)は、リソースへのアクセスは、これはオプションである場合に、サーバーからのログイン情報としてユーザー名とパスワードを指定します。
- サーバのアドレスは、ドメイン名、IPすることができます。
- サーバーのポート番号、ポート番号指定したサーバー、ネットワーク接続、この代替は、デフォルトのポート番号は省略されています。
- ファイルパスの階層では、サーバー上のリソースへのファイルのパスを指定します。
- クエリ文字列は、パラメータは、クエリ文字列を経由して渡すことができます。
- フラグメント識別子は、子リソース(文書内の位置)を取得するためのリソースを指定します。