- 締切済み
HTTPで通信するソフト
質問させていただきます。 HTTPで通信するソフト(クライアント側)を作りたいのですが、私は組込み系のソフトしか作ったことがなく、ネットワーク系は初めてだったので、プロトコルの勉強から始めました。TCP/IPは理解し、HTTPの仕様がRFCというもので文書化されているのは分かったのですが、RFCには数が多く、HTTPの仕様も膨大にあるように感じました。 HTTPで通信するソフトを作る人はどうやって仕様を把握し、ソフトを作っているのでしょうか?私は何が必要で、何が必要でないのか判断が付かない状況です。 特にヘッダーフィールドは数が多く、理解が大変で困っています。 (世の中のHTTPクライアントはHTTPの全ての仕様を守っているのでしょうか?) よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4900/10358)
No2です。すいません。タイプミス(コピペすれば良かった)。 誤:RFCは2166 正:RFCは2616 以下同様。 http://www5d.biglobe.ne.jp/stssk/rfcjlist.html
- wormhole
- ベストアンサー率28% (1626/5665)
その作ろうとするソフトで必要なものだけ実装すればいいような気がしますけど(必要なものの判断がつかないというのは、そもそも何を作ろうとしてるのか決まってないんじゃないかと)。
- notnot
- ベストアンサー率47% (4900/10358)
組み込み系だと難しいでしょうが、汎用OSの場合は、言語毎にHTTPを扱うライブラリがあったりするので、それを使うだけです。 ライブラリが無い場合は、TCPのソケットライブラリで、自分でRFCなり解説文書なりを見て書くことになります。 現在主流のHTTPプロトコルはVer1.1で、RFCは2166だと日本語版があるようなので、それを見ると良いと思います。正確には、RFC2166は今年出たRFC7230-7235で置き換えられていますが、2166でも大丈夫だと思います。読み比べてはいませんが、少なくとも2014/6以前はRFC2166が最新でした。 どこまで実装するかは、PCのブラウザの挙動をトレースを取ったりすることでみるとか、例えば wget というコマンドを使って、デバッグオプションでヘッダを表示させたりすると良いと思います。 または、telnetコマンドでHTTPサーバーに手動でコマンドやヘッダを送って応答を見るとか。 いずれにせよ、RFC的に必須のヘッダ以外は実装しなくても良いと思いますよ。
- lv4u
- ベストアンサー率27% (1862/6715)
>>HTTPで通信するソフトを作る人はどうやって仕様を把握し、ソフトを作っているのでしょうか? まあ、作りたいソフトの内容しだいですが、ネットや書籍などを探して、使えそなプログラムソースを探してきて、それを手直しして作ることが多いと思います。