Last Update 2008/02/08

ユーザ追跡/対ロボット/ログ解析/エラー回避/検索/URL転送/文字コード/パフォーマンス/セキュリティ
PerlによるWebユーザビリティ向上テクニック

水野 貴明 著
B5変型判 480ページ
定価4,180円(税込)
JAN9784789818445
2003年12月15日発行
[絶版2008.2.7] PerlによるWebユーザビリティ向上テクニック
大変恐縮ですが,こちらの商品は品切れ絶版となりました.

 Webユーザビリティとは,Webサイトの使い勝手,という意味で,ここ数年,他のサイトと差別化を図るための手段のひとつとして大きな注目を集めています.
 他のWebサイトよりも,使いやすくて,便利なWebサイトを用意すれば,より多くの利用者を自分のWebサイトに集めることができる,というわけです.
 本書では,Webサーバの設定を改善したり,Perlを利用してプログラムを組んだりする,いわゆる「技術的な」側面から,Webサイトのユーザビリティ向上を目標に,その問題点と対応例を示していきます.

目次

1 ウェブとユーザビリティの基礎知識
 ■1-1 ウェブとウェブユーザビリティに関する基礎知識
  ウェブサイトの仕組み
  ウェブユーザビリティとは
 ■1-2 HTTPの基礎知識
  HTTPとはなにか
  HTTPのやりとり
  リクエストとレスポンスで実際に送られるデータ
  URLの構造
 ■1-3 環境変数とクライアントの情報
  クライアントを知ることの重要性
  リクエストヘッダと環境変数
  ユーザーエージェント情報
  リファラー情報
 ■1-4 Perl利用のための基礎知識
  Perlとはなにか
  Perlとモジュール
 ■1-5 ウェブサーバの設定
  Apacheの設定ファイル
  アクセスファイルを用いる場合
  Apacheのモジュールの追加
  IISの設定方法
 ■1-6 その他のさまざまな知識
  MD5/Crypt
  Base64
 ■1-7 まとめ

2 404 Not Foundエラーからユーザーを救出する
  〜エラーの発生とその対策〜
 ■2-1 エラーによって引き起こされる悪印象
 ■2-2 ウェブが発生させるエラーとは
  400番台・クライアント側に原因があるエラー
  サーバ側に原因があるエラー
 ■2-3 エラードキュメントを変更する
  Apacheでのエラードキュメント設定法
  Internet Information Services(IIS)でのエラードキュメント設定法
  すべてのエラーを設定する必要はない
 ■2-4 エラードキュメントにプログラムを仕込む
  エラードキュメントにプログラムファイルを指定するには
 ■2-5 404エラーから訪問者を救う
  指定されたURLのファイルが既に削除されている場合
  URLの指定にタイプミスがある場合
 ■2-6 まとめ

3 訪問者を目的の場所へ誘導する
  〜URL転送とその応用〜
 ■3-1 URL転送とはなにか
 ■3-2 URL転送の種類とその特徴
  METAエレメントを用いる方法
  フレームを用いる方法
  JavaScriptを用いる方法
  HTTPのRedirectステータスを用いる方法
 ■3-3 プログラムを利用して転送を行う
 ■3-4 転送の使い道
  URLの引っ越し
  ユーザーによるページの振り分け
  リンクのクリック集計
  URL転送サービス
 ■3-5 URL転送の注意点
 ■3-6 転送と検索エンジン
 ■3-7 mod_rewriteを利用する
  mod_rewriteの設定
  mod_rewriteのまとめ
 ■3-8 まとめ

4 訪問者に謎の文字列を見せないために
  〜文字化けと言語選択〜
 ■4-1 言語と文字コードの基礎知識
  日本語を扱う文字コード
  外国語を表現する文字コードも知っておくと便利
  文字化けとはなにか?
  文字コードを変換する
  Perlを使って文字コードを変換する
 ■4-2 ウェブページでの文字化けを解消する
  クライアントに文字コードを伝えるには(サーバで設定編)
  クライアントに文字コードを伝えるには(HTMLで設定編)
  クライアントに文字コードを伝えるには(動的ページで設定編)
 ■4-3 ブラウザの言語指定によるページの振り分け
  複数の言語でウェブサイトを作成する
  ブラウザは自分の利用できる言語を教えてくれている
  言語の振り分けを行うプログラムを作成する
 ■4-4 まとめ

5 検索窓でウェブページを使いやすく
  〜サイトの全文検索機能をつける〜
 ■5-1 サイトナビゲーションと検索窓の重要性
  サイトナビゲーションとは
 ■5-2 最も簡単な方法:検索エンジンサイトにおまかせ
  検索エンジンに,自分のサイトだけを検索させる
  検索エンジンを呼び出す検索窓の作成
  検索エンジンサイトを利用した場合の欠点
 ■5-3 検索エンジンを自作する
  検索エンジンの仕組み
  逐次検索方式の検索エンジンプログラムの作成
 ■5-4 Namazuを使って全文検索機能をつける
  全文検索システムNamazu
 ■5-5 どの方法を用いるべきか?
 ■5-6 まとめ

6 ウェブロボットと付き合うための傾向と対策
  〜ウェブロボット向けにデータをコントロールする〜
 ■6-1 ウェブロボットの働きと種類
  ウェブロボットの定義
  検索エンジンのデータ回収ロボット
  ウェブアーカイバ
  アンテナシステム
  リンクチェッカ
  E-Mailコレクター
  その他のロボット
 ■6-2 ロボットを識別する
  ユーザーエージェント情報で見分ける
  リファラー情報で見分ける
  ドメイン名,IPアドレスから見分ける
  ウェブロボットを見分けるための情報を得るには
 ■6-3 ロボットを制限する
  ウェブロボットに対する2つのアプローチ
  ロボット排除手順
  METAエレメントでロボットへの指示を行う
  サーバ側でロボットからのアクセスを拒否する
  メールアドレスをロボットから隠す
 ■6-4 ロボット向けの情報を提供する
  METAエレメント(ロボットへの情報提供)
  LINKエレメントで多言語・多フォーマット対応
  ロボット用リンク一覧ページの作成
  ウェブの更新時刻を提供する
 ■6-5 動的ページにおけるウェブロボット対策
  ロボットを見分ける
  URLを工夫する
 ■6-6 RSSで情報を提供する
  サイト情報を提供することの重要性
  RSSでサイトの情報を公開する
 ■6-7 まとめ

7 個々の訪問者を識別する
  〜ユーザー追跡の手法〜
 ■7-1 ユーザー追跡とはなにか
  ユーザー追跡は何故便利なのか
  HTTPによるユーザー追跡はなぜ難しいのか
  どうすればユーザーを追跡できるのか
 ■7-2 HTTP認証によるユーザー追跡
  HTTP認証の仕組み
  BASIC認証
  DIGEST認証
  HTTP認証によるユーザー追跡
 ■7-3 クッキーによるユーザー追跡
  クッキーはどうやって送られているか
  クッキーによるユーザー追跡
  クッキーによるログイン/ログオフシステムの作成
  クッキーの欠点
 ■7-4 その他のユーザー追跡方法
 ■7-5 ユーザー追跡の注意点と問題点
  リプレイによるなりすまし
  なりすましを防ぐには
 ■7-6 まとめ

8 サイトにいつ誰がきたのか解析する
  〜ログに残されたデータから情報を得る〜
 ■8-1 アクセスログの基礎知識
  アクセスログに記録できる情報
 ■8-2 アクセスログの記録方法
  Apacheでのアクセスログの記録
  IISのアクセスログ設定法
 ■8-3 ログの活用法
  自分のサイトに張られたリンクを検出する
  検索エンジンでの検索単語を調べる
  エラーから情報を得る
  ロボットのアクセスを調べる
 ■8-4 ログ解析ソフトウェアAnalog
 ■8-5 アクセスログが見られない場合のアクセス解析方法
  ログの出力をするプログラムを作る
  JavaScriptでさらに詳しい情報を
 ■8-6 個々の訪問者を追跡する
  訪問者ごとのログ解析を行う方法
  mod_usertrackを利用する
 ■8-7 まとめ

9 ウェブサイトのチューニング
  〜ウェブページの表示速度を速くするためのテクニック〜
 ■9-1 パフォーマンスチューニング概論
  パフォーマンスチューニングとは
  パフォーマンスチューニングの方法
 ■9-2 ウェブサーバのパフォーマンスチューニング
  ウェブサーバで行われている無駄な処理を減らす
  送信するデータを圧縮する
 ■9-3 静的データのパフォーマンスチューニング
  静的データのチューニングとは
  HTMLファイルのサイズを小さくする
  HTMLのレンダリングにかかる時間を減らす
  画像ファイルのサイズを小さくする
 ■9-4 動的データのパフォーマンスチューニング
  動的データのチューニングの方法論
  mod_perlを利用する
 ■9-5 その他のチューニング
 ■9-6 まとめ

10 訪問者を危険にさらさないために
  〜セキュアなサイト作りを考える〜
 ■10-1 セキュリティホールとは?
  セキュリティホールの2つのタイプ
 ■10-2 クロスサイトスクリプティング
  XSSの動作実験をしてみる
  XSSにはどんな危険性があるか
  XSSを防ぐには
  他人の振り見てわが振りなおせ
 ■10-3 ファイルパスを扱う際のセキュリティホール
  目的のファイル以外にアクセスさせないためには
  open文のさらなる危険性
 ■10-4 セキュリティホールをなくすためのさまざまな工夫
  情報を与えすぎない
  GETを禁止する
  リファラーをチェックする
  汚染をチェックする
 ■10-5 まとめ

コラム
 ウェブアクセシビリティ
 エラーをプログラムで出力する
 Internet Explorerとエラーページ
 カスタムエラードキュメントを集めたサイト
 カスタムエラーページとウェブユーザビリティ
 ディレクトリへのアクセスと転送
 戻れないウェブページ
 アクセシビリティガイドラインに見る転送の扱い
 チョコレートの箱文字化け事件
 PerlIOでの自動変換
 機種依存文字とは?
 チルダの問題
 ApacheのMultiViews機能
 文字コードの自動判別を助けるおまじない
 ヤコブ・ニールセン博士が語る検索機能の重要性
 Google Web APIs
 ユーザーの嗜好を知る-もうひとつのメリット
 Googleフリー検索を利用する
 サイトマップ
 リファラー情報からURLがロボットに知られる
 検索エンジンをだます人々
 ロボットとCGIの負荷
 RSSはウェブログなどで利用されている
 リファラースパム
 ワームによる大量のログが発生した事件
 市販のログ解析ツール
 携帯電話のインターネットコンテンツとHTML
 インドネシアで学んだチューニングの重要性
 グーグル・ダンス
 XSSとCSS
 エラーには情報が漏れる危険性がある
 検索エンジンが悪用される?