HTTPヘッダというのがあるそうですが、カプセル化について説明した図の多くはHTTPヘッダを表示していません。例えば、次のようなサイトの図です。
https://www.atmarkit.co.jp/ait/articles/0105/23/ …
http://etc9.hatenablog.com/entry/20110502/130444 …
HTTPヘッダは重要なヘッダだと思いますが、カプセル化の図の多くでは何故HTTPヘッダを表示しないのでしょうか。
No.3ベストアンサー
- 回答日時:
かいつまむと
httpヘッダはパケット毎につかないから
です。
httpヘッダは(はてなの方のリンクの絵で言うところの)アプリケーション
データの一部だというのは理解されているのですよね?
httpサーバ等がデータを送る場合、
データにhttpヘッダなどをつけてOSに渡します。
渡されたものは「アプリケーションデータ」になりますが、
そのサイズが例えば5kbyte(5000byte)で、
MSS(Maximum Segment Size、意味は調べてみてください)が1460byteだとすると、
OSはそのサイズにアプリケーションデータを分割し、
それをパケットにして送ります。
つまり、合計4パケットを送るのですが、
httpヘッダは分割した4パケットの内の先頭のパケットの
アプリケーションデータにはありますが、
2番目以降のパケットにはありません。
上記が「httpヘッダはパケット毎につかないから」
の意味です。
なお、
これはTCPがシーケンス番号という仕組みを持ち、
データをストリームとして扱うから、
データストリームの先頭にアプリケーションヘッダをつけるからです。
UDPの場合はデータをデータグラムで扱うので、
基本的にパケット毎にアプリケーションヘッダが付きます。
以上、参考になりますでしょうか。
ご回答いただきありがとうございます。
>httpヘッダは(はてなの方のリンクの絵で言うところの)アプリケーション
>データの一部だというのは理解されているのですよね?
いえ、分かっていませんでした。
とてもよく分かりました。
ありがとうございました。
No.2
- 回答日時:
カプセル化の話と、HTTPヘッダーの話は、切り離して考えた方が
よいです。
カプセル化ってのは、イーサーネット上に流れる電文を
★1500バイト単位に区切ってしまうことを言っています。
IEやChrome等のブラウザから、ホームページをアクセスすると、
様々なコンテンツが表示できますが、1回の表示で最低でも、
★何十キロバイトのデータが送られてきます。
例えば150キロのデータが送られてくるなら、
イーサーネット上では、
1500バイト×100パケット(カプセル)
に分割して送られてくるのです。
ご質問で指定されている説明では、その1カプセルが、どうなって
いるかの説明となっています。
それに対して、HTTPは、ホームページのコンテンツを送受信する
アプリケーションの1つのプロトコルで、先述の例でいけば、
150キロのデータ全部が送られて初めて、ブラウザの画面が表示されたり、
操作できたりするようになるものです。
このアプリケーションには、他にも、メール送受信のためのsmtpやpop、
ftp、その他にも様々なプリケーションが存在します。
https://ja.wikipedia.org/wiki/TCP%E3%82%84UDP%E3 …
アプリケーションの一部のhttpヘッダだけの話を入れると、
カプセル化の話とは離れた話題となり、広がり過ぎてしまうので、
ここでは、アプリケーションデータとして別にしているのです。
いかがでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 掲示板のセキュリティについてアドバイスお願い致します 1 2023/08/11 20:44
- その他(パソコン・スマホ・電化製品) ワードでテキストボックス内の文字を連動させない方法 2 2023/02/09 16:56
- JavaScript JSON について 1 2022/06/09 18:17
- その他(コンピューター・テクノロジー) 「プロトコル」の定義について 5 2023/04/16 13:13
- その他(プログラミング・Web制作) PHPの$_SERVER["REQUEST_URL"]の0文字目は必ず"/"になることになってるの? 1 2023/07/07 17:42
- その他(IT・Webサービス) MacとWindows Google検索した時のURL表示の違いについて 1 2022/11/17 10:38
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- YouTube youtubeは画面と操作パネルが別々に表示されていたのに画面上にかぶるように表示されるようになった 1 2022/05/08 10:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MACアドレスが知られた場合の危...
-
PADについての質問です。
-
リピータハブっていつ使う?
-
TTL
-
UDPパケットの分割について
-
パソコン間のデータのやり取り...
-
HUBの台数制限について詳しい方
-
異常なパケット数…「ローカルエ...
-
ICMP Echo Message はtcp,udp...
-
MACアドレスの情報はどこに保存...
-
ADSLのデータリンク層プロトコル
-
FWの設定について(片方向のル...
-
デフォルトルート(ゲートウェ...
-
tcp/ip通信で特定のデータが送...
-
異常パケット
-
学校からパソコンを借りてます...
-
WiFi接続時の「接続はプライベ...
-
ホストについてです。こんな客...
-
「OS/DB/DC」の「DC」って何?
-
IPアドレスの呼び方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MACアドレスが知られた場合の危...
-
tcp/ip通信で特定のデータが送...
-
デフォルトルート(ゲートウェ...
-
FWの設定について(片方向のル...
-
通信用語 FR・CR接続って...
-
NAT配下のDNSどうやって外から...
-
ブロードキャスト転送できるか...
-
sftpとインターネットVPN
-
UDPパケットの分割について
-
MACアドレスの情報はどこに保存...
-
ICMP Echo Message はtcp,udp...
-
TTL
-
Redhat Linux7.1でrcpコマンド...
-
NATとリバースプロキシについて
-
ARPに失敗したときの動作
-
PONシステムのTDMAとTDMの違い...
-
NTTサービス『131』って何ですか?
-
PADについての質問です。
-
ネットワーク基礎で 全二重通...
-
IP Messengerについて
おすすめ情報