No.5ベストアンサー
- 回答日時:
HTTP1.1 では、hyde-la さんのいうように、他の手段も定義されてますね。
現実に使われてるかどうかはわかりませんけど…
ただ、http://www.asahi.com/ を見てみましたけど、IE 5.5 と unix 上の NN
4.76 で調べたかぎりでは、複数のコンテンツを1セッションで取得している例
がみつかりませんでした。"/" の取得に限っては、確かに Content-Length は
ありませんでしたが、それ以外の *.gif なんかの取得には全部付加されてい
ましたよ。
いろいろありがとうございます.
もう少しいろいろ調べてみます.
また質問させていただくこともあるかと思いますが
よろしくお願いいたします.
No.4
- 回答日時:
思いっきりハズしてしまいましたhyde-laです。
ちょっと調べてみました。
HTTPのメッセージ終了を決定する方法は、他にもいくつかあるようです。
特にmultipartの場合は事前にメッセージ長を決定出来ない為、
lengthが付加されないそうです。
その場合は、transfer-encodingにchunkを指定して、
それでメッセージの終わりを指定することが出来るようです。
この辺は、3.6章のchunkedの説明、4.4章のContent-Lengthの説明、
あと7.2.2章のNoteを読むと解るようです。
また、HTTP/1.1のブラウザは"chunked"Transfer-encodingの内容を理解出来ねばならず、
それが駄目な場合は、その転送コーディングは無視されるべきだ・・・
と書いてあります。
以下の日本語訳をどうぞ。
参考URL:http://www.geocities.co.jp/SiliconValley-PaloAlt …
No.3
- 回答日時:
HTTP1.0 でも、指定によって複数個取得することは可能です。
HTTP1.0 の場合は、Content-Length かサーバー側の切断以外には、
長さを知る方法はありませんので、複数個の転送があるときは、
Content-Length は必ず通知されるはずですが…
そうじゃない例があったのでしょうか?
どうやって確認されたでしょうか?
この回答への補足
Content-Lengthはサーバ側が付けるかつけないか決定しているようなので,
(asahi.comなんかをみていると,だいたいCLを付けずにHTTP/1.0 200 OKを返してくる)
基本的にサーバがCLを付けてくれた場合は,1つのflowに複数コンテンツを流すことができる.
付けてくれなかった場合は,おとなしくサーバ側からのTCPをFINを待つということになるのでしょうか?
そうすると,HTTPというプロトコルは,TCPの切断をサーバ側から通知されるまではそのコンテンツが転送完了したかどうかわからないというかなり不完全なプロトコルのようなきがするのですが・・・.
ちなみにtcpdumpでパケット収集後,ethereal(http://www.ethereal.com/)でフローを抽出しています.
そのなかでたまにCLがついていないのにもかかわらず,1flowで複数コンテンツが転送されるのを確認しています.
No.2
- 回答日時:
ファイルの転送と終了に関しては、HTTPじゃなくて
TCPなのではないでしょうか?
・・・と今までは漠然とそう思ってたのですが、
ちょっとRFCを読んでみたらですね、
ひょっとしてRFC1945のセクション6が怪しいかなぁ、と。
基本的に一つずつファイルを要求し、完了し次第切る。
その完了の目安としてのことをおっしゃっているなら
多分同セクション6に記述されているresponseでしょうか。
No.1
- 回答日時:
結論をいえば、ご想像のとおり、RFC2616で規定されています。
単純にHTTP1.0的なGETしかしない場合には、1個取得した段階でサー
バー側が切断してしまいますので、それで判断できますが、
HTTP1.1では複数個を連続して取得できるので、それぞれの内容に
先立ってサイズが通知され、それを利用します。
RFC2616を全部読むのは大変だと思います。HTTPを専門に扱う書籍
もありますので、これを参考にしてはいかがでしょう?
「HTTP詳説」P.S.ヘスマン(ピアソン・エデュケーション)
参考URL:http://ring.etl.go.jp/pub/doc/RFC/rfc2616.txt
この回答への補足
ご回答ありがとうございます.
現在いろいろ試しているのですが,サーバにapacheを用意して,IEでGETをして(例えばGET http://***.ne.jp/~hoge/pic.gif HTTP/1.0)
その転送をtcpdumpなどで見ていると,明らかに1つのフロー(TCPコネクション)で順次,複数コンテンツの転送が行われているんですよね.たとえばサーバが必ずContent-Lengthを通知してくれるのであれば全体のサイズがわかっているのでコンテンツの転送終了が確認できますが,そうでないのになぜIEはそのコンテンツの転送終了を判断できたのか?というのが気になります.しかもHTTP1.0を利用しているのにです.
実装方法に依存しているのかもしれませんが,その手法が謎のままなのです.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(パソコン・周辺機器) EXCELで「WEBオプションの対象ブラウザ」を変更する方法 2 2023/04/12 15:44
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- 防犯カメラ・監視カメラ・小型カメラ VHSを高画質な動画ファイルにしたいです。 3 2022/05/06 12:08
- ドライブ・ストレージ PCのパーフォーマンスが極端に落ちた。 8 2023/01/28 15:22
- その他(コンピューター・テクノロジー) 「プロトコル」の定義について 5 2023/04/16 13:13
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Android(アンドロイド) Androidスマホのデータ移行が終わらない 1 2023/08/04 17:25
- その他(ブラウザ) angel ブラウザってなぜアプリのクラッシュやフリーズが多いのでしょうか?? 特定のサイトにこのブ 3 2023/02/06 20:17
- PHP a href リンクタグでだけで 送信が できちゃっています。 1 2022/04/18 04:25
- その他(クラウドサービス・オンラインストレージ) Onedriveで実現したい事。2台のPC間で。 2 2023/04/10 20:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
http://192.168.0.2:8080/とは??
-
携帯へのボイスワープが即留守...
-
Webサーバー構築にかかる費用を...
-
URLアクセス時のエラーの意味
-
Hyper vでサーバーに接続できない
-
DNS「8.8.8.8」とは何なのでし...
-
海外サーバーに繋ぐと高くなるp...
-
無料で使えるレンタルサーバー...
-
FFFTPでホストに接続できません!
-
FC2のホームページ、サブドメイ...
-
会社のホームページには固定IP...
-
ロリポップとムームードメイン...
-
IPアドレスを固定し、最終的にT...
-
フリー wi-fi は安全ですか 自...
-
「サブドメインで切る」とは、...
-
一家に2台のPS4があるんですが...
-
スマートウォッチについて教え...
-
FTPサーバーをたてて外部からNA...
-
セカンダリDNSは必ず必要ですか?
-
1つの「ホームページビルダー2...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
職場のOKI電話機(DI2133 MKTU-2...
-
フリーダイヤルで料金発生
-
忍者HPで作成しましたが404 NOT...
-
携帯へのボイスワープが即留守...
-
AirDropで送れる容量
-
固定電話から携帯電話に転送す...
-
固定電話→携帯への転送方法&固...
-
FTP転送が途中で止まります
-
ボイスワープと固定電話機の有...
-
sendmail サーバで【newaliases...
-
IP Messengerは、社内のみんな...
-
http://192.168.0.2:8080/とは??
-
FFFTP(転送ファイル)で写真が...
-
ホームページビルダーで作った...
-
100Mbpsの速さ
-
電話番号を2個持ちたい
-
ホームページの公開中止するには。
-
「転送元電話番号受信サービス...
-
疑似転送アダプターみたいなも...
-
このWiFiの1733+800Mbpsってど...
おすすめ情報