(57)【特許請求の範囲】
【請求項１】
ＨＴＴＰ要求を処理する方法であって、
サーバーで、クライアントから送られるＵＲＬ要求を受信することであって、
前記ＵＲＬ要求は、ターゲットＵＲＬ情報を含み、前記サーバーがホストするかまたは前記サーバーがアクセス可能な、ＵＲＬコンテンツを要求することと、
前記サーバーで前記ＵＲＬ要求に対する応答を生成することと、
前記応答に従い、前記サーバーが真のＵＲＬコンテンツを取得することであって、
前記応答がリダイレクト情報を含まない場合、取得される前記真のＵＲＬコンテンツは、前記ターゲットＵＲＬ情報で指定されるターゲットＵＲＬコンテンツであることと、
前記応答がリダイレクト先のＵＲＬを示すリダイレクト情報を含む場合、取得される前記真のＵＲＬコンテンツは、前記リダイレクト情報で指定されるリダイレクト先のＵＲＬコンテンツであることと、
前記真のＵＲＬコンテンツをクライアントに送信すること、
を含むことを特徴とする方法。
【請求項２】
前記サーバーで、前記ＵＲＬ要求に対する応答を生成することが、
前記ターゲットＵＲＬに前記ＵＲＬ要求を提出することと、
前記ターゲットＵＲＬから前記応答を受け取ることと
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記応答に従い前記サーバーが真のＵＲＬコンテンツを取得することが
前記サーバーが、前記応答が示す、前記リダイレクト先のＵＲＬを決定することと、
前記サーバーが、リダイレクト先のＵＲＬ要求を提出することと、
前記リダイレクト先のＵＲＬコンテンツを受け取ることと
を含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記サーバー内のリダイレクション分析モジュールに前記応答を転送することと、
前記リダイレクション分析モジュールによって、リダイレクトが必要とされるかどうかを判定することと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記リダイレクション分析モジュールが、リダイレクト先のＵＲＬに対するリダイレクトが必要と判定する場合に、前記サーバーが、前記応答に従い前記真のＵＲＬコンテンツを取得することは、
前記リダイレクト先のＵＲＬへの要求を提出することと、
サーバエンドが、前記リダイレクト先のＵＲＬの前記リダイレクト先のＵＲＬコンテンツを受け取ることであって、前記サーバエンドは、前記サーバーの一部であって、前記クライアントに前記真のＵＲＬコンテンツとして前記リダイレクト先のＵＲＬコンテンツを送信するために使用されること、
を含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記応答がＨＴＴＰヘッダを含み、
前記ＨＴＴＰヘッダ内の３ｘｘリダイレクションコマンドと関連づけられたリダイレクト先のＵＲＬを識別すること
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記応答に従って前記サーバーによって前記真のＵＲＬコンテンツを取得することが、
前記リダイレクト先のＵＲＬに要求を送信することと、
前記リダイレクト先のＵＲＬコンテンツを受け取ることと
を含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記ターゲットＵＲＬコンテンツおよび前記リダイレクト先のＵＲＬコンテンツは、異なるサーバーにホストされる
ことを特徴とする請求項１に記載の方法。
【請求項９】
ＨＴＴＰ要求を処理する方法であって、
サーバーで、クライアントから送信されるＵＲＬ要求を受信することと、
前記ＵＲＬ要求は、前記サーバーがホストするかまたは前記サーバーがアクセス可能な、ＵＲＬコンテンツを要求するものであって、
前記サーバーで前記ＵＲＬ要求に対する応答を生成することと、
前記応答に、リダイレクト先のＵＲＬを示すリダイレクション情報を含めることと、
前記サーバーによって前記リダイレクト先のＵＲＬコンテンツを取得することと、
前記リダイレクト先のＵＲＬコンテンツを前記クライアントに送信することと
を含むことを特徴とする方法。
【請求項１０】
前記サーバー内で、前記ＵＲＬ要求に対する応答を生成することが、
前記ターゲットＵＲＬに前記ＵＲＬ要求を提出することと、
前記ターゲットＵＲＬから前記応答を受け取ることと
を含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記サーバーによって前記リダイレクト先のＵＲＬコンテンツを取得することが、
前記リダイレクト先のＵＲＬに、サーバーによってリダイレクト先のＵＲＬ要求を提出することと、
前記リダイレクト先のＵＲＬから、前記リダイレクト先のＵＲＬコンテンツを受け取ることと
を含むことを特徴とする請求項９に記載の方法。
【請求項１２】
前記応答がＨＴＴＰヘッダを有し、前記方法が、さらに
前記ＨＴＴＰヘッダの３ｘｘリダイレクションコマンドに関連づけられた前記リダイレクト先のＵＲＬを識別すること
を含むことを特徴とする請求項９に記載の方法。
【請求項１３】
ＨＴＴＰ要求サービス用のサーバーシステムであって、
サーバーコンピュータが、クライアントから送信されるＵＲＬ要求を受け取る行為と、
前記ＵＲＬ要求は、ターゲットＵＲＬ情報を含み、前記サーバーコンピュータがホストするかまたは前記サーバーコンピュータによってアクセス可能なＵＲＬコンテンツを要求するものであって、
前記サーバーコンピュータ内で、前記ＵＲＬ要求に対する応答を生成する行為と、
前記応答に従って前記サーバーコンピュータによって真のＵＲＬコンテンツを取得する行為であって、
前記応答にリダイレクト情報が何も含まれない場合には、取得される前記真のＵＲＬコンテンツが前記ターゲットＵＲＬ情報で指定されるターゲットＵＲＬコンテンツであることと、
前記応答に、リダイレクト先のＵＲＬを示すリダイレクト情報が含まれる場合、取得される前記真のＵＲＬコンテンツが、前記リダイレクト情報で指定される、リダイレクト先のＵＲＬコンテンツであることと、
前記真のＵＲＬコンテンツを前記クライアントに送信する行為と
を実行するようにプログラムされる前記サーバーコンピュータを備えることを特徴とするサーバーシステム。
【請求項１４】
前記サーバーコンピュータが、ＨＴＴＰサーバエンドおよびリダイレクション分析モジュールを含み、前記ＨＴＴＰサーバエンドが前記クライアントからの前記ＵＲＬ要求を受け取り、前記ＵＲＬ要求に対する前記応答を生成するように適合され、前記リダイレクション分析モジュールが前記ＨＴＴＰサーバエンドから転送される応答を受け取り、前記応答にリダイレクション情報が含まれるかどうかを判定するように適合されたことを特徴とする請求項１３に記載のサーバーシステム。
【請求項１５】
前記リダイレクション分析モジュールが、前記応答のＨＴＴＰヘッダの３ｘｘリダイレクションコマンドと関連する前記リダイレクト先のＵＲＬを識別し、前記リダイレクト先のＵＲＬに要求を送信するように適合されることを特徴とする請求項１３に記載のサーバーシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＲＥＡＬＩＺＩＮＧ  ＨＴＴＰ  ＲＥＱＵＥＳＴ  ＳＥＲＶＩＣＥ」と題する、２００８年８月２６日に出願された中国特許出願第２００８１０２１４８２１．Ｘ号に基づく優先権を主張する。
【０００２】
本開示は、ウェブアプリケーションにおけるＨＴＴＰサービスに関し、特にＨＴＴＰサービスにおけるリダイレクト技術に関する。
【背景技術】
【０００３】
既存の技術の下では、ネットワークユーザがある種のウェブページにアクセスする必要がある場合、ユーザは、クライアントに関するウェブページに対応するＵＲＬアドレスを入力し、ＨＴＴＰサーバは、通常、ユーザによって要求されたそのウェブページを返す。しかしながら、いくつかのインターネットウェブサイトは、たとえビジターが意図したターゲットウェブページが構築中、調整中、ウェブページディレクトリ構造の変更中、新しいＵＲＬアドレスでのウェブページへの移行中、またはウェブページ拡張子の変更中であっても、ビジターが関連するウェブページに導かれることを保証するために、ページリダイレクト技術を使用している。リダイレクト機能がないと、ネットワークユーザのブックマークに結び付けられた、またはサーチエンジンのデータベース内のサポートされなくなったアドレスが、ブラウジングトラフィックで迷子になることにつながる「４０４」ウェブページエラーメッセージしかビジターに返さない。さらに、いくつかのウェブサイトは複数のドメイン名と結び付いている可能性がある。これらのドメイン名にアクセスするネットワークユーザを、リダイレクションを使用してそれぞれのサイトに自動的にリダイレクトするために適切なリダイレクトツールが必要とされている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
さらに具体的には、標準化されたＨＴＴＰリダイレクト機能が使用される場合、ＨＴＴＰサーバは、まず、リダイレクトされるＵＲＬだけではなく、リダイレクション「３ｘｘ」コマンドワードをクライアントに返す。返されたリダイレクションコード（「３０１」、「３０２」、「３０３」、または「３０７」）を受け取ると、クライアントは最終的なＵＲＬコンテンツを取得するために、そのリダイレクトされたＵＲＬに基づいてＨＴＴＰサーバに要求を再提出する。たとえば、リダイレクションコード「３０１」は「恒久的に移転した」ことを表す。一方、リダイレクションコード「３０２」は「一時的に移転した」ことを表す等である。
【０００５】
既存の標準化されたＨＴＴＰリダイレクト機能を使用する場合、クライアントは最初にリダイレクトされたＵＲＬをＨＴＴＰサーバから受け取り、次いで最終的なＵＲＬコンテンツを取得するためにそのリダイレクトされたＵＲＬに基づいてＨＴＴＰサーバに新しい要求を再提出する必要がある。これは、追加のネットワーク帯域幅を無駄にするだけではなく、携帯電話を使用してインターネットをネットサーフィンする等、ネットワーク帯域幅に対する要求が高い状況では特に不適切である。さらに、特にプロバイダおよびユーザが利用回数料金制の仕組みを採用している場合、ネットワークユーザの通信料金は増加する。さらに、クライアントはＨＴＴＰサーバにＵＲＬ要求を再提出する必要があるので、応答速度は減速し、ユーザ経験の悪化につながる。これは、特にインターネットおよび携帯電話の複雑化したネットワーク環境に当てはまる。さらに、クライアントがリダイレクションコマンドをサポートしていない場合、ＨＴＴＰサーバにＵＲＬ要求の失敗を再送する結果となる。したがって、高速で便利なＵＲＬ要求サービスをクライアントに提供する解決策が必要とされている。
【課題を解決するための手段】
【０００６】
開示されているのは、ターゲットＵＲＬがリダイレクトされるのかどうかに関わりなく真のＵＲＬコンテンツを識別し、クライアントにその真のＵＲＬコンテンツを送信するＨＴＴＰ要求サービスのための方法及びシステムである。リダイレクトされるＵＲＬコンテンツのその要求及び送信は、ＨＴＴＰサーバシステムの内部で行われ、クライアントがＵＲＬリダイレクションコマンドを受け取り、実行する能力を有することを要求しない。サーバシステムはクライアントからＵＲＬ要求を受け取り、サーバ内でそのＵＲＬ要求に対する応答を生成する。応答にリダイレクション情報が含まれない場合、真のＵＲＬコンテンツがターゲットＵＲＬコンテンツを含み、応答にリダイレクトされるＵＲＬを示すリダイレクション情報が含まれる場合、真のＵＲＬコンテンツが、リダイレクトされるＵＲＬと関連するリダイレクトされるＵＲＬコンテンツを含む。クライアントは、ターゲットＵＲＬに対する要求を一度提出することによって、どちらの場合にも真のＵＲＬコンテンツを受け取る。
【０００７】
ＵＲＬ要求に対する応答を生成するため、システムは単にターゲットＵＲＬにＵＲＬ要求を提出するだけでよく、ターゲットＵＲＬからＨＴＴＰ応答を受け取る。一実施形態では、応答はＨＴＴＰヘッダを有する。サーバは、ＨＴＴＰヘッダの３ｘｘリダイレクションコマンドと関連するリダイレクトされたＵＲＬを識別する。
【０００８】
一実施形態では、応答に従ってサーバにより真のＵＲＬコンテンツを取得するために、サーバは応答によって示されるそのリダイレクトされたＵＲＬを決定し、そのリダイレクトされたＵＲＬにリダイレクトされるＵＲＬ要求を提出し、リダイレクトされたＵＲＬからリダイレクトされるＵＲＬコンテンツを受け取る。
【０００９】
ＨＴＴＰ要求サービス用のサーバシステムは、本明細書に説明される行為を実行するようにプログラムされるサーバコンピュータを有する。
【００１０】
開示されているシステムおよび方法を使用して、ＨＴＴＰサーバにＵＲＬ要求を送信すると、クライアントは、リダイレクトされるＵＲＬに対する要求をＨＴＴＰサーバに再提出する必要なく真のＵＲＬコンテンツを取得する。ユーザは、真のＵＲＬコンテンツを取得するために、一度サーバにオリジナルＵＲＬ要求を送信しさえすればよい。これはネットワーク帯域幅および費用を節約し、ユーザ経験を改善する。さらに、クライアントからＨＴＴＰサーバに送信されるＵＲＬ要求の数は、ＨＴＴＰサーバにかかる接続負荷を下げるために削減される。リダイレクション機能はＨＴＴＰサーバによって内部で実行されるので、このシステムおよび方法は、クライアントがリダイレクション機能をサポートすることを要求しない。
【００１１】
この課題を解決するための手段は、発明を実施するための態様で以下にさらに説明される簡略化した形式で選ばれた概念を導入するために提供される。この課題を解決するための手段は、主張されている主題の重要な特長または本質的な特長を識別することを目的とするのではなく、主張されている主題の範囲を決定する補助として使用されることを目的とするのでもない。
【００１２】
詳細な説明は、添付図面に関して説明される。図中、参照番号の最も左の数字（複数の場合がある）は、その参照番号が最初に表示される図を識別する。異なる図での同じ参照番号の使用は、類似する項目または同一の項目を示す。
【図面の簡単な説明】
【００１３】
【図１】既存の技術を使用してクライアントからＨＴＴＰサーバにＵＲＬ要求を送信する例示的なプロセスを示す機能ブロック図である。
【図２】既存の技術に従ってクライアントからＨＴＴＰサーバにＵＲＬ要求を送信する例示的なプロセスを示すフローチャートである。
【図３】本開示に従ってクライアントからＨＴＴＰサーバにＵＲＬ要求を送信する例示的なプロセスを示すブロック図である。
【図４】クライアントから図３のＨＴＴＰサーバにＵＲＬ要求を送信する例示的なプロセスを示すフローチャートである。
【図５】本開示に従ってクライアントからＨＴＴＰサーバにＵＲＬ要求を送信する別の例示的なプロセスを示す機能ブロック図である。
【図６】クライアントから図５のＨＴＴＰサーバにＵＲＬ要求を送信する例示的なプロセスを示すフローチャートである。
【発明を実施するための形態】
【００１４】
例示的な実施形態は、添付図を使用して以下にさらに詳しく説明される。
【００１５】
本開示では、「モジュール」または「ユニット」は、一般に、ある特定のタスクまたは機能を実行するように設計された機能を指す。モジュールまたはユニットは、特定のタスクまたは機能と関連する目的を達成するための、１つのハードウェア、ソフトウェア、１つの計画または方式、あるいはその組み合わせである場合がある。さらに、別々のユニットの区画は必ずしも、物理的に別々の装置が使用されることを示唆しない。代わりに、その区画は構造的ではなく、単に機能的であるだけの場合があり、いくつかのユニットの諸機能が、組み合わせられた単一の装置または構成要素によって実行される場合がある。コンピュータをベースにしたシステムで使用されると、プロセッサ、記憶装置、およびメモリ等の定まったコンピュータ構成要素は、それぞれの多様な機能を実行するために１つまたは複数のユニットとして機能するようにプログラムできる。
【００１６】
図１は、既存の技術を使用してクライアントからＨＴＴＰサーバにＵＲＬ要求を送信する例示的なプロセスを示す機能ブロック図である。図１に図示されるように、システムは、クライアント１０１、ＨＴＴＰサーバエンドＡ１０２、ＨＴＴＰサーバエンドＢ１０３、ターゲットＵＲＬコンテンツ１０４、およびリダイレクトされたＵＲＬコンテンツ１０５を含む。ＨＴＴＰサーバエンドＡ１０２およびＨＴＴＰサーバエンドＢ１０３が、同じサーバまたは異なるサーバに属することがあることが理解される。
【００１７】
たとえば、クライアント１０１にいるユーザが、特定のウェブページにアクセスする必要があり、ブラウザのアドレスフィールドにＵＲＬ  ｈｔｔｐ：／／ｗｗｗ．ａｌｉｓｏｆｔ．ｃｏｍ／ｉｍ／ｇｅｔｔｉｐ．ｈｔｍｌを入力すると仮定する。ブラウザはコマンドを受け取り、ＨＴＴＰサーバエンドＡ１０２との接続を確立する。この場合のＨＴＴＰサーバエンドＡ１０２は、ｗｗｗ．ａｌｉｓｏｆｔ．ｃｏｍのウェブサイトのホストであるサーバの一部である。ＨＴＴＰサーバエンドＡ１０２は、このＵＲＬに対する要求を処理する。上記のターゲットＵＲＬ（．．．／ｉｍ／ｇｅｔｔｉｐ．ｈｔｍｌ）に対応するコンテンツが修正されており、ＵＲＬのプロバイダが、ターゲットＵＲＬを一時的に、リダイレクトされたＵＲＬ  ｈｔｔｐ：／／ｗｗｗ．ａｌｉｓｏｆｔ．ｃｏｍ／ｐｏｒｔａｌ／ｇｅｔｎｅｗｔｉｐ．ｈｔｍｌとの異なるウェブページにリダイレクトしたと仮定する。この場合、ＨＴＴＰサーバエンドＡ１０２は、リダイレクションコマンド「３０２」およびリダイレクトされたＵＲＬをクライアント１０１に返す。リダイレクションコマンド「３０２」およびリダイレクトされたＵＲＬ（つまり、ｈｔｔｐ：／／ｗｗｗ．ａｌｉｓｏｆｔ．ｃｏｍ／ｐｏｒｔａｌ／ｇｅｔｎｅｗｔｉｐ．ｈｔｍｌ）を受け取ると、クライアント１０１は、受け取った新しいＵＲＬ（リダイレクトされたＵＲＬ）に基づいて、ＨＴＴＰサーバエンドＢ１０３にＵＲＬ要求を再提出する。この場合のＨＴＴＰサーバエンドＢ１０３は、ｗｗｗ．ａｌｉｓｏｆｔ．ｃｏｍのウェブサイトのホストであるサーバの一部でもある。ＨＴＴＰサーバエンドＢ１０３は、そのＵＲＬ要求を処理し、クライアント１０１にリダイレクトされたＵＲＬコンテンツ１０５を返す。
【００１８】
この説明の中では、ターゲットＵＲＬコンテンツ１０４は、クライアントによってアクセスされることが意図されるターゲットＵＲＬのコンテンツを指す。ターゲットＵＲＬがリダイレクトされない場合、ターゲットＵＲＬコンテンツは、通常、クライアント１０１がそのターゲットＵＲＬに対する要求を提出した後に返されるはずである。上記の例では、ターゲットＵＲＬコンテンツ１０４はウェブページｈｔｔｐ：／／ｗｗｗ．ａｌｉｓｏｆｔ．ｃｏｍ／ｐｏｒｔａｌ／ｇｅｔｉｐ．ｈｔｍｌのコンテンツである。リダイレクトされるＵＲＬコンテンツ１０５は、コンテンツのプロバイダによって送信されるリダイレクトされるＵＲＬのコンテンツを指す。このリダイレクトされるＵＲＬコンテンツは、リダイレクトの結果としてクライアント１０１によって取得されることが意図されるコンテンツである。上記の例では、リダイレクトされるＵＲＬコンテンツ１０５は、ｈｔｔｐ：／／ｗｗｗ．ａｌｉｓｏｆｔ．ｃｏｍ／ｐｏｒｔａｌ／ｇｅｔｎｅｗｔｉｐ．ｈｔｍｌのリダイレクトされるウェブページのコンテンツである。
【００１９】
上記の例では、ＨＴＴＰサーバエンドＡ１０２およびＨＴＴＰサーバエンドＢ１０３が同じサーバに属しているのか、それとも異なるサーバに属しているのかに関わりなく、クライアント１０１からＨＴＴＰサーバエンドに２つの別々の要求が送信される必要がある。具体的には、示されているようにＵＲＬ要求の提出からＵＲＬコンテンツの取得までのプロセスの中で、ある要求は、ユーザによって意図されるオリジナルのＵＲＬのために提出され、別の要求はリダイレクトされるＵＲＬのために提出される。
【００２０】
図２は、既存の技術に従ってクライアントからＨＴＴＰサーバにＵＲＬ要求を送信する例示的なプロセスを示すフロー図である。このプロセスは、以下のように説明される。
【００２１】
ブロックＳ２００：クライアント１０１が、ＨＴＴＰサーバエンドＡ１０２にＵＲＬ要求を送信する。
【００２２】
ブロックＳ２０２：ＨＴＴＰサーバエンドＡ１０２が、ＵＲＬ要求を受け取り、処理する。
【００２３】
ブロックＳ２０４：ターゲットＵＲＬコンテンツ１０４に基づき、ＨＴＴＰサーバエンドＡ１０２が、リダイレクションが必要とされるかどうかを判定する。具体的には、サービスプロバイダがユーザによって要求されるＵＲＬをリダイレクトすると、ＨＴＴＰサーバエンドＡ１０２はその要求を分析し、リダイレクションコマンド「３ｘｘ」およびそれに関連してリダイレクトされるＵＲＬを取得する。リダイレクションが必要とされない場合、ＨＴＴＰサーバエンドＡ１０２は、ターゲットＵＲＬコンテンツを直接クライアントに返す。
【００２４】
ブロックＳ２０６：リダイレクションがＵＲＬコンテンツプロバイダによって手配された場合、ＨＴＴＰサーバエンドＡ１０２は、リダイレクションコマンド「３ｘｘ」（たとえば、「３０１」、「３０２」、「３０３」、または「３０７」等）およびリダイレクトされるＵＲＬをクライアント１０１に返す。
【００２５】
ブロックＳ２０８：クライアント１０１は、リダイレクトされたＵＲＬに対する新しいＵＲＬ要求をＨＴＴＰサーバエンドＢ１０３に送信する。
【００２６】
ブロックＳ２１０：ＨＴＴＰサーバエンドＢ１０３は、この新しいＵＲＬ要求を受け取り、処理する。
【００２７】
ブロックＳ２１２：ＨＴＴＰサーバエンドＢ１０３は、リダイレクトされたＵＲＬコンテンツ１０５をクライアント１０１に返す。
【００２８】
ブロックＳ２０６に対応し、クライアント１０１はリダイレクションコマンド「３ｘｘ」およびリダイレクトされたＵＲＬをＨＴＴＰサーバエンドＡ１０２から受け取る。これは、暗に、クライアント１０１がリダイレクションコマンドをサポートすることを要求している。サポートしない場合、クライアント１０１は、ＨＴＴＰサーバエンドＢ１０３にリダイレクトされたＵＲＬ要求を送信するのに失敗するはずである。
【００２９】
図３は、本開示に従ってクライアントからＨＴＴＰサーバにＵＲＬ要求を送信する例示的なプロセスを示すブロック図である。システム３００は、クライアント３０１、ならびにターゲットＵＲＬコンテンツ３０４およびリダイレクトされたＵＲＬコンテンツ３０８のホストとなる、またはそれらにアクセスできるＨＴＴＰサーバ３１０を含む。ターゲットＵＲＬコンテンツ３０４およびリダイレクトされたＵＲＬコンテンツ３０５の定義は、図１に説明されるターゲットＵＲＬコンテンツ１０４およびリダイレクトされたＵＲＬコンテンツ１０５と同じである。
【００３０】
説明のために、ユーザがターゲットＵＲＬ  ｈｔｔｐ：／／ｗｗｗ．ａｌｉｓｏｆｔ．ｃｏｍ／ｉｍ／ｇｅｔｔｉｐ．ｈｔｍｌにアクセスするつもりであり、プロバイダがこのＵＲＬを別のＵＲＬ  ｈｔｔｐ：／／ｗｗｗ．ａｌｉｆｏｆｔ．ｃｏｍ／ｐｏｒｔａｌ／ｇｅｔｎｅｗｔｉｐ．ｈｔｍｌにリダイレクトしたと仮定する。ユーザがクライアント３０１を使用してＵＲＬ要求を送信した後、ＨＴＴＰサーバ３１０はＵＲＬ要求を受け取り、処理する。一実施形態では、サーバ３１０はターゲットＵＲＬにクライアント３０１のＵＲＬ要求を送信し、応答を受け取る。サーバ３１０は、リダイレクションが必要とされるかどうかを、応答に基づいて判定する。リダイレクションが必要とされない場合、サーバ３１０はクライアント３０１に要求されたターゲットＵＲＬコンテンツ３０４を送信する。リダイレクションが必要とされる場合、サーバ３１０は、リダイレクトされるＵＲＬコンテンツ３０５を取得するために、リダイレクトされるＵＲＬ  ｈｔｔｐ：／／ｗｗｗ．ａｌｉｓｏｆｔ．ｃｏｍ／ｐｏｒｔｌａ／ｇｅｔｎｅｗｔｉｐ．ｈｔｍｌに要求を提出し、クライアント３０１に、取得されたリダイレクトされたコンテンツ３０５を返す。
【００３１】
言い換えると、サーバ３１０は、サーバ３１０内でリダイレクトする活動が行われていることを認識していることもあれば、認識していないこともあるクライアント３０１に、つねに真のＵＲＬコンテンツ３１２を返す。真のＵＲＬコンテンツ３１２は、クライアント３０１のＵＲＬ要求に反応して、サーバ内で生成される応答に従ってサーバ３１０によって取得される。真のＵＲＬコンテンツ３１２のコンテンツは、リダイレクションがターゲットＵＲＬに要求されるかどうか次第である。一実施形態では、応答にリダイレクション情報が含まれていない場合、真のＵＲＬコンテンツ３１２はターゲットＵＲＬコンテンツ３０４を含み、応答にリダイレクトされるＵＲＬを示すリダイレクション情報が含まれる場合、真のＵＲＬコンテンツ３１２は、リダイレクトされるＵＲＬに関連する、リダイレクトされるＵＲＬコンテンツ３０５を含む。
【００３２】
一実施形態では、応答はＨＴＴＰヘッダを有する。サーバ３１０が、応答の中のＨＴＴＰヘッダのコマンドワードがリダイレクトするコマンド「３０１」、「３０２」、「３０３」または「３０７」であり、ＨＴＴＰヘッダがロケーションヘッダおよび関連するリダイレクトされるＵＲＬも含むと判定すると、サーバ３１０は、リダイレクションが必要であると判断し、ロケーションによって指定されるリダイレクトされるＵＲＬに要求を提出する。
【００３３】
リダイレクトされるＵＲＬコンテンツ３０５を受け取ると、サーバ３１０はクライアント３０１にコンテンツを返す。これにより、ユーザによって要求されるＨＴＴＰ要求サービスが完了する。
【００３４】
図３に図示されるように、クライアント３０１とＨＴＴＰサーバ３１０の間の相互作用は、クライアント１０１とＨＴＴＰサーバエンド１０２と１０３の間の相互作用とは異なる。図１では、クライアント１０１は、最初にＨＴＴＰサーバエンドＡ１０２に要求を提出し、ＨＴＴＰサーバエンドＡ１０２がリダイレクションコマンドおよびリダイレクトされるＵＲＬをクライアント１０１に返す。次に、クライアント１０１は、リダイレクトされたＵＲＬに対する別の要求をＨＴＴＰサーバエンドＢ１０３に送信する。ＨＴＴＰサーバエンドＢ１０３はリダイレクトされたＵＲＬコンテンツをクライアント１０１に返す。その結果、クライアント１０１は、ＨＴＴＰサーバエンドＡ１０２およびＨＴＴＰサーバエンドＢ１０３が同じサーバに属しているかどうかに関わりなく、ＨＴＴＰサーバエンドに２つのＵＲＬ要求を提出するように要求される。
【００３５】
相対的に、クライアント３０１はオリジナルのＵＲＬ要求をＨＴＴＰサーバ３１０に提出する。このＵＲＬ要求がプロバイダによって新しいＵＲＬにリダイレクトされたかどうかに関わりなく、ＨＴＴＰサーバエンドは直接的にクライアント３０１に真のＵＲＬコンテンツ３１２を返す。真のＵＲＬコンテンツ３１２は、プロバイダによって設定されるリダイレクションに応じて、オリジナルのターゲットＵＲＬコンテンツ３０４であるのか、またはリダイレクトされるＵＲＬコンテンツ３０５である場合がある。クライアント３０１はＵＲＬ要求を一度だけ提出し、真のＵＲＬコンテンツを受け取る。実際には、ユーザはオリジナルのＵＲＬ要求を使用して真のＵＲＬコンテンツを取得することについてだけ案じており、リダイレクションコマンドおよびリダイレクトされるＵＲＬが最初に返されるのかどうかは気にしていないため、これはユーザ経験を改善することができ、リダイレクションコマンドおよびリダイレクトされるＵＲＬに基づくＵＲＬ要求は、次いで真のＵＲＬコンテンツを取得するためにＨＴＴＰサーバに送信される。
【００３６】
さらに、クライアントはＵＲＬ要求に対応する真のＵＲＬコンテンツを取得するために一度だけＵＲＬ要求を提出しさえすればよいため、クライアントとＨＴＴＰサーバ間の相互作用はより合理化され、ネットワーク帯域幅を節約する。ＨＴＴＰサーバ３１０の観点からすれば、クライアントからＨＴＴＰサーバに送信されるＵＲＬ要求の数も削減される。
【００３７】
図４は、クライアントから図３のＨＴＴＰサーバへＵＲＬ要求を送信する例示的なプロセスを示すフローチャートである。図４は、クライアント３０１およびＨＴＴＰサーバ３１０の間の相互作用のプロセスを示す。このプロセスは以下のように説明される。
【００３８】
ブロックＳ４００：クライアント３０１は、ＨＴＴＰサーバ３１０にターゲットＵＲＬに対する要求を送信する。その要求は、サーバ３１０がホストとなる、またはサーバ３１０によってアクセス可能であるターゲットＵＲＬに位置するターゲットＵＲＬを要求することである。
【００３９】
ブロックＳ４０２：サーバ３１０は、ＵＲＬ要求を受け取り、処理する。
【００４０】
ブロックＳ４０４：サーバ３１０は、ＵＲＬ要求に対する応答を生成する。一実施形態では、サーバ３１０はターゲットＵＲＬにＵＲＬ要求を送信し、応答（返送）を受け取る。サーバ３１０は、次いで応答を分析し、次のブロックＳ４０６に示されるように、プロバイダによってリダイレクションが必要とされるかどうかを判定する。リダイレクションの必要に関するこのような情報は、サーバ３１０内に記憶することができ、サーバ３１０が分析するために直接使用できることが理解される。
【００４１】
ブロックＳ４０６：サーバ３１０は、そのＵＲＬにとってリダイレクションが必要とされるかどうかを判定する。リダイレクションが必要とされない場合、プロセスはブロックＳ４１０Ａに進む。リダイレクションが必要とされる場合、プロセスはブロックＳ４１０Ｂに続行する。たとえば、サーバ３１０は、最初に要求されたターゲットＵＲＬから返された応答のＨＴＴＰヘッダを分析する。ＨＴＴＰヘッダで返されたコマンドワードがリダイレクトするコマンド「３ｘｘ」であり、ロケーションヘッダおよびＵＲＬが応答に含まれる場合、サーバ３１０は、リダイレクションが必要とされると判定する。
【００４２】
ブロックＳ４１０Ａ：リダイレクションが必要とされない場合に、サーバ３１０は、最初に要求されたターゲットＵＲＬコンテンツ３０４を、真のＵＲＬコンテンツとしてクライアント３０１に返す。
【００４３】
ブロックＳ４１０Ｂ：リダイレクションが必要とされると判断すると、サーバ３１０は、リダイレクトされるＵＲＬコンテンツ３０５を、真のＵＲＬコンテンツとしてクライアント３０１に返す。一実施形態では、サーバ３１０は、リダイレクトされるＵＲＬコンテンツ３０５に対する要求を、リダイレクトされるＵＲＬに直接送信し、受け取ったリダイレクトされたＵＲＬコンテンツ３０５をクライアント３０１に送信する。
【００４４】
上記プロセスに示されるように、サーバ３１０は、クライアント３０１による単一のＵＲＬ要求時に、つねに真のＵＲＬコンテンツ３１２を返す。上記ブロックＳ４０６は、ターゲットＵＲＬに対するオリジナルの要求に反応してサーバ３１０によって生成される応答に従って、２つのＵＲＬコンテンツを決定し、取得するために使用される。真のＵＲＬコンテンツ３１２は、リダイレクションが必要とされるかどうかに応じて、最初に要求されたコンテンツ３０４、またはリダイレクトされたＵＲＬコンテンツ３０５である場合がある。
【００４５】
具体的な実装形態では、サーバ３１０は、プロセッサ（複数の場合がある）、入出力装置、コンピュータ可読媒体、およびネットワークインタフェース（不図示）等の共通のコンピュータ構成要素を有する任意の適切なサーバまたはサーバシステムである場合がある。プロセッサ（複数の場合がある）は、本明細書に説明されるプロセスに関与する行為を実行するようにプログラムできる。一実施形態では、後述されるように、サーバ３１０は、多様な機能モジュールに対応する機能を実行させるようにプログラムできる。
【００４６】
図５は、本開示に従ってクライアントからＨＴＴＰサーバにＵＲＬ要求を送信する別の例示的なプロセスを示す機能ブロック図を示す。システム５００は、クライアント５０１およびターゲットＵＲＬコンテンツ５０４およびリダイレクトされるＵＲＬコンテンツ５０５のホストとなる、またはそれらにアクセスできるＨＴＴＰサーバ５１０を含む。ＨＴＴＰサーバ５１０は、ＨＴＴＰサーバエンド５１２およびリダイレクション分析モジュール５１４を含む。ターゲットＵＲＬ５０４およびリダイレクトされるＵＲＬコンテンツ５０５の定義は、図１に説明されるターゲットＵＲＬコンテンツ１０４およびリダイレクトされるＵＲＬコンテンツ１０５と同じである。
【００４７】
説明のために、ユーザがターゲットＵＲＬ  ｈｔｔｐ：／／ｗｗｗ．ａｌｉｓｏｆｔ．ｃｏｍ／ｉｍ／ｇｅｔｔｉｐ．ｈｔｍｌにアクセスするつもりであり、プロバイダが、このＵＲＬをリダイレクトされるＵＲＬ  ｈｔｔｐ：／／ｗｗｗ．ａｌｉｓｏｆｔ．ｃｏｍ／ｐｏｒｔａｌ／ｇｅｔｎｅｗｔｉｐ．ｈｔｍｌにリダイレクトしたと仮定する。ユーザがクライアント５０１を使用してＵＲＬ要求を送信した後、ＨＴＴＰサーバ５１０は、ＨＴＴＰサーバエンド５１２を通してＵＲＬ要求を受け取り、処理する。たとえば、ＨＴＴＰサーバエンド５１２は、ターゲットＵＲＬにユーザＵＲＬ要求を提出し、応答を受け取ることができる。ＨＴＴＰサーバエンド５１２は、リダイレクション分析モジュール５１４に受け取った応答を転送する。リダイレクション分析モジュール５１４は、次いでリダイレクションが必要とされるかどうかを判定する。リダイレクションが必要とされない場合、リダイレクション分析モジュール５１４は、要求されたターゲットＵＲＬコンテンツ５０４をＨＴＴＰサーバエンド５１２に返す。ＨＴＴＰサーバエンド５１２は、今度はＵＲＬコンテンツ５０４をクライアント５０１に送信する。サーバエンド５１２が、ターゲットＵＲＬコンテンツ５０４を保持し、リダイレクション分析モジュール５１４に、分析のためにＨＴＴＰヘッダだけを送信したと理解される。この場合、リダイレクション分析モジュール５１４は、リダイレクションが必要とされていないと判定すると、サーバエンド５１２に、ターゲットＵＲＬコンテンツ５０４をクライアント５０１に送信するように命令する。
【００４８】
リダイレクションが必要とされる場合、リダイレクション分析モジュール５１４は、リダイレクトされるＵＲＬコンテンツ５０５を取得するために、リダイレクトされるＵＲＬ  ｈｔｔｐ：／／ｗｗｗ．ａｌｉｓｏｆｔ．ｃｏｍ／ｐｏｒｔｌａ／ｇｅｔｎｅｗｔｉｐ．ｈｔｍｌに要求を提出する。リダイレクション分析モジュール５１４は、これを直接的に行うことができるか、サーバ５１０のサーバエンド５１２等の別の機能モジュールに、同じことを行うように命令できる。たとえば、リダイレクション分析モジュール５１４が、応答の中のＨＴＴＰヘッダのコマンドワードがリダイレクトするコマンド「３０１」、「３０２」、「３０３」、または「３０７」であり、ロケーションヘッダおよびＵＲＬが応答に含まれていると判断すると、リダイレクション分析モジュール５１４は、リダイレクションが必要とされると判定し、したがってロケーションによって指定されるＵＲＬに要求を提出する。本例では、ロケーションヘッダに含まれるＵＲＬは、リダイレクトされるＵＲＬである。要求されたＵＲＬコンテンツ（リダイレクトされるＵＲＬコンテンツ５０５）を受信すると、リダイレクション分析モジュール５１４は、ＨＴＴＰサーバエンド５１２にコンテンツを返す。ＨＴＴＰサーバエンド５１２は、次いでリダイレクトされたＵＲＬコンテンツ５０５をクライアント５０１に送信する。これによって、ユーザによって要求されたＨＴＴＰ要求サービスが完了する。
【００４９】
図６は、クライアントから図５のＨＴＴＰサーバにＵＲＬ要求を送信する例示的なプロセスを示すフローチャートである。図６は、クライアント５０１、ＨＴＴＰサーバエンド５１２、およびリダイレクション分析モジュール５１４の間の相互作用のプロセスを示す。このプロセスは以下に説明される。
【００５０】
ブロックＳ６００：クライアント５０１は、ＨＴＴＰサーバエンド５１２にオリジナルのターゲットＵＲＬに対する要求を送信する。
【００５１】
ブロックＳ６０２：ＨＴＴＰサーバエンド５１２はＵＲＬ要求を受け取り、処理し、ＵＲＬ要求に対する応答を取得する。たとえば、サーバエンド５１２は、ターゲットＵＲＬに要求を提出し、返されるＨＴＴＰヘッダ内のコマンドを受け取る。
【００５２】
ブロックＳ６０３：ＨＴＴＰサーバエンド５１２は、クライアントからのＵＲＬ要求および応答をリダイレクション分析モジュール５１４に転送する。転送された情報は、コンテンツプロバイダがターゲットＵＲＬをリダイレクトすることを設定したかどうかに左右されることがある。リダイレクションがない場合、サーバエンド５１２はオリジナルのＵＲＬ要求を単に転送できる。リダイレクションがある場合、サーバエンド５１２は、ターゲットＵＲＬから返されるＨＴＴＰヘッダ情報を転送できる。一実施形態では、サーバエンド５１２は、リダイレクション分析モジュール５１４に（一実施形態では、オリジナルのターゲットＵＲＬ要求をターゲットＵＲＬに提出した結果である）応答だけを転送できる。
【００５３】
ブロックＳ６０６：リダイレクション分析モジュール５１４は、ＵＲＬ要求およびサーバエンド５１２によって転送される応答に基づいて、ＵＲＬにリダイレクションが必要とされるかどうかを判定する。リダイレクションが必要とされる場合、プロセスはブロックＳ６０８に続行する。リダイレクションが必要とされない場合、プロセスはブロックＳ６１０Ａに進む。たとえば、リダイレクション分析モジュール５１４は、処理結果のＨＴＴＰヘッダを分析する。ＨＴＴＰヘッダで返されるコマンドワードがリダイレクトするコマンド「３ｘｘ」であり、ロケーションヘッダおよびリダイレクトされるＵＲＬが含まれる場合、リダイレクション分析モジュール５１４は、リダイレクションが必要とされると判定する。サーバエンド５１２によって転送されるＨＴＴＰヘッダを含む応答を受け取る代わりに、リダイレクション分析モジュール５１４は、ターゲットＵＲＬから直接的にこのような情報を要求し、受け取ることもできることが理解される。
【００５４】
ブロックＳ６０８：リダイレクションが必要とされると判定すると、リダイレクション分析モジュール５１４は、リダイレクトされるＵＲＬに要求を送信し、返される結果を処理する。
【００５５】
ブロックＳ６１０Ｂ：リダイレクションが必要とされる場合には、リダイレクション分析モジュール５１４が、リダイレクトされるＵＲＬコンテンツ５０５を、真のＵＲＬコンテンツとしてＨＴＴＰサーバエンド５１２に返す。
【００５６】
ブロックＳ６１０Ａ：リダイレクションが必要とされないと判定すると、リダイレクション分析モジュール５１４が、オリジナルのターゲットＵＲＬコンテンツ５０４を、真のＵＲＬコンテンツとしてＨＴＴＰサーバエンド５１２に返す。代わりに、サーバエンド５１２は、そうでなければオリジナルのターゲットＵＲＬコンテンツ５０４を（たとえばターゲットＵＲＬから直接的に）受け取った可能性がある。この場合、リダイレクション分析モジュール５１４は、サーバエンド５１２に、その中に含まれるオリジナルのターゲットＵＲＬコンテンツ５０４をクライアント５０１に真のＵＲＬコンテンツとして送信するように命令できる。また、リダイレクション分析モジュール５１４は、何もせずに、サーバエンド５１２にその自由意思で、ターゲットＵＲＬコンテンツ５０４を真のＵＲＬコンテンツとしてクライアント５０１に送信させることもできる。
【００５７】
ブロックＳ６１０：ＨＴＴＰサーバエンド５１２は、クライアント５０１に真のＵＲＬコンテンツを返す。前述されたように、真のＵＲＬコンテンツは、リダイレクションが必要とされるかどうかに応じて、ターゲットＵＲＬコンテンツ５０４またはリダイレクトされるＵＲＬコンテンツ５０５のどちらかである場合がある。
【００５８】
上記実施形態では、分析および決定のために、ＨＴＴＰサーバエンド５１２が、ＵＲＬ要求および応答をリダイレクション分析モジュール５１４に転送することが留意される。具体的には、ＨＴＴＰサーバエンド５１２は、ＵＲＬ要求を処理し、ＵＲＬ要求の返された結果をリダイレクション分析モジュール５１４に転送する。ここでは、ＵＲＬ要求の返された結果は、プロバイダがターゲットＵＲＬのリダイレクトを必要とされるかどうかに応じて、ユーザのオリジナルのＵＲＬ要求に対応するターゲットＵＲＬコンテンツ５０４、および／またはリダイレクション情報を含むＨＴＴＰヘッダを指すことがある。たとえば、この例でのユーザのオリジナルのＵＲＬ要求がｈｔｔｐ：ｗｗｗ．ａｌｉｓｏｆｔ．ｃｏｍ／ｉｍ／ｇｅｔｔｉｐ．ｈｔｍｌである場合、ＨＴＴＰサーバエンド５１２がＵＲＬ要求を処理した後に得られた、返された結果はオリジナルのターゲットＵＲＬ要求ｈｔｔｐ：ｗｗｗ．ａｌｉｓｏｆｔ．ｃｏｍ／ｉｍ／ｇｅｔｔｉｐ．ｈｔｍｌまたはリダイレクトされるＵＲＬ要求３０２ｈｔｔｐ：／／ｗｗｗ．ａｌｉｓｏｆｔ．ｃｏｍ／ｐｏｒｔａｌ／ｇｅｔｎｅｗｔｉｐ．ｈｔｍｌのどちらかである場合がある。言い換えると、ＨＴＴＰサーバエンド５１２は、ユーザのオリジナルＵＲＬ要求がリダイレクトされる必要があるかどうかに関わりなく、リダイレクション分析モジュール５１４にある種の関連性のある情報を転送する。リダイレクションが必要とされる状況では、転送される情報は、返されたリダイレクトされるＵＲＬ要求である。リダイレクションが必要とされない状況では、転送される情報はオリジナルのＵＲＬ要求である。
【００５９】
上記の手順から説明されるように、ターゲットＵＲＬに対する要求を提出するユーザに役立つためには、ＨＴＴＰサーバ５１０は、その中に、サーバ内ＵＲＬリダイレクション用に作られるリダイレクション分析モジュール５１４を含んでいる。したがって、リダイレクションは、内部でサーバ５１０によって実行され、クライアント５０１のＵＲＬリダイレクト機能には頼らなくなる。さらに、クライアント５０１が取得することは、リダイレクションが必要とされるのかどうかに関わりなく、オリジナルのＵＲＬ要求の真のＵＲＬコンテンツである。
【００６０】
本明細書で説明された潜在的な利点および長所が、添付請求の範囲に対する制限または制約として解釈されるべきではないことが理解される。
【００６１】
主題は、構造上の機能および／または方法論的な行為に特定の言語で説明されてきたが、添付請求項に定義される主題が、必ずしも説明される特定の機能または行為に制限されないことが理解されるべきである。むしろ、特定の特長および行為が、請求項を実施する例示的な形式として開示される。
【図１】
0005485995.tif 000002
【図２】
0005485995.tif 000003
【図３】
0005485995.tif 000004
【図４】
0005485995.tif 000005
【図５】
0005485995.tif 000006
【図６】
0005485995.tif 000007