ユーザ追跡/対ロボット/ログ解析/エラー回避/検索/URL転送/文字コード/パフォーマンス/セキュリティ
PerlによるWebユーザビリティ向上テクニック
水野 貴明 著
B5変型判 480ページ
定価4,180円(税込)
JAN9784789818445
2003年12月15日発行
大変恐縮ですが,こちらの商品は品切れ絶版となりました.
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
エラーには情報が漏れる危険性がある
検索エンジンが悪用される?