Webクライアント プログラミング

[cover photo]
TOPICS
発行年月日
PRINT LENGTH
256
ISBN
4-90090-062-1
原書
Web Client Programming with Perl
FORMAT
Print
3,190円
この商品は品切れ再入荷未定です

PerlでWebクライアントを自分のニーズに合うようにカスタム化したり、ロボットを作成するためのプログラミングのノウハウとコツをまとめた一冊です。ソケットのプログラミングの詳細、HTTPプログラミングを簡略化するLWP, Perl/Tkを使用したWebクライアントの作成などをカバーし、使う立場からプログラミングについての実際を詳しく網羅しています。

目次

1章 Webクライアントプログラミング入門
        1.1 クライアントプログラミングの必要性
        1.2 WebとHTTP
                1.2.1 ブラウザとURL
                1.2.2 クライアント/サーバ
        1.3 プログラミング・インタフェース
        1.4 気くばりのすすめ

2章 ブラウザの舞台裏
        2.1 シンプルなドキュメント
                2.1.1 ブラウザからのリクエスト
                2.1.2 サーバからのレスポンス
                2.1.3 HTMLを解釈する
                2.1.4 ハイパーリンクがクリックされた場合の処理
        2.2 手作業でドキュメントを取得する
        2.3 フォームの裏側
        2.4 Webドキュメントの公開
        2.5 HTTPトランザクションの構造

3章 HTTPの詳細
        3.1 HTTPトランザクションの構造
        3.2 クライアントのリクエストメソッド
                3.2.1 GET: ドキュメントの取得
                3.2.2 HEAD: ヘッダ情報の取得
                3.2.3 POST: サーバにデータを送信する
                3.2.4 PUT: エンティティボディの内容を指定のURLに格納する
                3.2.5 DELETE: URLを削除する
                3.2.6 TRACE: クライアントリクエストの伝送経路を追跡する
                3.2.7 OPTIONS: 指定のURLに対して許されるオプションの情報を得る
        3.3 HTTPのバージョン
                3.3.1 HTTP 0.9
                3.3.2 HTTP 1.0
                3.3.3 HTTP 1.1
                プロクシ
                3.3.4 仕様書を確認しよう
        3.4 サーバのレスポンスコード
                3.4.1 通知(100番台)
                3.4.2 クライアントリクエストの処理成功(200番台)
                3.4.3 移転告知(300番台)
                3.4.4 クライアントリクエストの処理失敗(400番台)
                3.4.5 サーバエラー (500番台)
        3.5 HTTPヘッダ
                3.5.1 持続型接続
                3.5.2 メディアタイプ
                3.5.3 クライアントキャッシング
                3.5.4 エンティティボディのデータを取得する
                3.5.5 ドキュメントを参照する       
                3.5.6 クライアントおよびサーバソフトウェアの識別情報
                3.5.7 認証
                3.5.8 クッキー

4章 ソケットライブラリ
        4.1 ソケットによる通信の基本
        4.2 ソケットコールの使い方
                4.2.1 ソケットを初期化する
                4.2.2 ネットワーク接続を確立する
                4.2.3 接続ネットワークにデータを書き出す
                4.2.4 接続ネットワークからデータを読み込む
                4.2.5 接続を閉じる
        4.3 サーバ側のソケットコール
                4.3.1 ポートを割り当てる
                4.3.2 接続要求に備えて待機する
                4.3.3 接続を受け入れる
        4.4 クライアント側のコーディング
                4.4.1 open_TCP()関数の使い方
        4.5 初めての手作りWebクライアント
        4.6 URLを解析する
        4.7 UNIX catコマンドのハイパーテキスト版を作る
        4.8 ハイパーテキスト版 catをシェル型に改造する
        4.9 HTMLドキュメントからURL参照を抽出する
        4.10 クライアント設計時の留意事項

5章 LWPライブラリ
        5.1 シンプルなLWPプログラム
                5.1.1 Webからファイルを取得する
                5.1.2 HTMLを解析する
                5.1.3 リンクを抽出する
                5.1.4 相対URLを補完して絶対URLにする
        5.2 LWPモジュール一覧
                5.2.1 LWPモジュール
                5.2.2 HTTPモジュール
                5.2.3 HTMLモジュール
                5.2.4 URIモジュール
        5.3 LWPプログラミングの実際
                5.3.1 LWP::UserAgentの使い方
                5.3.2 プロクシサーバに対応する
                5.3.3 Robot Exclusion Standardに対応する

6章 LWPプログラム献立集
        6.1 シンプルなクライアント
                6.1.1 ハイパーテキスト版UNIX cat再び
                6.1.2 ハイパーテキスト版Grep URL再び
        6.2 定期型クライアント
        6.3 再帰型クライアント

7章 Perl/TkによるGUIプログラミング
        7.1 Tk入門
        7.2 辞書クライアント: xword
        7.3 貨物配送チェックプログラム: Track
        7.4 Webサーバ動作確認プログラム: webping

付録A HTTPヘッダ解説
        A.1 汎用ヘッダ
                A.1.1 Cache-Control: 指示文
                A.1.2 Connection: オプション
                A.1.3 Date: 日付指定
                A.1.4 MIME-Version: バージョン
                A.1.5 Pragma: no-cache
                A.1.6 Transfer-Encoding: エンコード形式
                A.1.7 Upgrade: プロトコル/バージョン
                A.1.8 Via: プロトコル ホスト名
        A.2 クライアントリクエストヘッダ
                A.2.1 Accept: タイプ/サブタイプ 品質レベル
                A.2.2 Accept-Charset: 文字セット 品質レベル
                A.2.3 Accept-Encoding: エンコード形式
                A.2.4 Accept-Language: 言語 品質レベル
                A.2.5 Authorization: 認証機構 認証情報
                A.2.6 Cookie: 名前=値
                A.2.7 From: 電子メールアドレス
                A.2.8 Host: ホスト名 ポート
                A.2.9 If-Modified-Since: 日付
                A.2.10 If-Match: エンティティタグ
                A.2.11 If-None-Match: エンティティタグ
                A.2.12 If-Range: エンティティタグ 日付
                A.2.13 If-Unmodified-Since: 日付
                A.2.14 Max-Forwards: 転送回数
                A.2.15 Proxy-Authorization: 認証情報
                A.2.16 Range: バイト範囲 = 始点-終点
                A.2.17 Referer: URL
                A.2.18 User-Agent: 文字列
        A.3 サーバレスポンスヘッダ
                A.3.1 Accept-Ranges: bytes|none
                A.3.2 Age: 秒数
                A.3.3 Proxy-Authenticate: 認証機構 権限
                A.3.4 Public: メソッド
                A.3.5 Retry-After: 日付|秒数
                A.3.6 Server: 文字列
                A.3.7 Set-Cookie: 名前=値 オプション
                A.3.8 Vary: ヘッダ
                A.3.9 Warning: コード ホスト 文字列
                A.3.10 WWW-Authenticate: 認証機構 権限
        A.4 エンティティヘッダ
                A.4.1 Allow: メソッド
                A.4.2 Content-Base: URL
                A.4.3 Content-Encoding: エンコード形式
                A.4.4 Content-Language: 言語
                A.4.5 Content-Length: バイト数
                A.4.6 Content-Location: URL
                A.4.7 Content-MD5: ダイジェスト
                A.4.8 Content-Range: bytes 始点-終点/全体長
                A.4.9 Content-Transfer-Encoding: エンコード形式
                A.4.10 Content-Type: タイプ/サブタイプ
                A.4.11 ETag: エンティティタグ
                A.4.12 Expires: 日付
                A.4.13 Last-Modified: 日付
                A.4.14 Location: URL
                A.4.15 URI: URI
        A.5 HTTPバージョンごとの対応ヘッダの要約

付録B リファレンス
        B.1 メディアタイプ
        B.2 文字エンコーディング
        B.3 言語
        B.4 文字セット

付録C Robot Exclusion Standard
        C.1 /robots.txt ファイルの文法

索 引