JP2019028811A - 通信システム、利用者端末通信プログラム、Webサーバ通信プログラム、利用者端末およびWebサーバ - Google Patents

通信システム、利用者端末通信プログラム、Webサーバ通信プログラム、利用者端末およびWebサーバ Download PDF

Info

Publication number
JP2019028811A
JP2019028811A JP2017148705A JP2017148705A JP2019028811A JP 2019028811 A JP2019028811 A JP 2019028811A JP 2017148705 A JP2017148705 A JP 2017148705A JP 2017148705 A JP2017148705 A JP 2017148705A JP 2019028811 A JP2019028811 A JP 2019028811A
Authority
JP
Japan
Prior art keywords
http request
request
information
web server
http
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017148705A
Other languages
English (en)
Inventor
淳一 丸山
Junichi Maruyama
淳一 丸山
絵里奈 小山
Erina Koyama
絵里奈 小山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Frontech Ltd
Original Assignee
Fujitsu Frontech Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Frontech Ltd filed Critical Fujitsu Frontech Ltd
Priority to JP2017148705A priority Critical patent/JP2019028811A/ja
Publication of JP2019028811A publication Critical patent/JP2019028811A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

【課題】通信システムにおける障害の発生元の特定を容易にすることができる通信システムを提供すること。【解決手段】プロキシを介して、利用者端末に導入されたブラウザとWebサーバとの間でHTTP通信を行う通信システムにおいて、プロキシは、ブラウザから送信されたHTTPリクエストをWebサーバへ送信し、Webサーバへ送信するHTTPリクエストの情報を保存する。Webサーバは、受信したHTTPリクエストの内容が正常であるか否かを判定し、ブラウザへHTTPリクエストに対するレスポンスを送信する。Webサーバは、HTTPリクエストの内容が異常であると判定された場合、特定のページへのリダイレクトを指示するレスポンスをブラウザに送信し、プロキシは、前回のHTTPリクエストの情報を特定のページに対するHTTPリクエストに付加してWebサーバへ送信する。【選択図】図17

Description

本発明は、通信システム、利用者端末通信プログラム、Webサーバ通信プログラム、利用者端末およびWebサーバに関する。
従来、利用者端末に導入されたブラウザとWebサーバとの間で通信を行う通信システムが存在する。
利用者端末とWebサーバとの間において、第三者による悪意の改ざんがなされたり、ルータ等の機器の設定による通信経路に問題があると、本来利用者端末からWebサーバへ送られるべきデータの内容が棄損する場合がある。この場合、Webサーバは必要なデータが受信できず正常な処理を行うことができない。
そこで、ネットワークに接続されている機器同士で送受信するデータの漏洩や改ざんを防止する技術が開示されている(例えば、特許文献1参照)。
特開2005−020105号公報
しかしながら、従来技術では、第三者による改ざんを防止する効果は見込めるものの、データの内容が棄損する障害が発生した場合に、ルータ等の機器の設定の問題なのか、通信システム上の問題なのか、障害の発生元を容易に特定することができなかった。
1つの側面として、本発明は、通信システムにおける障害の発生元の特定を容易にすることを目的とする。
本発明は、上記課題を解決するため、下記のような構成を採用した。
即ち、本発明の一態様によれば、本発明の通信システムは、プロキシを介して、利用者端末に導入されたブラウザとWebサーバとの間でHTTP通信を行う通信システムにおいて、前記プロキシは、前記利用者端末のブラウザから送信されたHTTPリクエストを前記Webサーバへ送信するリクエスト中継部と、前記Webサーバへ送信するHTTPリクエストの情報を保存するリクエスト情報処理部と、を備え、前記Webサーバは、受信した前記HTTPリクエストの内容が正常であるか否かを判定するリクエスト処理部と、前記利用者端末のブラウザへ前記HTTPリクエストに対するレスポンスを送信するレスポンス送信部と、を備え、前記レスポンス送信部は、前記リクエスト処理部により前記HTTPリクエストの内容が異常であると判定された場合、特定のページへのリダイレクトを指示するレスポンスを前記利用者端末のブラウザに送信し、前記リクエスト情報処理部は、前記利用者端末のブラウザから前記Webサーバへ送信されるHTTPリクエストが、前記レスポンスに対応する前記特定のページに対するHTTPリクエストである場合、前記リクエスト情報処理部が保存した前記HTTPリクエストのうち、前回のHTTPリクエストの情報を前記特定のページに対するHTTPリクエストに付加し、前記リクエスト中継部は、前回のHTTPリクエストの情報を付加した前記HTTPリクエストを前記Webサーバへ送信することを特徴とする。
本発明によれば、通信システムにおける障害の発生元の特定を容易にすることができる。
本発明の実施形態に係る利用者端末およびWebサーバを含む通信システムの一例を示す図である。 利用者端末のハードウェアブロック図の例である。 Webサーバのハードウェアブロック図の例である。 実施の形態に係る通信システムを実現するための利用者端末とWebサーバの機能ブロック図である。 ブラウザに表示される書類の入力画面の一例を示す図である。 利用者端末からWebサーバへ送信されるHTTPリクエストの構造の一例を示す図である。 リクエスト情報処理部がキャプチャしたHTTPリクエストの構造の一例を示す図である。 前回のHTTPリクエストの情報をHTTPリクエストヘッダ行に付加した状態を示すHTTPリクエストの情報を説明する図である。 記録部の書類情報テーブルに格納されている情報の一例を示す図である。 HTTPリクエストの内容は正常であると判定された場合にWebサーバからブラウザへ送信されるHTTPレスポンスの構造の一例を示す図である。 Webサーバで受信したHTTPリクエストに異常がある場合の構造の一例を示す図である。 エラー情報テーブルの一例を示す図である。 HTTPリクエストの内容は異常であると判定された場合にWebサーバから利用者端末へ送信されるHTTPレスポンスの構造の一例を示す図である。 リクエスト受信部が受信したエラーページへのリクエストURLが含まれるHTTPリクエストの構造を説明する図である。 回線業者情報テーブルの一例を示す図である。 実施形態に係る通信システムにおける通常時の通信処理の手順の一例を示すシーケンスチャートである。 実施形態に係る通信システムにおける異常時の通信処理の手順の一例を示すシーケンスチャートである。
以下、図面に従って本発明の実施形態を説明する。
図1は、本発明の実施形態に係る利用者端末およびWebサーバを含む通信システムの一例を示す図である。通信システム1は、利用者端末10と、Webサーバ20と、を含む。利用者端末10と、Webサーバ20と、の間は、ルータ30aと、収容局40aと、収容局40bと、ルータ30bと、を介して接続されている。一例として、通信システム1は、取引所と上場会社との間の書類授受を電子化した証券取引所向けのシステムとして使用される。収容局40a、収容局40b間は、専用回線業者が提供する専用回線により接続される。
本実施形態においては、利用者端末10に導入されたローカルプロキシ(local proxy)11を介して利用者端末10とWebサーバ20との間で専用回線によるHTTP通信が行われる例について説明する。利用者端末10、Webサーバ20間の接続は、ユーザIDとパスワードによるログイン認証が使用されている。ログイン認証後は、HTTPリクエストヘッダ行にパラメタ(例えば、user-account)が設定される。パラメタ(user-account)のパラメタ値はログイン中のユーザIDが設定される。HTTPリクエストヘッダの詳細については後述する。尚、本実施形態においては、利用者端末10は、Webサーバ20以外のサーバともインターネット回線等を通じて接続されている。
利用者端末10は、既存のPC(personal computer)により構成され、ローカルプロキシ11と、ウェブブラウザ(web browser)(以下、「ブラウザ」と称する)12と、が導入されている。
利用者端末10のブラウザ12は、利用者の操作に応じて、ローカルプロキシ11を介してWebサーバ20に対し、HTTP(Hyper Text Transfer Protocol)リクエストを送信する。
ローカルプロキシ11は、利用者端末10のブラウザ12からWebサーバ20へ送信されるHTTPリクエストを中継し、ルータ30aと、収容局40a、40b間の専用回線と、ルータ30bと、を介してWebサーバ20へHTTPリクエストを送信する。
また、ローカルプロキシ11は、HTTPリクエストを中継する際に、HTTPリクエストの内容をキャプチャし、記録部13に記録する。ローカルプロキシ11がHTTPリクエストの内容をキャプチャして記録する詳細については、後述する。
Webサーバ20は、既存のサーバ装置により構成され、利用者端末10のブラウザ12から送信されたHTTPリクエストをルータ30bを介して受信する。
Webサーバ20は、HTTPリクエストの内容を解析し、WebサーバのアプリケーションによりHTTPリクエストに対するHTTPレスポンスを作成する。
そして、Webサーバ20は、作成したHTTPレスポンスをルータ30bと、収容局40b、40a間の専用回線と、ルータ30aと、を介して利用者端末10のブラウザ12へ送信する。Webサーバ20がHTTPレスポンスをブラウザ12へ送信する詳細については、後述する。
ローカルプロキシ11は、ブラウザ12へ送信されたHTTPリクエストに対するHTTPレスポンスを受信し、ブラウザ12へ送信する。
以下、ルータ30aと、収容局40a、40b間の専用回線と、ルータ30bと、の間のHTTP通信については、特に必要な場合を除き説明を省略する。
次に、実施の形態に係る利用者端末10を実現するためのハードウェア構成の一例について図2を用いて説明する。図2は、利用者端末10のハードウェアブロック図の例である。
例えば、利用者端末10は、CPU(Central Processing Unit)101と、RAM(Random access memory)102と、通信インタフェース(I/F)103と、入出力インタフェース(I/F)104と、記録部13と、を有する。CPU101と、RAM102と、通信インタフェース(I/F)103と、入出力インタフェース(I/F)104と、記録部13と、は、例えば、バス105を介して互いに接続されている。
CPU101は、バス105を介して、記録部13などに格納される利用者端末10の各種処理を行うためのプログラムを読み込み、読み込んだプログラムをRAM102に一時的に格納し、そのプログラムにしたがって各種処理を行うものである。
記録部13には、HTTPリクエストをキャプチャした時のHTTPリクエストの内容、利用者端末10のローカルプロキシ11およびブラウザ12の各種処理を行うためのアプリケーションプログラムや、利用者端末通信プログラム、利用者端末10の処理に必要なデータなどが格納される。
RAM102は、揮発性メモリであって、CPU101に実行させるためのOS(Operating System)やアプリケーションプログラムが一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
通信インタフェース(I/F)103は、Webサーバ20との間でHTTP通信を行うものである。
入出力インタフェース(I/F)104は、キーボード、マウス、タッチパネルディスプレイ等とデータの送受信を行うものである。バス105は、各装置間の制御信号、データ信号などの授受を媒介する経路である。
次に、実施の形態に係るWebサーバ20を実現するためのハードウェア構成の一例について図3を用いて説明する。図3は、Webサーバ20のハードウェアブロック図の例である。
例えば、Webサーバ20は、CPU201と、RAM202と、通信インタフェース(I/F)203と、記録部204と、を有する。CPU201と、RAM202と、通信インタフェース(I/F)203と、記録部204と、は、例えば、バス205を介して互いに接続されている。
CPU201は、バス205を介して、記録部204などに格納されるWebサーバ20の各種処理を行うためのプログラムを読み込み、読み込んだプログラムをRAM202に一時的に格納し、そのプログラムにしたがって各種処理を行うものである。
記録部204には、Webサーバ20の各種処理を行うためのWebアプリケーションを含む各種アプリケーションプログラム、Webサーバ通信プログラム、ドライバ、およびWebサーバ20の処理に必要なデータなどが格納される。
RAM202は、揮発性メモリであって、CPU201に実行させるためのOSやアプリケーションプログラムが一時的に格納される。また、RAM202には、CPU201による処理に必要な各種データが格納される。
通信インタフェース(I/F)203は、利用者端末10との間でHTTP通信を行うものである。
次に、実施の形態に係る通信システム1を実現するための利用者端末10とWebサーバ20の機能ブロック図の例について説明する。図4は、実施の形態に係る通信システム1を実現するための利用者端末10とWebサーバ20の機能ブロック図である。
利用者端末10には、ローカルプロキシ11と、ブラウザ12と、が導入されている。ローカルプロキシ11には、記録部13が接続される。記録部13は、情報保存領域501と、Web情報格納領域502を有する。情報保存領域501は、ブラウザ12から送信されるHTTPリクエストの情報を保存可能な領域である。Web情報格納領域502は、Webサーバ20の情報を保存可能な領域である。
利用者端末10は、ローカルプロキシ11を介して、Webサーバ20との間でHTTP通信を行う。
利用者端末10のブラウザ12には、通信システム1上で授受される書類の入力画面が表示される。図5は、ブラウザ12に表示される書類の入力画面1000の一例を示す図である。
ブラウザ12は、利用者端末10の入出力インタフェース(I/F)104を介して、入力画面1000に表示されている各入力項目に対する利用者からのデータ入力を受け付ける。そして、ブラウザ12は、提出ボタン1001に対する押下(クリック)操作を受け付けると、ローカルプロキシ11を介してWebサーバ20にHTTPリクエストを送信する。そして、Webサーバ20からHTTPリクエストに対応するHTTPレスポンスが戻ってくると、ブラウザ12は、レスポンス結果のWebページを表示する。
図6は、利用者端末10(ブラウザ12)からWebサーバ20へ送信されるHTTPリクエストの構造の一例を示す図である。図6の例では、図5の入力画面1000の各入力項目にデータが入力され、POST通信によりブラウザ12から送信されたHTTPリクエストの構造を示している。
HTTPリクエストは、HTTPリクエスト行と、HTTPリクエストヘッダ行と、HTTPリクエストボディ行と、を含む情報により構成されている。HTTPリクエスト行には、POSTやGETなどのメソッドの情報、URL(Uniform Resource Locator)などのパスの情報、が含まれる。HTTPリクエストヘッダ行には、ユーザIDに対応するパラメタ(例えば、user-account)と、このパラメタに対応するパラメタ値としてログイン中のユーザID(例えば、ZZZZZ)の情報が含まれる。また、HTTPリクエスト行には、その他利用環境に応じた任意の情報が含まれる。HTTPリクエストボディ行には、POST通信が行われる場合に受け渡すパラメタと、このパラメタに対応するパラメタ値の情報が含まれる。
例えば、HTTPリクエストボディ行には、ブラウザ12の入力画面1000に表示されている各入力項目に対応するパラメタと、このパラメタに対応するパラメタ値の情報が含まれる。具体的には、HTTPリクエストボディ行には、会社名に対応するパラメタ(例えば、company)と、このパラメタに対応するパラメタ値(例えば、A株式会社)の情報が含まれる。
次に、ローカルプロキシ11について説明する。ローカルプロキシ11は、利用者端末10上で動作するツールである。ローカルプロキシ11の起動時に、任意のポートを監視対象の監視ポートとして予め設定する。ローカルプロキシ11は、設定された監視ポートにてHTTPリクエストとHTTPレスポンスの情報を解析する。
ローカルプロキシ11で設定した監視ポートをブラウザ12のプロキシポートに予め指定することで、ブラウザ12から送信されたHTTPリクエストがローカルプロキシ11に対し提供される。
ローカルプロキシ11は、リクエスト情報処理部301と、リクエスト中継部302と、レスポンス中継部303と、を備える。
リクエスト情報処理部301は、ブラウザ12からWebサーバ20へ送信されたHTTPリクエストをキャプチャする。
図7は、リクエスト情報処理部301がキャプチャしたHTTPリクエストの構造の一例を示す図である。リクエスト情報処理部301がキャプチャしたHTTPリクエストの構造は、ブラウザ12がWebサーバ20へ送信した図6のHTTPリクエストと同一となるため説明を省略する。
リクエスト情報処理部301は、キャプチャしたHTTPリクエストのURLが、Webサーバ20のドメインであるか否かを判定する。この処理では、リクエスト情報処理部301は、キャプチャしたHTTPリクエストのHTTPリクエスト行に含まれるURLを判定対象とする。例えば、リクエスト情報処理部301は、HTTPリクエスト行にWebサーバ20のドメイン “www.xxx”が含まれているか否かを判定する。Webサーバ20のドメイン “www.xxx”の情報は、予め記録部13のWeb情報格納領域502に格納されている。
本実施形態においては、利用者端末10は、”www.xxx”以外のドメインをもつWebサーバ20以外のドメインをもつサーバとも接続されている。したがって、本実施形態においては、通信システムにおける障害の発生元の特定を、”www.xxx”のドメインをもつWebサーバ20との通信に特定して行う目的で、ドメインの判定が行われる。
キャプチャしたHTTPリクエストのURLがWebサーバ20のドメインでない場合は、リクエスト情報処理部301は、キャプチャしたHTTPリクエストをリクエスト中継部302へ送る。そして、リクエスト中継部302は、キャプチャしたHTTPリクエストのURLにHTTPリクエストを送信する。
キャプチャしたHTTPリクエストのURLがWebサーバ20のドメインである場合には、リクエスト情報処理部301は、キャプチャしたHTTPリクエストが特定のエラーページへのリクエストであるか否かを判定する。特定のエラーページのURLの一例として、“www.xxx/error.html”などが使用される。
特定のエラーページへのリクエストを受け付ける場合とは、Webサーバ20から送信された特定のエラーページへのリダイレクトを指示するHTTPレスポンスに対し、ブラウザ12が特定のエラーページとして“www.xxx/error.html”へのHTTPリクエスト作成し、このHTTPリクエストをWebサーバ20へ送信する場合である。特定のエラーページとは、利用者端末10からWebサーバ20へ送信したHTTPリクエストのデータの内容に棄損が発生していることを示すページである。特定のエラーページへのリダイレクトを指示するHTTPレスポンスについては後述する。 特定のエラーページへのリクエストでない場合には、リクエスト情報処理部301は、キャプチャしたHTTPリクエストの情報を文字列に変換する。具体的には、リクエスト情報処理部301は、キャプチャしたHTTPリクエストのHTTPリクエスト行、HTTPリクエストヘッダ行、HTTPリクエストボディ行の情報を文字列に変換して直列化する。そして、リクエスト情報処理部301は、直列化した文字列の情報を情報保存領域501に保存する。
具体的には、リクエスト情報処理部301は、キャプチャしたHTTPリクエストの情報を「パラメタ=パラメタ値」として1つの項目のフォーマットへ編集して文字列の情報に変換する。フォーマットへの編集において、項目間は、カンマ区切りとする。リクエスト情報処理部301は、変換した文字列の情報を情報保存領域501へ保存する。具体的には、リクエスト情報処理部301がHTTPリクエストをキャプチャした場合、リクエスト情報処理部301は、キャプチャしたHTTPリクエストの情報を文字列に変換し直列化する。
図7のHTTPリクエストの情報を文字列に変換して直列化すると「URL="POST https://www.xxx/regist/ent",user-account=ZZZZZ, … , company=A株式会社 , … , registrationdate=20170630」のようになる。
リクエスト情報処理部301は、文字列に変換して直列化したHTTPリクエストの情報を情報保存領域501に保存する。
すでに同じHTTPリクエストに対応する文字列の情報が情報保存領域501に保存されている場合には、リクエスト情報処理部301は、保存されている文字列の情報を上書きして保存する。文字列の情報が上書きされることにより、情報保存領域501に保存されている同じHTTPリクエストの情報は、1世代のみ保存されることとなり、常に最新の状態を保つことができる。
リクエスト情報処理部301は、文字列の情報を保存後、キャプチャしたHTTPリクエストをリクエスト中継部302へ送る。そして、リクエスト中継部302は、Webサーバ20にHTTPリクエストを送信する。
特定のエラーページへのリクエストである場合には、リクエスト情報処理部301は、前回のHTTPリクエストの情報をエラーページへのHTTPリクエストのHTTPリクエストヘッダ行へ付加する。前回のHTTPリクエストとは、同一セッション上の同一URLに対するHTTPリクエストである。同一セッション上のHTTPリクエストであるか否かの判断は、ブラウザ12のcookie等に基づき判断される。同一URLに対するHTTPリクエストであるか否かの判断は、HTTPリクエストのHTTPリクエスト行に含まれるURL等に基づき判断される。
前回のHTTPリクエストの情報とは、今回キャプチャしたHTTPリクエストに含まれるURLと同一のURLを含む、前回キャプチャしたHTTPリクエストの情報である。前回キャプチャしたHTTPリクエストの情報は、情報保存領域501に保存されている文字列の情報に基づき参照される。
リクエスト情報処理部301は、前回のHTTPリクエストの情報を情報保存領域501に保存されている文字列の情報から抽出する。
リクエスト情報処理部301は、今回のHTTPリクエストのHTTPリクエストヘッダ行にパラメタ(ヘッダ属性)(例えば、LatestRequestInfo)を設定する。そして、リクエスト情報処理部301は、HTTPリクエストヘッダ行のパラメタ(ヘッダ属性)(LatestRequestInfo)に対応するパラメタ値に、抽出した文字列の情報を前回のHTTPリクエストの情報として付加する。これにより、前回のHTTPリクエストの情報を今回のHTTPリクエストのHTTPリクエスト行のヘッダ属性として付加することができる。
図8は、前回のHTTPリクエストの情報をHTTPリクエストヘッダ行に付加した状態を示すHTTPリクエストの情報を説明する図である。図8に示すように、HTTPリクエストのヘッダ行に、前回のHTTPリクエストの情報としてヘッダ属性(LatestRequestInfo)が付加されている。HTTPリクエストヘッダ行には、その他利用環境に応じた任意の情報が含まれる。HTTPリクエスト行には、エラーページへのリクエストURL、すなわち、エラーページへのリダイレクト先のURLの情報が含まれる。更に、エラーページへのリクエストURLには、棄損が発生したデータを含むHTTPリクエストを受信した日時や契機となったURL等を検索するキーとなるエラーID(例えば、x1000013090)が付与されている。
エラーIDは、Webサーバ20で受信したHTTPリクエストが異常であると判定された場合、リクエスト処理部402により、重複のない一意のエラーIDが付与される情報である。また、リクエスト処理部402は、エラーIDと、その異常があると判定された発生日時の情報等をエラー情報テーブル700に格納する。エラーIDについては、後述する。
リクエスト情報処理部301は、前回のHTTPリクエストの情報を付加したHTTPリクエストをリクエスト中継部302へ送る。そして、リクエスト中継部302は、前回のHTTPリクエストの情報を付加したHTTPリクエストをWebサーバ20に送信する。レスポンス中継部303は、Webサーバ20からHTTPレスポンスが戻ってきた場合、HTTPレスポンスをブラウザ12へ送信する。
次に、図4に戻り、Webサーバ20について説明する。Webサーバ20は、リクエスト受信部401と、リクエスト処理部402と、レスポンス送信部403と、を備える。記録部204は、書類情報テーブル600と、エラー情報テーブル700と、回線業者情報テーブル800と、リクエスト情報格納領域900を備える。
リクエスト受信部401は、ローカルプロキシ11を介してブラウザ12から送信されたHTTPリクエストを受信する。リクエスト受信部401は、受信したHTTPリクエストのうち、HTTPリクエストボディ行の設定内容を記録部204のリクエスト情報格納領域900に格納する。
図9は、記録部204の書類情報テーブル600に格納されている情報の一例を示す図である。
書類情報テーブル600には、各項目に対応して、必須項目の欄が設定されている。
リクエスト処理部402は、HTTPリクエストボディ行に、書類情報テーブル600の各項目のうち、必須項目のすべての項目が存在するか否かを判定する。
HTTPリクエストボディ行に、書類情報テーブル600の各項目のうち、必須項目のすべての項目が存在する場合には、リクエスト処理部402は、Webサーバ20で受信したHTTPリクエストの内容は正常であると判定する。この場合、レスポンス送信部403は、HTTPリクエストが正常に行われたことを示す登録完了画面を表示するHTTPレスポンスをブラウザ12へ送信する。この場合は、通信経路上で情報の棄損は行われておらず、通信システム1および専用回線のいずれにおいても問題はないということを把握できる。
図10は、HTTPリクエストの内容は正常であると判定された場合にWebサーバ20から利用者端末10へ送信されるHTTPレスポンスの構造の一例を示す図である。HTTPレスポンスは、ステータス行と、HTTPレスポンスヘッダ行と、HTTPレスポンスボディ行と、を含む情報により構成され、リクエスト処理部402が作成する。ステータス行には、HTTPのバージョン(例えば、HTTP/1.1)やHTTPリクエストが正常であることを示すステータス番号(例えば、200)、HTTPリクエストが正常であることを示す補足メッセージの情報(例えば、OK)等が含まれる。HTTPレスポンスヘッダ行には、利用環境に応じた任意の情報が含まれる。HTTPレスポンスボディ行には、登録完了画面のURLの情報が含まれる。
リクエスト処理部402は、利用者端末10で使用されているブラウザ12に対応するHTTPのバージョンをHTTPのバージョンに設定する。
また、HTTPリクエストが正常である場合には、リクエスト処理部402は、ステータス番号にHTTPリクエストが正常であることを示す200を設定し、メッセージの情報に、HTTPリクエストが正常であることを示すOKの情報を設定する。
次に、HTTPリクエストが異常である場合について説明する。
HTTPリクエストボディ行に、書類情報テーブル600の各項目のうち、必須項目が抜けている場合には、リクエスト処理部402は、Webサーバ20で受信したHTTPリクエストの内容は異常であると判定する。
図11は、Webサーバ20で受信したHTTPリクエストに異常がある場合の構造の一例を示す図である。
図11のHTTPリクエストの構造は、ブラウザ12がWebサーバ20へ送信した図6のHTTPリクエストと基本的には同一である。但し、図11のHTTPリクエストのHTTPリクエストボディ行には、図9の書類情報テーブル600において必須項目に設定されている「代表者の氏名」の情報が棄損している点でブラウザ12が送信したHTTPリクエストと相違する。
例えば、図9の書類情報テーブル600によると「代表者の氏名」の項目が必須項目となっている。図11に示すように、送信されたHTTPリクエストのHTTPリクエストボディ行に必須項目である「代表者の氏名」の情報がない場合には、リクエスト処理部402は、Webサーバ20で受信したHTTPリクエストの内容は異常であると判定する。この場合、リクエスト処理部402は、異常であると判定されたHTTPリクエストの情報をエラー情報テーブル700に格納する。エラー情報テーブル700は、エラー情報インデックステーブル701と、エラー情報詳細テーブル702と、を備える。より具体的には、リクエスト処理部402は、Webサーバ20で受信したHTTPリクエストの内容が異常であると判定した場合に、そのHTTPリクエストの情報の内容をエラー情報インデックステーブル701と、エラー情報詳細テーブル702と、に格納する。
図12は、HTTPリクエストが異常であると判定された場合にリクエスト処理部402により格納されるエラー情報テーブル700に格納されるHTTPリクエストの情報の内容の一例を示す図である。図12(A)は、エラー情報インデックステーブル701に格納される具体的な情報の一例を示す図である。エラー情報インデックステーブルには、エラーIDと、ユーザIDと、発生日時と、が設定される。リクエスト処理部402は、エラーIDとして、エラー情報テーブル700内において、重複のない一意なID(例えば、x1000013090)を付与する。リクエスト処理部402は、エラー情報インデックステーブル701に、エラーIDに対応して、ユーザID(例えば、zzzzz)、発生日時(例えば、2017/6/10 17:21:11.123)の情報を格納する。発生日時の情報には、異常な内容を含むHTTPリクエストを受信してエラーが発生した日時が格納される。
図12(B)は、エラー情報詳細テーブル702に格納される具体的な情報の一例を示す図である。エラー情報詳細テーブル702には、エラーIDと、属性と、属性値と、が設定されている。リクエスト処理部402は、エラー情報詳細テーブル702に、エラーID(例えば、x1000013090)に対応して、属性の情報、属性値の情報を格納する。 属性の情報には、ブラウザ12から送信されたHTTPリクエストに含まれるパラメタが格納され、属性値の情報には、パラメタに対応するパラメタ値が格納される。例えば、HTTPリクエストにHTTPリクエスト行が含まれている場合には、属性の欄の項目名をURLとし、属性値に当該HTTPリクエスト行に含まれる情報(例えば、POST”会社情報登録リクエストURL”)を格納する。同様に、HTTPリクエストヘッダ行にuser-accountの情報が格納されている場合には、属性の項目名をuser-accountとし、属性値に当該user-accountのID(例えば、ZZZZZ)を格納する。同様に、HTTPリクエストボディ行に、登録日(registrationdate)の情報が格納されている場合には、属性の項目名をregistrationdateとし、属性値に当該registrationdateの日付(例えば、20170630)を格納する。すなわち、エラーIDに基づき、エラー情報インデックステーブル701およびエラー情報詳細テーブル702を参照することにより、異常な内容を含むHTTPリクエストを受信した日時や契機となったURL等を検索することができる。
また、リクエスト処理部402が、Webサーバ20で受信したHTTPリクエストの内容が異常であると判定した場合には、レスポンス送信部403は、エラーページへのリダイレクト指示のHTTPレスポンスをブラウザ12へ送信する。
そして、エラーページへのリダイレクト指示のHTTPレスポンスを受信すると、ブラウザ12は、特定のエラーページとして“www.xxx/error.html”へのHTTPリクエスト作成し、このHTTPリクエストをWebサーバ20へ送信する。図13は、HTTPリクエストの内容は異常であると判定された場合にWebサーバ20から利用者端末10(ブラウザ12)へ送信されるHTTPレスポンスの構造の一例を示す図である。HTTPレスポンスは、ステータス行と、HTTPレスポンスヘッダ行と、を含む情報により構成され、リクエスト処理部402が作成する。ステータス行には、HTTPのバージョン(例えば、HTTP/1.1)や、リダイレクトを示すステータス番号(例えば、302)、HTTPリクエストが異常であることを示す補足メッセージの情報(例えば、Found)等が含まれる。HTTPレスポンスヘッダ行には、特定のページのうち、エラーページであることを表示する特定のエラーページへのリダイレクト先のURLの情報(例えば、https://www.xxx/error.html)、リダイレクト先のURLの情報に付与されているパラメータであるエラーID(例えば、[errorid]の値[x1000013090])や、その他利用環境に応じた任意の情報が含まれる。
リクエスト処理部402は、利用者端末10で使用されているブラウザ12に対応するHTTPのバージョンをHTTPのバージョンに設定する。
また、HTTPリクエストが異常である場合には、リクエスト処理部402は、ステータス番号にリダイレクトを示す番号300を設定し、メッセージの情報に、HTTPリクエストが異常であることを示すFoundの情報を設定する。
また、リクエスト処理部402は、受信したHTTPリクエストにエラーページへのリクエストURL(例えば、www.xxx/error.html)が含まれているか否かを判定する。エラーページへのリクエストURLが含まれているか否かの判定は、HTTPリクエストのHTTPリクエスト行にエラーページへのリクエストURLが含まれているか否かに基づいて行われる。
図14は、リクエスト受信部401が受信したエラーページへのリクエストURLが含まれるHTTPリクエストの構造を説明する図である。リクエスト受信部401が受信したエラーページへのリクエストURLが含まれるHTTPリクエストの構造は、ブラウザ12がWebサーバ20へ送信した図8のHTTPリクエストと同一となるため説明を省略する。
HTTPリクエストにエラーページへのリクエストURLが含まれている場合には、リクエスト処理部402は、エラーページへのリクエストURLに付与されているエラーIDを取得する。図14の例では、リクエスト処理部402は、リクエストURL(例えば、https://www.xxx/error.html)に付与されているパラメータであるエラーID(例えば、[errorid]の値[x1000013090])を取得する。
ここで、リクエスト処理部402は、ブラウザ12から送信されたHTTPリクエストに、書類情報テーブル600の各項目のうち、必須項目が抜けている場合には、Webサーバ20で受信したHTTPリクエストの内容は異常であるという点までは特定できる。
但し、この時点では、利用者端末10と、Webサーバ20と、の間に介在する専用回線などの通信経路上に不具合があるのか、利用者端末10やWebサーバ20通信システム1の設定に不具合があるのかまでは特定できない。
そこで、リクエスト処理部402は、エラー情報テーブル700に格納されたHTTPリクエストの情報と、エラーページへのリクエストURLが含まれるHTTPリクエストの情報と、が一致するかを判断する。具体的には、リクエスト処理部402は、取得したエラーID(例えば、x1000013090)に基づいて、図12(A)のエラー情報詳細テーブル702内を検索し、異常な内容を含むHTTPリクエストを受信した日時や契機となったURLの情報を取得する。
また、リクエスト処理部402は、エラーページへのリクエストURLが含まれるHTTPリクエストのHTTPリクエストヘッダ行のパラメタ(例えば、LatestRequestInfo)に対応するパラメタ値の情報を取得する。パラメタ(LatestRequestInfo)に対応するパラメタ値には、前回のHTTPリクエストの情報が付加されている。
リクエスト処理部402は、エラーIDをキーとしてエラー情報詳細テーブル702内から取得した情報と、エラーページへのリクエストURLが含まれるHTTPリクエストヘッダ行のパラメタ値の情報と、が一致するかを判断する。
エラー情報詳細テーブル702内から取得した情報と、HTTPリクエストヘッダ行のパラメタ値の情報と、が一致しない場合は、リクエスト処理部402は、通信経路上において情報の棄損が発生したと判定する。すなわち、利用者端末10と、Webサーバ20と、の間に介在するルータ30a、30bや収容局40a、40b間の専用回線などの通信経路上に不具合があると判定する。
この場合、リクエスト処理部402は、回線業者情報テーブル800に基づいて、専用回線の業者宛に不具合がある旨のメッセージを送信する。
図15は、回線業者情報テーブル800の一例を示す図である。回線業者情報テーブル800は、ユーザIDに対応する専用回線業者の情報が設定されている。本実施形態においては、Webサーバ20は、利用者端末10以外の端末に接続されており、また、利用者端末10を複数のユーザIDでログインする場合も考えられる。そのため、回線業者情報テーブル800には、ユーザID(例えば、zzzzz)に対応づけて、専用回線業者名(例えば、AAAAA)と、サポートメールアドレス(例えば、info@AAAAA.xx.yy)と、サポート電話番号(xx-xxxx-xxxx)と、を含む複数の項目の情報が予め設定されている。
リクエスト処理部402は、HTTPリクエストヘッダ行のパラメタ(例えば、user-account)のパラメタ値から、ユーザIDを取得する。リクエスト処理部402は、取得したユーザIDに基づいて、図15の回線業者情報テーブル800を参照して、対象となるユーザIDが契約している専用回線業者名(例えば、AAAAA)と、サポートメールアドレス(例えば、info@AAAAA.xx.yy)を取得する。
リクエスト処理部402は、取得したサポートメールアドレス宛に、エラーがある旨のメッセージを送信する。具体的には、リクエスト処理部402は、メッセージの本文に、取得したユーザIDを入力するとともに、当該ユーザIDが契約している回線に障害の疑いがあり、調査を依頼する旨を入力したメッセージを作成する。リクエスト処理部402は、作成したメッセージを専用回線業者宛に送信する。
エラー情報詳細テーブル702内から取得した情報と、HTTPリクエストヘッダ行のパラメタ値の情報と、が一致する場合は、リクエスト処理部402は、通信経路上において情報の棄損は行われなかったと判定する。すなわち、収容局40a、40b間の専用回線などの通信経路上の不具合ではない可能性が高いと判定される。すなわち、この場合は、利用者端末10やWebサーバ20を含む通信システム1の設定に不具合が発生していることがわかる。この場合、リクエスト処理部402は、通信システム1のシステムエンジニア宛に通信システム1に障害が発生している旨のメッセージを送信する。メッセージを見たエンジニアは、即座に通信システム1に対する対応を行うことができる。
一方、エラー情報詳細テーブル702内から取得した情報と、HTTPリクエストヘッダ行のパラメタ値の情報と、が一致しない場合は、リクエスト処理部402は、通信経路上において情報の棄損が行われたと判定する。すなわち、収容局40a、40b間の専用回線などの通信経路上の不具合の可能性が高いと判定される。この場合、リクエスト処理部402は、通信システム1のシステムエンジニア宛に通信経路上の不具合(回線障害)が発生している旨のメッセージを送信してもよい。
また、更に、リクエスト処理部402は、回線障害のエラーページへのリダイレクトURLを含むHTTPレスポンスを作成する。そして、レスポンス送信部403は、作成したHTTPレスポンスをブラウザ12へ送信する。ブラウザ12は、回線障害のエラーページを表示する。ブラウザ12を通じてエラーページを見た利用者は、回線障害のエラーが発生していることを認識することができる。
次に、図16を参照して、通信システム1におけるローカルプロキシ11を介して接続されるブラウザ12と、Webサーバ20と、の間においてエラーが発生していない通常時の通信処理の手順について説明する。図16は、実施形態に係る通信システム1における通常時の通信処理の手順の一例を示すシーケンスチャートである。通信システム1における通常時の通信処理は、利用者端末通信プログラムおよびWebサーバ通信プログラムにより実行される。
ブラウザ12は、入力画面1000に表示されている各入力項目に対する利用者からのデータ入力を受け付けると、ローカルプロキシ11を介してWebサーバ20にHTTPリクエストを送信する(ステップS101)。
ローカルプロキシ11のリクエスト情報処理部301は、ブラウザ12からWebサーバ20へ送信されたHTTPリクエストをキャプチャする。そして、リクエスト情報処理部301は、キャプチャしたHTTPリクエストの情報を直列化した文字列の情報に変換して情報保存領域501に保存する(ステップS102)。リクエスト中継部302は、キャプチャしたHTTPリクエストをWebサーバ20へ送信する(ステップS103)。
Webサーバ20のリクエスト受信部401は、ブラウザ12から送信されたHTTPリクエストを受信する。そして、リクエスト処理部402は、受信したHTTPリクエストの情報を書類情報テーブル600に格納する(ステップS104)。
リクエスト処理部402は、HTTPリクエストボディ行に、書類情報テーブル600の各項目のうち、必須項目が抜けているか否かを判定する。必須項目が抜けていない場合には、リクエスト処理部402は、Webサーバ20で受信したHTTPリクエストの内容は正常であると判定する。受信したHTTPリクエストの内容は正常である場合には、レスポンス送信部403は、HTTPリクエストが正常に行われたことを示す登録完了画面を表示するHTTPレスポンスをブラウザ12へ送信する(ステップS105)。
ローカルプロキシ11のレスポンス中継部303は、Webサーバ20から送信されたHTTPレスポンスを中継して、ブラウザ12へ送信する(ステップS106)。ローカルプロキシ11を介してWebサーバ20からHTTPレスポンスが戻ってくると、ブラウザ12は、レスポンス結果の登録完了画面のWebページを表示する(ステップS107)。
次に、図17を参照して、通信システム1におけるローカルプロキシ11を介して接続されるブラウザ12と、Webサーバ20と、の間においてエラーが発生している異常時の通信処理の手順について説明する。図17は、実施形態に係る通信システム1における異常時の通信処理の手順の一例を示すシーケンスチャートである。通信システム1における異常時の通信処理は、利用者端末通信プログラムおよびWebサーバ通信プログラムにより実行される。
ブラウザ12は、入力画面1000に表示されている各入力項目に対する利用者からのデータ入力を受け付けると、ローカルプロキシ11を介してWebサーバ20にHTTPリクエストを送信する(ステップS201)。
ローカルプロキシ11のリクエスト情報処理部301は、ブラウザ12からWebサーバ20へ送信されたHTTPリクエストをキャプチャする。そして、リクエスト情報処理部301は、キャプチャしたHTTPリクエストの情報を直列化した文字列の情報に変換して情報保存領域501に保存する(ステップS202)。リクエスト中継部302は、キャプチャしたHTTPリクエストをWebサーバ20へ送信する(ステップS203)。
Webサーバ20のリクエスト受信部401は、ブラウザ12から送信されたHTTPリクエストを受信する。そして、リクエスト処理部402は、受信したHTTPリクエストの情報を書類情報テーブル600に格納する(ステップS204)。
リクエスト処理部402は、HTTPリクエストボディ行に、書類情報テーブル600の各項目のうち、必須項目が抜けているか否かを判定する。必須項目が抜けている場合には、リクエスト処理部402は、Webサーバ20で受信したHTTPリクエストの内容は異常であると判定する(ステップS205)。
リクエスト処理部402は、異常であると判定されたHTTPリクエストの情報をエラー情報テーブル700に格納する(ステップS206)。この処理では、リクエスト処理部402は、Webサーバ20で受信したHTTPリクエストの内容が異常であると判定された場合に、そのHTTPリクエストの情報の内容をエラー情報インデックステーブル701と、エラー情報詳細テーブル702と、に格納する。
受信したHTTPリクエストが異常である場合には、レスポンス送信部403は、エラーページへのリダイレクト指示のHTTPレスポンスをブラウザ12へ送信する(ステップS207)。
ローカルプロキシ11のレスポンス中継部303は、Webサーバ20から送信されたHTTPレスポンスを中継して、ブラウザ12へ送信する(ステップS208)。
エラーページへのリダイレクト指示のHTTPレスポンスが戻ってくると、ブラウザ12は、特定のエラーページとして“www.xxx/error.html”へのHTTPリクエスト作成し、このHTTPリクエストをWebサーバ20へ送信する(ステップS209)。
ローカルプロキシ11のリクエスト情報処理部301は、前回のHTTPリクエストの情報を情報保存領域501に保存されている文字列の情報から抽出する。そして、リクエスト情報処理部301は、抽出した文字列の情報を今回のHTTPリクエストのHTTPリクエストヘッダ行へ付加して送信する(ステップS210)。
リクエスト処理部402は、エラー情報詳細テーブル702内から取得した情報と、HTTPリクエストヘッダ行のパラメタ値の情報と、が一致するかを判断する。リクエスト処理部402は、エラー情報詳細テーブル702内から取得した情報と、HTTPリクエストヘッダ行のパラメタ値の情報と、が一致しない場合には、通信経路上において情報の棄損が発生したと判定する(ステップS211)。リクエスト処理部402は、専用回線の業者宛に回線にエラーがある旨のメッセージを送信したり、通信システム1のシステムエンジニア宛に通信経路上の不具合(回線障害)が発生している旨のメッセージを送信してもよい。また、リクエスト処理部402は、エラー情報詳細テーブル702内から取得した情報と、HTTPリクエストヘッダ行のパラメタ値の情報と、が一致する場合には、通信システム1に不具合が発生していると判定する。
リクエスト処理部402は、回線障害のエラーページへのリダイレクトURLを含むHTTPレスポンスを作成する。そして、レスポンス送信部403は、エラーページへのHTTPレスポンスをブラウザ12へ送信する(ステップS212)。
ローカルプロキシ11のレスポンス中継部303は、Webサーバ20から送信されたHTTPレスポンスを中継して、ブラウザ12へ送信する(ステップS213)。ブラウザ12は、回線障害のエラーページを表示する(ステップS214)。
以上のことから、収容局40a、40b間の専用回線などに問題があり、通信経路上において情報の棄損が発生したのか、または、利用者端末10やWebサーバ20の通信システム1上の問題なのか判断することができる。これにより、通信システムにおける障害の発生元の特定を容易に行うことができる。
以上、本発明の実施の形態を、図面を参照しながら説明してきたが、本発明が適用される画像表示装置は、前述の実施の形態に限定されない。
上記実施形態においては、利用者端末10と、Webサーバ20と、は専用回線を通じて接続しているがこの限りではない。例えば、インターネット回線を通じて接続することもできる。
上記実施形態においては、通信システム1は、ルータ30a、30bを採用しているがこれに限られるものではなく、例えば、ルータ30a、30bの代わりにスイッチを使用することもできる。
尚、本発明は上述した実施形態そのままに限定されるものではなく、実施段階でのその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素を適宜組み合わせても良い。更に、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。このような、発明の趣旨を逸脱しない範囲内において種々の変形や応用が可能であることはもちろんである。
1 通信システム
10 利用者端末
11 ローカルプロキシ
12 ブラウザ
13 記録部
20 Webサーバ
30a、30b ルータ
40b、40a 収容局
101 CPU
102 RAM
103 通信インタフェース(I/F)
104 入出力インタフェース(I/F)
105 バス
201 CPU
202 RAM
203 通信インタフェース(I/F)
204 記録部
205 バス
301 リクエスト情報処理部
302 リクエスト中継部
303 レスポンス中継部
401 リクエスト受信部
402 リクエスト処理部
403 レスポンス送信部
501 情報保存領域
502 Web情報格納領域
600 書類情報テーブル
700 エラー情報テーブル
701 エラー情報インデックステーブル
702 エラー情報詳細テーブル
800 回線業者情報テーブル
900 リクエスト情報格納領域
1000 入力画面
1001 提出ボタン

Claims (10)

  1. プロキシを介して、利用者端末に導入されたブラウザとWebサーバとの間でHTTP通信を行う通信システムにおいて、
    前記プロキシは、
    前記利用者端末のブラウザから送信されたHTTPリクエストを前記Webサーバへ送信するリクエスト中継部と、
    前記Webサーバへ送信するHTTPリクエストの情報を保存するリクエスト情報処理部と、
    を備え、
    前記Webサーバは、
    受信した前記HTTPリクエストの内容が正常であるか否かを判定するリクエスト処理部と、
    前記利用者端末のブラウザへ前記HTTPリクエストに対するレスポンスを送信するレスポンス送信部と、
    を備え、
    前記レスポンス送信部は、前記リクエスト処理部により前記HTTPリクエストの内容が異常であると判定された場合、特定のページへのリダイレクトを指示するレスポンスを前記利用者端末のブラウザに送信し、
    前記リクエスト情報処理部は、前記利用者端末のブラウザから前記Webサーバへ送信されるHTTPリクエストが、前記レスポンスに対応する前記特定のページに対するHTTPリクエストである場合、前記リクエスト情報処理部が保存した前記HTTPリクエストのうち、前回のHTTPリクエストの情報を前記特定のページに対するHTTPリクエストに付加し、
    前記リクエスト中継部は、前回のHTTPリクエストの情報を付加した前記HTTPリクエストを前記Webサーバへ送信する
    ことを特徴とする通信システム。
  2. 前記リクエスト処理部は、異常であると判定されたHTTPリクエストの情報を格納し、前記格納された前記HTTPリクエストの情報と、前記特定のページへのリクエストURLが含まれるHTTPリクエストの情報と、を比較する。
    ことを特徴とする請求項1に記載の通信システム。
  3. 前記リクエスト処理部は、エラー情報テーブル内から取得した情報と、前記HTTPリクエストのHTTPリクエストヘッダ行のパラメタ値の情報と、が一致するかを判断し、前記エラー情報テーブル内から取得した情報と、前記HTTPリクエストのHTTPリクエストヘッダ行のパラメタ値の情報と、が一致しない場合には、通信経路上において情報の棄損が発生したと判定する
    ことを特徴とする請求項1または請求項2に記載の通信システム。
  4. 書類情報テーブルは、複数の項目が格納され、
    前記リクエスト処理部は、受信した前記HTTPリクエストに、前記書類情報テーブルに格納された各項目のうち、必須項目のすべての項目が存在するか否かに応じて、前記HTTPリクエストの内容が正常であるか否かの判定を行う
    ことを特徴とする請求項1または請求項2に記載の通信システム。
  5. 前記前回のHTTPリクエストは、同一セッション上のHTTPリクエストである
    ことを特徴とする請求項1乃至4のうち何れか1項に記載の通信システム。
  6. 前記特定のページは、利用者にエラーであることを示すエラーページである
    ことを特徴とする請求項1乃至5のうち何れか1項に記載の通信システム。
  7. 通信システム上で、Webサーバと、HTTP通信を行う利用者端末のコンピュータを、
    利用者端末に導入されたブラウザから送信されたHTTPリクエストを前記Webサーバへ送信するリクエスト中継手段、
    前記Webサーバへ送信するHTTPリクエストの情報を保存するリクエスト情報処理手段、
    として機能させ、
    前記リクエスト情報処理手段は、前記ブラウザから前記Webサーバへ送信されるHTTPリクエストが、前記Webサーバが受信したHTTPリクエストが異常である場合に送信されるHTTPレスポンスに対応する特定のページに対するHTTPリクエストである場合、前記保存した前記HTTPリクエストのうち、前回のHTTPリクエストの情報を前記特定のページに対するHTTPリクエストに付加し、
    前記リクエスト中継手段は、前回のHTTPリクエストの情報を付加した前記HTTPリクエストを前記Webサーバへ送信する
    ことを特徴とする利用者端末通信プログラム。
  8. 通信システム上で、利用者端末に導入されたプロキシを介して、HTTP通信を行うWebサーバのコンピュータを、
    前記利用者端末に導入されたブラウザから送信されたHTTPリクエストを受信した内容が正常であるか否かを判定するエラー処理手段、
    前記利用者端末のブラウザへ前記HTTPリクエストに対するレスポンスを送信するレスポンス送信手段、
    として機能させ、
    前記レスポンス送信手段は、前記HTTPリクエストの内容が異常であると判定された場合、特定のページへのリダイレクトを指示するレスポンスを前記利用者端末のブラウザに送信し、
    前記エラー処理手段は、前記利用者端末に導入されたプロキシから、前記レスポンスに対応する前記特定のページに対するHTTPリクエストに前回のHTTPリクエストの情報を付加したHTTPリクエストを受信した場合には、異常であると判定されたHTTPリクエストの情報が格納されたエラー情報テーブルに格納されたHTTPリクエストの情報と、前記特定のページに対するHTTPリクエストの情報と、を比較する
    ことを特徴とするWebサーバ通信プログラム。
  9. 通信システム上で、Webサーバと、HTTP通信を行う利用者端末であって、
    前記Webサーバと通信を行うブラウザと、
    前記ブラウザとWebサーバとの間でHTTP通信を中継するプロキシと、
    を備え、
    前記プロキシは、
    前記ブラウザから送信されたHTTPリクエストを前記Webサーバへ送信するリクエスト中継部と、
    前記Webサーバへ送信するHTTPリクエストの情報を保存するリクエスト情報処理部と、
    を備え、
    前記リクエスト情報処理部は、前記ブラウザから前記Webサーバへ送信されるHTTPリクエストが、前記Webサーバが受信したHTTPリクエストが異常である場合に送信されるHTTPレスポンスに対応する特定のページに対するHTTPリクエストである場合、前記リクエスト情報処理部が保存した前記HTTPリクエストのうち、前回のHTTPリクエストの情報を前記特定のページに対するHTTPリクエストに付加し、
    前記リクエスト中継部は、前回のHTTPリクエストの情報を付加した前記HTTPリクエストを前記Webサーバへ送信する
    ことを特徴とする利用者端末。
  10. 通信システム上で、利用者端末に導入されたプロキシを介して、HTTP通信を行うWebサーバであって、
    前記利用者端末に導入されたブラウザから送信されたHTTPリクエストを受信した内容が正常であるか否かを判定するリクエスト処理部と、
    前記利用者端末のブラウザへ前記HTTPリクエストに対するレスポンスを送信するレスポンス送信部と、
    を備え、
    前記レスポンス送信部は、前記リクエスト処理部により前記HTTPリクエストの内容が異常であると判定された場合、特定のページへのリダイレクトを指示するレスポンスを前記利用者端末のブラウザに送信し、
    前記リクエスト処理部は、前記利用者端末に導入されたプロキシから、前記レスポンスに対応する前記特定のページに対するHTTPリクエストに前回のHTTPリクエストの情報を付加したHTTPリクエストを受信した場合には、異常であると判定されたHTTPリクエストの情報が格納されたエラー情報テーブルに格納されたHTTPリクエストの情報と、前記特定のページに対するHTTPリクエストの情報と、を比較する
    ことを特徴とするWebサーバ。
JP2017148705A 2017-07-31 2017-07-31 通信システム、利用者端末通信プログラム、Webサーバ通信プログラム、利用者端末およびWebサーバ Pending JP2019028811A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017148705A JP2019028811A (ja) 2017-07-31 2017-07-31 通信システム、利用者端末通信プログラム、Webサーバ通信プログラム、利用者端末およびWebサーバ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017148705A JP2019028811A (ja) 2017-07-31 2017-07-31 通信システム、利用者端末通信プログラム、Webサーバ通信プログラム、利用者端末およびWebサーバ

Publications (1)

Publication Number Publication Date
JP2019028811A true JP2019028811A (ja) 2019-02-21

Family

ID=65478575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017148705A Pending JP2019028811A (ja) 2017-07-31 2017-07-31 通信システム、利用者端末通信プログラム、Webサーバ通信プログラム、利用者端末およびWebサーバ

Country Status (1)

Country Link
JP (1) JP2019028811A (ja)

Similar Documents

Publication Publication Date Title
JP5865277B2 (ja) 認証スイッチまたはネットワークシステム
US8949952B2 (en) Multi-stack subscriber sign on
WO2013111027A1 (en) Dynamically scanning a web application through use of web traffic information
JP6881949B2 (ja) 管理システム、および制御方法
CN103634399A (zh) 一种实现跨域数据传输的方法和装置
CN110557358A (zh) 蜜罐服务器通信方法、SSLStrip中间人攻击感知方法及相关装置
US10257254B2 (en) Method and associated server for providing user-friendly operation
CN105491045A (zh) 一种免认证接入控制方法、装置、设备和系统
JP2006203731A (ja) ネットワーク中継装置、ネットワーク接続情報閲覧システム、及びネットワーク接続情報通知方法
CN107911496A (zh) 一种vpn服务端代理dns的方法及装置
JP2016144186A (ja) 通信情報制御装置、中継システム、通信情報制御方法、および、通信情報制御プログラム
JP5458977B2 (ja) 中継処理方法、プログラム及び装置
KR101395830B1 (ko) 프록시를 경유한 접속 세션정보 확인시스템과 이를 기반으로 한 세션정보 확인방법
JP2019028811A (ja) 通信システム、利用者端末通信プログラム、Webサーバ通信プログラム、利用者端末およびWebサーバ
JP2006190033A (ja) 情報処理システム及び通信再生処理方法
JP4996496B2 (ja) ネットワーク監視システム、および、ネットワーク監視方法
JP2008065814A (ja) 情報アクセス制御方法
JP2006221419A (ja) URL管理装置、Webサーバ装置、通信システム及び通信方法
JP5519301B2 (ja) 通信システム、中継装置及び中継装置における通信方法
JP2005258672A (ja) トップページ介在シングルサインオン方法及びトップページ装置
US8590009B2 (en) Computer system for port forwarding
CN104618242A (zh) 一种报文转发方法和装置
JP6006257B2 (ja) ポートマッピング装置、ルーター、ポートマッピング方法、及びポートマッピングプログラム
Ortega et al. Learning Python Networking: A complete guide to build and deploy strong networking capabilities using Python 3.7 and Ansible
JP5851251B2 (ja) 通信パケット保存装置