人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

HTTP/1.1で接続するクライアントを製作しています。HTTP/1.0 なら経験があるのですが、1.1に対応するというのは、具体的にどんな処理を追加する必要があるでしょうか?
ざっと調べた感じでは、
1、デフォルトで持続的接続が有効になる
2、chunkedエンコーディングのデコードを実装する必要がある
3、リクエストに Host: ヘッダが必須
これくらいでしょうか?
また、リクエストに Connection: closeと書けば1を無効にしてくれるようですが、chunkedしないようにヘッダ等で指示することは可能でしょうか?
RFC読めってのは勘弁してください。

●質問者: tebukuro
●カテゴリ:ウェブ制作
✍キーワード:HTTP RFC エンコーディング クライアント デコード
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● KDDI
●50ポイント

http://www.studyinghttp.net/

Studying HTTP

HTTP1.1での動作はその3点でほぼ合っております。

しかし、

Connection: closeが有効になるのはレスポンスヘッダに記述された場合になります。この時はHTTP1.0の普通のレスポンスを受信した時と同様の動作になります。

逆を言えばヘッダにその記述が無い場合はデフォルトではkeep-aliveする必要があります。


リクエスト時にチャンク形式のレスポンスを受信しないようにするには、1.0にする、しか方法はありません。

HTTP/1.1アプリケーションはチャンク形式のデコードができなければいけません。チャンク形式エンコーディングは HTTP/1.1 の技術なので通信相手が HTTP/1.0 以下である場合は使用できません。

◎質問者からの返答

ありがとうございます。RFCでもチャンク形式のデコードはHTTP/1.1である以上必須というような記述があるので、なんとか実装しないといけないようですが、必ずしもchunkedで返ってくるとは限らないようなので、現物合わせでchunkedを返さない方法は無いかなぁと思っております。

もうちょと回答うけつけてみます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ