(57)【特許請求の範囲】
【請求項１】
クライアントから送信されたＨＴＴＰリクエストを含む電文を受信する電文受信部と、
前記ＨＴＴＰリクエストのＨＴＴＰヘッダに設定されたユーザエージェント情報を取得するＨＴＴＰヘッダ取得部と、
前記電文の受信時刻を取得する時刻管理部と、
前記ユーザエージェント情報及び前記受信時刻の間隔に応じたコンテンツを前記クライアントにおいて表示するための送信データを当該クライアントへと送信する電文送信部と
を有するウェブサーバ。
【請求項２】
コンピュータを、
クライアントから送信されたＨＴＴＰリクエストを含む電文を受信する電文受信部と、
前記ＨＴＴＰリクエストのＨＴＴＰヘッダに設定されたユーザエージェント情報を取得するＨＴＴＰヘッダ取得部と、
前記電文の受信時刻を取得する時刻管理部と、
前記ユーザエージェント情報及び前記受信時刻の間隔に応じたコンテンツを前記クライアントにおいて表示するための送信データを当該クライアントへと送信する電文送信部と
を有するウェブサーバ
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブサーバ及びウェブページの表示方法に関する。本発明は、より詳細には、クライアントのアドレス及びＨＴＴＰリクエスト内の情報を用いて認証を行う装置及び方法などに関する。
【背景技術】
【０００２】
近年、ウェブページをブラウジング（閲覧）することは広く行われている。インターネットを通じて広く世界中のウェブページが閲覧可能となっている。日本の企業のウェブページに対しても、日本国内のみならず、日本国外のユーザがアクセスするケースが増えている。また、日本国内から日本語を母国語としないユーザがアクセスすることもあるし、日本国外から日本語を母国語としたユーザがアクセスすることもある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２５４０２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
そこで、ユーザの属性に応じたウェブページを表示する技術が望まれている。また、できるだけ簡易かつ正確にユーザの属性を判別する技術が望まれている。【０００５】
本発明は、クライアント側における複雑な手続きが不要で、かつユーザの属性を正確に判別してユーザの属性に応じたウェブページを表示できるウェブサーバ及びウェブページの表示方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一実施形態として、クライアントから送信されたＨＴＴＰリクエストを含む電文を受信する電文受信部と、前記ＨＴＴＰリクエストのＨＴＴＰヘッダに設定されたユーザエージェント情報を取得するＨＴＴＰヘッダ取得部と、前記電文の受信時刻を取得する時刻管理部と、前記ユーザエージェント情報及び前記受信時刻の間隔に応じたコンテンツを前記クライアントにおいて表示するための送信データを当該クライアントへと送信する電文送信部とを有するウェブサーバを提供する。
【０００７】
また、本発明の一実施形態として、コンピュータを、クライアントから送信されたＨＴＴＰリクエストを含む電文を受信する電文受信部と、前記ＨＴＴＰリクエストのＨＴＴＰヘッダに設定されたユーザエージェント情報を取得するＨＴＴＰヘッダ取得部と、前記電文の受信時刻を取得する時刻管理部と、前記ユーザエージェント情報及び前記受信時刻の間隔に応じたコンテンツを前記クライアントにおいて表示するための送信データを当該クライアントへと送信する電文送信部とを有するウェブサーバとして機能させるためのプログラムを提供する。
【発明の効果】
【０００８】
本発明により、クライアント側における複雑な手続きが不要で、かつユーザの属性に応じたウェブページを表示できるウェブサーバ及びウェブページの表示方法を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係るウェブサーバの構成を示す機能ブロック図である。
【図２】ＩＰヘッダのデータ構造の一例を示す図である。
【図３】ＨＴＴＰヘッダのデータ構造の一例を示す図である。
【図４】本発明の一実施形態に係るウェブサーバを用いて表示したウェブページの一例である。
【図５】本発明の一実施形態に係るウェブサーバを用いて表示したウェブページの一例である。
【図６】本発明の一実施形態に係るウェブサーバを用いて表示したウェブページの一例である。
【図７】本発明の一実施形態に係るウェブサーバを用いて表示したウェブページの一例である。
【図８】本発明の他の実施形態に係るウェブサーバの構成を示す機能ブロック図である。
【図９】本発明の一実施形態に係るウェブページの表示方法の流れを説明するためのフローチャートである。
【図１０】本発明の他の実施形態に係るウェブページの表示方法の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明に係るウェブサーバ及びウェブページの表示方法について説明する。但し、本発明に係るウェブサーバは多くの異なる態様で実施することが可能であり、以下に示す実施の形態及び実施例の記載内容に限定して解釈されるものではない。なお、実施形態及び実施例で参照する図面において、同一部分又は同様な機能を有する部分には同一の符号を付し、その繰り返しの説明は省略する。
【００１１】
（実施形態１）
図１は、本発明の一実施形態に係るウェブサーバの構成を示す機能ブロック図である。
【００１２】
図１を参照すると、本発明の一実施形態に係るウェブサーバ１００は、電文受信部１１０、送信元アドレス解析部１２０、ＨＴＴＰヘッダ解析部１３０、レスポンス作成部１４０、電文送信部１５０を有する。
【００１３】
本発明におけるウェブサーバ１００は、物理的に１台のサーバでも、複数台のクラスタリングされたサーバにより構成されてもよく、また、複数のアプリケーション、プラットフォーム、及びインフラストラクチャから構成されたいわゆるクラウドコンピューティングの形態であってもよい。
【００１４】
ウェブサーバ１００は、クライアント２００とネットワーク接続されている。ウェブサーバ１００は、クライアント２００のＨＴＴＰユーザエージェント２１０から送信されたＨＴＴＰリクエストに応じて、クライアント２００に対して、ＨＴＴＰレスポンスを送信してウェブサービスを提供する。
【００１５】
ＨＴＴＰユーザエージェント２１０は、例えばウェブブラウザであるが、これに限られず、検索エンジンのクローラなどでもよい。
【００１６】
電文受信部１１０は、クライアント２００とインターネット等のネットワークを介して接続するためのインターフェースである。電文受信部１１０は、通信プロトコルとしてのＴＣＰ／ＩＰに対応している。そして電文受信部１１０は、クライアント２００のＨＴＴＰユーザエージェント２１０より送信されたＨＴＴＰリクエストを含む電文を受信する。
【００１７】
送信元アドレス解析部１２０は、電文受信部１１０により受信された電文を解析しクライアント２００のアドレスを取得する。送信元アドレス解析部１２０は、例えば、電文受信部１１０で受信した電文のＩＰヘッダを解析して、クライアント２００のアドレスを取得する。
【００１８】
すなわち、送信元アドレス解析部１２０は、電文のＩＰパケットからＩＰヘッダを抽出する。そして、ＩＰヘッダの記述から、送信元アドレス（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）のスロットを取得することによって、クライアント２００のアドレスを送信元アドレスとして取得する。ＩＰヘッダは、例えば図２に示すようなＩＰヘッダ１０であって、そのうち、送信元アドレス１１を確認し、送信元アドレス１１が「１７０．２．２７．６５」であることから、クライアント２００のアドレスが「１７０．２．２７．６５」であると認識する。送信元アドレス解析部１２０は、認識した送信元アドレスをレスポンス作成部１４０へと受け渡す。
【００１９】
ＨＴＴＰヘッダ解析部１３０は、クライアント２００から送信されたＨＴＴＰリクエストから、ＨＴＴＰヘッダを抽出し、ＨＴＴＰヘッダの記述を確認し、必要な情報を取得する。
【００２０】
例えば、ＨＴＴＰヘッダ解析部１３０は、ＨＴＴＰヘッダの記述の中から「Ａｃｃｅｐｔ−Ｌａｎｇｕａｇｅ」の部分を取得する。すなわち、ＨＴＴＰヘッダ解析部１３０は、図３に示すようなＨＴＴＰリクエストのＨＴＴＰヘッダ２０の記述を確認する場合には、「Ａｃｃｅｐｔ−Ｌａｎｇｕａｇｅ」２１の記述を確認する。「Ａｃｃｅｐｔ−Ｌａｎｇｕａｇｅ」２１の記載は、「ｊａ,ｅｎ;ｑ＝０．５」であるため、ＨＴＴＰヘッダ解析部１３０は、ＨＴＴＰユーザエージェント２１０の受け入れ可能言語が日本語と英語とであることを認識する。ＨＴＴＰヘッダ解析部１３０は、認識した受け入れ可能言語の情報を、レスポンス作成部１４０へと受け渡す。これにより、後述のレスポンス作成部１４０において、クライアント２００のＨＴＴＰユーザエージェント２１０の受け入れ可能言語に基づいてレスポンスのデータを作成することができる。
【００２１】
なお、ＨＴＴＰヘッダ解析部１３０は、「Ａｃｃｅｐｔ−Ｌａｎｇｕａｇｅ」の記載に限られず、その他のＨＴＴＰヘッダの記載をレスポンス作成部１４０へ受け渡してもよい。例えば、「Ｕｓｅｒ−Ａｇｅｎｔ」の記述を確認して、ＨＴＴＰユーザエージェント２１０の種類を確認し、その種類に応じたデータをレスポンス作成部１４０において選択できるようにしてもよい。
【００２２】
レスポンス作成部１４０は、送信元アドレス解析部１２０から受け渡されたクライアント２００のアドレス及びＨＴＴＰヘッダ解析部１３０より受け渡された情報に基づいて、クライアント２００へと送信するＨＴＴＰレスポンスの内容を決定し、ＨＴＴＰレスポンスのデータを作成する。なお、ここで作成とは、予め複数作成したデータから、クライアント２００のアドレスとＨＴＴＰヘッダ解析部１３０より受け渡された情報とに応じて送信するデータを選択することも含む。
【００２３】
ＨＴＴＰヘッダ解析部１３０において、「Ａｃｃｅｐｔ−Ｌａｎｇｕａｇｅ」の記述を確認して受け入れ可能言語の情報をレスポンス作成部１４０へ受け渡した場合、レスポンス作成部１４０は、クライアント２００のアドレスと受け入れ可能言語との組合せにより、ＨＴＴＰレスポンスとしてクライアント２００へと送信するデータの内容を決定しＨＴＴＰレスポンスのデータを作成する。
【００２４】
例えば、「Ａｃｃｅｐｔ−Ｌａｎｇｕａｇｅ」に「ｊａ」の記述があり、受け入れ可能言語として日本語を含む場合で、クライアント２００のアドレスから、クライアント２００が日本国内に存在することを確認した場合、レスポンス作成部１４０は、日本国内に在住する日本語でのコミュニケーション可能な者向けのコンテンツを提供するためのデータをＨＴＴＰレスポンスに含める。この場合、レスポンス作成部１４０は、例えば図４のようなウェブページを表示させるためのＨＴＴＰレスポンスのデータを作成する。これにより、日本国内に居住している日本語が理解できる人向けのウェブページがクライアント２００に送信される。
【００２５】
例えば、「Ａｃｃｅｐｔ−Ｌａｎｇｕａｇｅ」に「ｊａ」の記述がなく、「ｚｈ」の記述があり、受け入れ可能言語が中国語である場合で、クライアント２００のアドレスから、クライアント２００が日本国内に存在することを確認した場合、レスポンス作成部１４０は、日本国内に在住する中国語でのコミュニケーション可能な者向けのコンテンツを提供するためのデータをＨＴＴＰレスポンスへと含める。この場合、レスポンス作成部１４０は、例えば図５のようなウェブページを表示させるためのＨＴＴＰレスポンスのデータを作成する。これにより、日本国内に居住しているが中国語しか理解できない人向けのウェブページがクライアント２００に送信される。
【００２６】
例えば、「Ａｃｃｅｐｔ−Ｌａｎｇｕａｇｅ」に「ｊａ」の記述があり、受け入れ可能言語に日本語を含む場合で、クライアント２００のアドレスから、クライアント２００が日本国外に存在することを確認した場合、レスポンス作成部１４０は、日本国外に在住する日本語でのコミュニケーション可能な者向けのコンテンツを提供するためのデータをＨＴＴＰレスポンスへと含める。この場合、レスポンス作成部１４０は、例えば図６のようなウェブページを表示させるためのＨＴＴＰレスポンスのデータを作成する。これにより、日本国外に居住している日本語が理解できる人向けのウェブページがクライアント２００に送信される。
【００２７】
例えば、「Ａｃｃｅｐｔ−Ｌａｎｇｕａｇｅ」に「ｅｎ」の記述のみがあり、受け入れ可能言語が英語である場合で、クライアント２００のアドレスから、クライアント２００が日本国外に存在することを確認した場合、レスポンス作成部１４０は、英語によるコミュニケーションが可能である日本国外に在住する者向けのコンテンツを提供するためのデータをＨＴＴＰレスポンスへと含める。この場合、レスポンス作成部１４０は、例えば図６のようなウェブページを表示させるためのＨＴＴＰレスポンスのデータを作成する。これにより、日本国外に居住している英語しか理解できない人向けのウェブページがクライアント２００に送信される。
【００２８】
このように、レスポンス作成部１４０において、クライアント２００のアドレス及び受け入れ可能言語を把握し、その組み合わせに応じてＨＴＴＰレスポンスのデータを作成することにより、それぞれのユーザに応じたウェブページを表示することができる。
【００２９】
なお、受け入れ可能言語ごとに異なるＨＴＴＰレスポンスのデータを作成せず、例えば受け入れ可能言語に日本語を含む場合と日本語を含まない場合、といった場合分けなどもレスポンス作成部１４０において適宜設定可能である。また、アドレスをより詳細に判別して、国より小さな、地域単位でデータを作成してもよいし、ある国の国内、国外、といった単位でなく国単位でデータを作成してもよい。
【００３０】
また、ＨＴＴＰヘッダの記述のうち、「Ａｃｃｅｐｔ−Ｌａｎｇｕａｇｅ」以外の「Ｕｓｅｒ−Ａｇｅｎｔ」の記述などをさらに組み合わせて用いてもよい。
【００３１】
レスポンス作成部１４０において作成したＨＴＴＰレスポンスのデータから、電文送信部１５０においてクライアント２００に送信する電文を作成してクライアント２００へと送信する。
【００３２】
本実施形態により、クライアント側における複雑な手続きが不要で、かつユーザの属性を正確に判別してユーザの属性に応じたウェブページを表示できるウェブサーバが提供される。
【００３３】
（実施形態２）
次に、本発明の他の実施形態に係るウェブページの表示方法を図４を参照して説明する。
【００３４】
図４に係る本実施形態においては、図１を参照して説明した実施形態に加えて、時刻管理部１６０を有する。時刻管理部１６０は、電文の受信時刻及び電文の受信間隔等を判別し、記憶装置へと書き込み記憶する。時刻管理部１６０は、電文の受信時刻をウェブサーバ１００の時計の示す時刻から取得してもよいし、電文自体にタイムスタンプなどの形式で時刻情報が含まれる場合、それを用いてもよい。
【００３５】
時刻管理部１６０で取得した電文の受信時刻、受信時刻間隔は、レスポンス作成部１４０へただちに、またはレスポンス作成部１４０からの要求に応じて、レスポンス作成部１４０へと受け渡される。
【００３６】
レスポンス作成部１４０は、時刻管理部１６０から受け渡された受信時刻及びＨＴＴＰヘッダ解析部１３０より受け渡された情報に基づき、ＨＴＴＰレスポンスの内容を決定する。
【００３７】
たとえば、ＨＴＴＰヘッダのうち、「Ａｃｃｅｐｔ−Ｌａｎｇｕａｇｅ」と、受信時刻間隔を参照して、所定の受け入れ可能言語のＨＴＴＰユーザエージェント２１０より、所定の期間内に閾値以上の量の電文を受信している場合、ＨＴＴＰレスポンスの内容を変更してもよい。
【００３８】
また、変形例として、ＨＴＴＰヘッダのうち、「Ａｃｃｅｐｔ−Ｌａｎｇｕａｇｅ」と、受信時刻間隔を参照した際に、通常、当該ウェブサーバ１００が提供するウェブページへのアクセスが想定されていない所定の受け入れ可能言語が「Ａｃｃｅｐｔ−Ｌａｎｇｕａｇｅ」に記述されており、当該受け入れ可能言語が記述されたＨＴＴＰリクエストを、所定の期間内に、閾値を超えた量を受信したことをレスポンス作成部１４０において検知した場合、作成するＨＴＴＰレスポンスの内容を変えることなく、ウェブサーバ１００の動作モードを変更する機能やウェブサーバ１００の管理者へと何らかの通知を行う機能を、レスポンス作成部１４０が有してもよく、そうした機能を有する他のコンポーネントへとレスポンス作成部１４０が通知してもよい。
【００３９】
上記の動作モードを変更する一例を説明する。同じ受け入れ可能言語が記述されたＨＴＴＰリクエストを所定期間内に閾値を超えた量を受信した場合には、クライアント２００からのＨＴＴＰリクエストの誤送信など、ユーザがＨＴＴＰレスポンスの受信を希望していないケースが考えられる。ウェブサーバ１００のリソース確保のため、レスポンス作成部１４０ないしレスポンス作成部１４０から通知を受けた他のコンポーネントにより、ウェブサーバ１００をスリープモードに変更して、クライアント２００へのＨＴＴＰレスポンスをウェブサーバ１００の通常の動作モードにおける応答速度よりも遅らせて送信してもよい。これにより、クライアント２００のユーザからは、ウェブサーバ１００の動作が遅くなっているように認識される。
【００４０】
本変形例により、通常アクセスが想定されない受け入れ可能言語が記述されたＨＴＴＰリクエストに対して、ウェブサーバ１００において自動で、または管理者において、より適切なアクションを行うことができる。例えば当該受け入れ可能言語向けのウェブページを表示するためのＨＴＴＰレスポンスを新たに作成するための準備を迅速に行うことなどもできる。
【００４１】
また、ＨＴＴＰヘッダのうち、「Ｕｓｅｒ−Ａｇｅｎｔ」と、電文の受信時刻の情報を用いて、レスポンス作成部１４０で作成するＨＴＴＰレスポンスの全部または一部の内容を変更してもよい。例えば、「Ｕｓｅｒ−Ａｇｅｎｔ」で記述されたＨＴＴＰユーザエージェント２２０の情報が、電文の受信時刻と比較して、最新のバージョンのウェブブラウザを示している場合には、クライアント２００のユーザは、パーソナルコンピュータの使用について詳しい知識を有するユーザであるものとして、そうしたユーザ向けの情報を表示してもよい。例えば、最新のコンピュータ製品に関する広告を、ポップアップ表示するなどしてもよい。
【００４２】
本実施形態により、クライアント側における複雑な手続きが不要で、かつユーザの属性を正確に判別してユーザの属性や、電文の受信間隔に応じてウェブページを表示するウェブサーバが提供される。
【００４３】
なお、本実施形態の変形例として、レスポンス作成部１４０において、クライアント２００のアドレス情報は用いず、アドレスに応じたＨＴＴＰレスポンスは作成しない場合には、アドレス解析部１２０を有しないより簡易な構成としてもよい。
【００４４】
（実施形態３）
次に、本発明の一実施形態に係るウェブページの表示方法を説明する。
【００４５】
図９は、本発明の一実施形態に係るウェブページの表示方法の流れを説明するためのフローチャートである。
【００４６】
図９を参照すると、まず、ウェブサーバ１００は、クライアント２００から、ＨＴＴＰリクエストを含む電文を受信する（Ｓ１１０）。
【００４７】
ウェブサーバ１００は、電文のＩＰヘッダの送信元アドレスの記述から、クライアント２００のアドレスを解析する（Ｓ１２０）。
【００４８】
次に、ウェブサーバ１００は、電文のＨＴＴＰヘッダの記述から、所定の情報を解析する（Ｓ１３０）。
【００４９】
ウェブサーバ１００は、クライアント２００のアドレスとＨＴＴＰヘッダの所定の情報を参照し、クライアント２００へと送信するＨＴＴＰレスポンスのデータを作成する（Ｓ１４０）。なお、予め作成してあるデータのうちからクライアント２００のアドレスとＨＴＴＰヘッダの所定の情報に応じたデータを選択してもよい。
【００５０】
作成したＨＴＴＰレスポンスを含む電文をクライアント２００へと送信する（Ｓ１５０）。
【００５１】
本実施形態により、クライアント側における複雑な手続きが不要で、かつユーザの属性を正確に判別してユーザの属性に応じたウェブページの表示方法が提供される。
【００５２】
（実施形態４）
次に、本発明の他の実施形態に係るウェブページの表示方法を説明する。
【００５３】
図１０は、本発明の他の実施形態に係るウェブページの表示方法を説明するためのフローチャートである。
【００５４】
図１０を参照すると、まず、ウェブサーバ１００は、クライアント２００から、ＨＴＴＰリクエストを含む電文を受信する（Ｓ２１０）。
【００５５】
ウェブサーバ１００は、電文の受信時刻を確認し記憶する（Ｓ２２０）。
【００５６】
ウェブサーバ１００は、電文のＨＴＴＰヘッダの記述から、所定の情報を解析する（Ｓ２３０）。
【００５７】
ウェブサーバ１００は、電文の受信時刻とＨＴＴＰヘッダの所定の情報を参照し、クライアント２００へと送信するＨＴＴＰレスポンスのデータを作成する（Ｓ２４０）。なお、予め作成してあるデータのうちから受信時刻とＨＴＴＰヘッダの所定の情報に応じたデータを選択してもよい。また、図４に係る実施形態の説明において上述したように、ウェブサーバ１００の管理者に通知するなど、その他のアクションを行ってもよい。
【００５８】
作成したＨＴＴＰレスポンスを含む電文をクライアント２００へと送信する（Ｓ２５０）。
【００５９】
本実施形態により、クライアント側における複雑な手続きが不要で、かつユーザの属性を正確に判別してユーザの属性や、電文の受信間隔に応じたウェブページの表示方法が提供される。
【符号の説明】
【００６０】
１００  ウェブサーバ、１１０  電文受信部、１２０  送信元アドレス解析部、１３０  ＨＴＴＰヘッダ解析部、１４０  レスポンス作成部、１５０  電文送信部、２００  クライアント、２１０  ＨＴＴＰユーザエージェント
【図１】
0006297331.tif 000002
【図２】
0006297331.tif 000003
【図３】
0006297331.tif 000004
【図４】
0006297331.tif 000005
【図５】
0006297331.tif 000006
【図６】
0006297331.tif 000007
【図７】
0006297331.tif 000008
【図８】
0006297331.tif 000009
【図９】
0006297331.tif 000010
【図１０】
0006297331.tif 000011