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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
携帯へのボイスワープが即留守...
-
日本⇒海外の電話転送サービスに...
-
固定電話から携帯電話に転送す...
-
フリーダイヤルで料金発生
-
URLアクセス時のエラーの意味
-
Winsockで、localhostに接続時...
-
FTPの接続継続時間について
-
一家に2台のPS4があるんですが...
-
プライベートIPアドレスは全...
-
プロバイダとサーバーの違い
-
ProxyOverrideとは?
-
ネットワークアダプタの使い分け
-
FFFTPでホストに接続できません!
-
ブラウザからダウンロード時の...
-
qmailのエラーログについて
-
ホスト名がlocalhost.localdoma...
-
初心者にオススメの独自ドメイ...
-
独自ドメイン取得とホスティン...
-
Hyper vでサーバーに接続できない
-
【フリーソフト FFFTP】 ファ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フリーダイヤルで料金発生
-
IP Messengerは、社内のみんな...
-
携帯へのボイスワープが即留守...
-
職場のOKI電話機(DI2133 MKTU-2...
-
サーバが開けない!
-
http://192.168.0.2:8080/とは??
-
必要な帯域の見積もり方法について
-
AirDropで送れる容量
-
作成したHPがスムーズに表示...
-
FTP転送が途中で止まります
-
ホームページの転送ができません。
-
忍者HPで作成しましたが404 NOT...
-
一般の固定電話回線にかかって...
-
URL転送サービスについて
-
転送システムについて
-
ホームページがアップできません
-
カメラ OLYMPUS E-M10Ⅲを購入し...
-
このWiFiの1733+800Mbpsってど...
-
転送量が多そうなホームページ...
-
転送機能の付いた留守電を探し...
おすすめ情報