実践Javaインターネットプログラミング |
---|
アプリケーションプロトコルの基礎と実装 |
著者 | 豊沢 聡 |
---|---|
判型 | B5変型判,320頁 |
本体価格 3,000円 | |
ISBN | 978-4-87783-049-6 C3004 |
本書は、Javaを用いた実践的なプログラミングを通じて、インターネットで広く使われているネットワークプロトコルの基礎およびアプリケーションへの実装を学ぶ解説書です。
RFC仕様の基本的な解説を含めることで、TCP/IPネットワークやインターネットで使われるプロトコルの基本を理解することができ、Javaを使用することでプラットフォームを問わずに実用的なアプリケーションを作成することが可能になります。
また、本書は(株)アスキー発行 『ネットワークマガジン』2001年5月号〜2002年2月号に掲載された『さくさくJavaネットワークプログラミング』の内容を基に、大幅に内容を増補したものです。
Introduction --- まえがき | |
---|---|
対象にしている読者 | |
本書の構成 | |
Javaに関して | |
Javaの入手 | |
Javaの設定 | |
Javaのバージョンに関して | |
本書のコードに関して | |
謝辞 | |
第1章 | アプリケーションプロトコル |
アプリケーションとサービス | |
クライアント/サーバモデル | |
インターネットの4層構造とアプリケーション | |
サービスとポート | |
RFC --- Request for Comments | |
RFCの仕様記述 | |
telnetを用いたアプリケーションの操作 | |
まとめ | |
第2章 | TCPソケットインターフェイス |
TCPクライアントソケット | |
TCPサーバソケット | |
TCPサーバソケットの作成失敗 | |
TCPサーバの待ち行列のサイズ | |
反復サーバ・並行サーバ | |
ソケット・アソシエーション | |
まとめ | |
第3章 | UDPソケットインターフェイス |
UDPの適用先 | |
UDPクライアント (non-connected) | |
バイナリの取り扱い --- ネットワークバイトオーダー | |
バーチャルサーキットとコネクテッドUDP | |
UDPでの大きなデータの取り扱い | |
UDPサーバ | |
UDPにおける並行処理 | |
その他ソケット | |
まとめ | |
第4章 | DAYTIME |
DAYTIMEクライアント (TCP) | |
DAYTIMEクライアント (UDP) | |
DAYTIME反復サーバ (TCP) | |
TIMEプロトコル | |
まとめ | |
第5章 | ECHO |
ECHOクライアント (TCP) | |
ECHOクライアント (UDP) | |
ECHO並行サーバ (TCP) | |
ECHO サーバ (UDP) | |
まとめ | |
第6章 | FINGER |
要求文詳細 | |
FINGERクライアント | |
FINGERサーバ | |
まとめ | |
第7章 | POP3 |
POP3セッション | |
POP3要求/応答フォーマット | |
POP3必須コマンド | |
POP3オプショナルコマンド | |
要求・応答の処理 | |
メール読み込みプログラム | |
メール削除プログラム | |
実行例 | |
メールの一部表示 | |
APOP版認証 | |
POP3新旧コマンド | |
旧機能 | |
新機能 | |
POP関連RFCの変遷 | |
まとめ | |
第8章 | SMTP |
SMTPコマンドとコマンドシーケンス | |
SMTP応答 | |
メールメッセージ | |
メッセージヘッダ | |
メッセージボディ | |
SMTPクライアント | |
メールアリアス確認プログラム | |
JavaMailを用いたメール送信プログラム | |
マルチバイト処理 | |
まとめ | |
第9章 | FTP |
FTPの設計 | |
データコネクションの操作 | |
PORT/PASVコマンド | |
データコネクションを必要とするコマンド | |
ファイル変換 | |
その他制御コマンド | |
FTPの要求/応答フォーマット | |
FTPセッション | |
能動モードによるファイル転送 | |
受動モードによるディレクトリ表示 | |
sun.net.ftpパッケージ | |
まとめ | |
第10章 | HTTP |
リソース識別子 --- URL | |
URLのフォーマット | |
URLで用いるキャラクタコード | |
URLクラス | |
HTTPコマンド体系 | |
要求/応答メッセージのフォーマット | |
HTTPコマンドセット | |
要求/応答フィールド | |
ボディ | |
チャンク形式(Transfer-Encoding:chunked) | |
チャンク形式例 | |
チャンク形式デコーダ | |
旧版HTTPによる単一要求 | |
HTTP/1.1による複数要求 | |
タイムアウト | |
範囲指定 | |
キャッシュの制御 | |
有効期限による制御 | |
内容確認 | |
キャッシュの許可 | |
HTTPプロキシ | |
HTTPの認証機構 | |
認証方法と認証領域 | |
Base64デコード | |
認証セッション例 | |
プロキシの場合 | |
Cookie --- クライアント/サーバ間の状態管理 | |
Set-Cookie2応答フィールドフォーマット | |
Cookie要求フィールドフォーマット | |
Cookieセッション例 | |
URLクラスを用いたHTTPクライアント | |
まとめ | |
第11章 | TELNET |
ネットワーク仮想端末(NVT) | |
NVT表現 | |
telnetプログラムの謎 | |
TELNET制御コマンド | |
TELNETオプション | |
オプション打合わせ | |
オプション・サブネゴシエーション | |
オプション交換における対称性とタイミング | |
TELNETの実際 | |
TELNETクライアントの実装 | |
実装上の困難 | |
まとめ | |
第12章 | DNS |
DNSの仕組み | |
Non-authorative Answerと有効期限 | |
DNSのレコードタイプ | |
DNSメッセージ | |
ドメイン名フォーマット | |
ラベル圧縮フォーマット | |
ドメイン名デコーダ/エンコーダ | |
ヘッダ(Header)セクション | |
質問(Question)セクション | |
リソースレコード(RR) | |
DNSクライアント例 | |
まとめ | |
第13章 | アプリケーションプロトコル再訪 |
コマンドの形式 --- ASCII対バイナリ | |
応答メッセージの形式 | |
制御メッセージとデータとの区分 | |
状態依存性 | |
TCP/UDPの選択 --- 信頼性の検討 | |
UDP選択時の最大データサイズ | |
ポート番号を選ぶ | |
他の仕様を流用する | |
ドキュメンテーション | |
自作プロトコル例 | |
おわりに | |
Appendix A --- ウェルノウンポート一覧 | |
Appendix B --- SMTP応答コード | |
Appendix C --- インターネットメールヘッダフィールド | |
Appendix D --- FTPコマンドセットと応答コード | |
Appendix E --- HTTP | |
Appendix F --- TELNETオプション | |
Appendix G --- DNS各種パラメータ | |
参考文献 | |
索引 |
本文中に誤りがありました。お詫びして訂正致します。 [訂正箇所]