Abstract:
A non-transitory computer-readable recording medium having stored therein an access information management program for causing a computer to execute a process includes extracting a parameter from request data based on a storage device configured to store a plurality of pieces of the request data and response data associated with each of the plurality of pieces of the request data, changing a plurality of parameters with a value that is the same as the extracted parameter into values different from each other from among a plurality of parameters included in previous response data that is before target request data including the extracted parameter, and specifying a parameter passed on from the previous response data to the target request data based on a value of a parameter included in request data generated in accordance with a prescribed rule from the response data in which parameter values are changed by the changing.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
       [0001]    This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2015-152086, filed on Jul. 31, 2015, the entire contents of which are incorporated herein by reference. 
       FIELD 
       [0002]    The embodiments discussed herein are related to a recording medium, a parameter specifying method and a parameter specifying device. 
       BACKGROUND 
       [0003]    Technologies that allows a server and a client to communicate with each other have been realized. The client transmits a request to the server, and the server transmits a response to the client in response to the request. 
         [0004]    The client receives the response from the server and transmits a subsequent request to the server based on the received response. At that time, the client may pass on parameters included in the received response to the subsequently transmitted request receive and transmits the request with the parameters passed on from the response to the server. 
         [0005]    Related Art includes a technology of automatizing a series of operations performed on plural screens to reduce burden on users by selecting a communication sequence that frequently appeared in communication history in the past, and reproducing the communication sequence. 
         [0006]    Another technology has been proposed that each of virtual web clients sets values of parameters having the same name included in requests after a response included in a scenario by using a value of a parameter received as a response from a web server device (see Patent Document 1 or Patent Document 2 as an example).
   Patent Document 1: Japanese Laid-Open Patent Publication No. 2009-087032   Patent Document 2: Japanese Laid-Open Patent Publication No. 2012-248228   
 
       SUMMARY 
       [0009]    According to an aspect of the embodiments, a non-transitory computer-readable recording medium having stored therein an access information management program for causing a computer to execute a process includes extracting a parameter from request data based on a storage device configured to store a plurality of pieces of the request data and response data associated with each of the plurality of pieces of the request data, changing a plurality of parameters with a value that is the same as the extracted parameter into values different from each other from among a plurality of parameters included in previous response data that is before target request data including the extracted parameter, and specifying a parameter passed on from the previous response data to the target request data based on a value of a parameter included in request data generated in accordance with a prescribed rule from the response data in which parameter values are changed by the changing. 
         [0010]    The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims. 
         [0011]    It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0012]      FIG. 1  is a diagram illustrating an example of an existing communication environment; 
           [0013]      FIG. 2  is a diagram illustrating an example of an access reproduction environment including a parameter specifying device; 
           [0014]      FIG. 3  is a diagram illustrating an example of separation of input data; 
           [0015]      FIG. 4  is a diagram illustrating an example of a relationship between requests and responses; 
           [0016]      FIG. 5  is a diagram illustrating an example of specifying a parameter; 
           [0017]      FIG. 6  is a diagram illustrating an example of a request issue program; 
           [0018]      FIG. 7  is a diagram illustrating an example of comparison between a response and a request; 
           [0019]      FIG. 8  is a flowchart illustrating an example of processing according to the present embodiments; 
           [0020]      FIG. 9  is a flowchart illustrating an example of processing to specify a parameter; 
           [0021]      FIG. 10  is a flowchart illustrating an example of processing to change a parameter; 
           [0022]      FIG. 11  is a flowchart illustrating an example of an operation flow of a pseudo server; and 
           [0023]      FIG. 12  is a diagram illustrating an example of a hardware configuration of the parameter specifying device. 
       
    
    
     DESCRIPTION OF EMBODIMENTS 
       [0024]    Parameters passed on from a response to a request are not necessarily stylized in the response. Therefore, when a response includes plural parameters of the same one value, it is difficult to specify which parameters are to be passed on to the next request. 
         [0025]    In the following description, embodiments are explained with reference to the accompanying drawings. In a system in which a client and a sever communicate with each other, the client transmits prescribed request data (e.g., Hypertext Transfer Protocol (HTTP) request) to the server. 
         [0026]    In response to the request data, the server transmits response data to the client. In the following description, request data is simply referred to as a request, and response data is simply referred to as a response. 
         [0027]    When the client issues a request, the client may pass on a parameter included in a response that has been received from the server (hereinafter referred to as a previous response), and issues the request. 
         [0028]    For example, when a parameter to be passed on is written in a fixed format, such as Cookie, it would not be difficult for a client to specify the parameter passed on from a response to a request. 
         [0029]    Similarly, when a writing format of a target parameter to be passed on is fixed in a response, such as “a parameter name=a parameter value”, it is also not difficult for a client to specify the parameter passed on from a response to a request. 
         [0030]    However, writing formats of a request and a response are not necessarily fixed to one format. Even in this case, it would not be difficult for the client to specify the target parameter when a response includes only one parameter with a value that is the same as that of a target parameter to be passed on to a request. 
         [0031]    In this regard, however, when the response includes multiple parameters of a value that is the same as the value of the target parameter passed on to the request, there would be multiple candidates of the target parameter. It is difficult for the client to specify which parameter is passed on from the response to the request from among the multiple candidates. 
         [0032]    Even in the above-described case, the present embodiment enables automatic specification of a parameter passed on from a response to a request. 
         [0033]    In the following embodiment, an explanation is made on an example of testing access reproduction between a client and a server in a new communication environment in which changes have been made to an existing communication environment that includes a client and a server (e.g., a communication environment in which some changes are added to a server). 
         [0034]    For example, when a server is replaced, when server equipment is reinforced, or when some improvements are made to the server, reproduction (test) is performed in such a new communication environment. In order to perform the reproduction in the new communication environment, communication history of requests and responses transmitted/received in the existing communication environment is used. 
         [0035]    In order to do so, in the existing communication environment, communication history of requests and responses between the client and the server is captured and stored in a prescribed storage device. Based on this storage device, access reproduction is performed. 
         [0036]    The access reproduction is realized by connecting a device to perform the access reproduction (hereinafter referred to as an access reproduction device) to a server in a new communication environment and by performing communication between the access reproduction device and the server. 
         [0037]    At that time, the access reproduction device passes on a parameter included in a response received from the server to a request and transmits the request to the server. The access reproduction device, then, receives a response from the server. 
         [0038]    A parameter specifying device of the present embodiment specifies a parameter passed on from a response to a request. Information that specifies a parameter passed on from a response to a request is referred to as parameter specifying information. 
         [0039]    The parameter specifying device outputs the parameter specifying information to the access reproduction device. The access reproduction device specifies a parameter passed on from a response to a request based on the parameter specifying information, and performs access reproduction. In the following description, details of the embodiment are explained. 
       &lt;Example of Storage of Communication History&gt; 
       [0040]      FIG. 1  illustrates an example of an existing communication environment. A client  1  and a server  2  communicate with each other. The client  1  transmits a request to the server  2 . The server  2 , in response to the request received from the client  1 , transmits a response to the client  1 . 
         [0041]    In  FIG. 1  and the following drawings, a request may be represented as “Request” or “Req”. A response may be represented as “Response” or “Res”. The client  1  executes a request issue program. The request issue program passes on a parameter included in a response that has been received earlier (previous response), and issues a request. 
         [0042]    A communication history storage device  3  receives and stores a history and communication (communication history) performed between the client  1  and the server  2 . In the communication history, a request transmitted from the client  1  to the server  2  and a response that the server  2  transmits in response to the request to the client  1  are associated as one set. 
         [0043]    The client  1  and the server  2  communicate with each other. As a result, sets of a request and a response are accumulated in a communication history storage device  3 . A series of communications performed between the client  1  and the server  2  is referred to as a session. The communication history storage device  3  is one example of storage devices. 
         [0044]    A session is a series of communications in which requests and responses are exchanged. In the present embodiment, a communication history includes plural sessions. Sets of a request and a response are associated with a session and are stored. 
         [0045]    In addition, when there are clients of multiple users, sets of a request and a response are associated with a session of each client and are stored in the communication history storage device  3 . The communication history stored in the communication history storage device  3  is also referred to as capture data. 
       &lt;Example of Access Reproduction System&gt; 
       [0046]      FIG. 2  illustrates an example of an access reproduction environment  11 . The access reproduction environment  11  in  FIG. 2  includes a communication history storage device  3 , a server  12 , an access reproduction device  13 , and a parameter specifying device  14 . The communication history storage device  3  is the same as the communication history storage device  3  in  FIG. 1 . 
         [0047]    The server  12  is a server to which changes are made to the server  2  in  FIG. 1 . The access reproduction device  13  performs access reproduction in connection with this server  12  by using requests and responses stored in the communication history storage device  3 . In order to do so, the access reproduction device  13  sequentially receives inputs of requests and responses in sets from the communication history storage device  3 . 
         [0048]    The access reproduction device  13  analyzes the input requests and divides the requests with respect to each session. The access reproduction device  13  also issues a request to which a parameter is passed on from a previous response of an input request and transmits the request to the server  12 . In response to the request, the server  12  transmits a response to the access reproduction device  13 . 
         [0049]    In the present embodiment, a parameter may be a number with prescribed digits, or a string of letters including prescribed letters. 
         [0050]    The access reproduction device  13  compares the response received from the server  12  with the response that is input from the communication history storage device  3 . By doing this, the access reproduction device  13  carries out access reproduction under a new communication environment in which the server  12  is used. 
         [0051]    The parameter specifying device  14  specifies a parameter passed on from a response (previous response) to a request (hereinafter occasionally referred to as a target request). 
         [0052]    In the present embodiment, the parameter specifying device  14  specifies a site in which a parameter passed on is written in the response in which the parameter passed on to the request is written. Information on a site of parameter passed on is hereinafter referred to as target site information. 
         [0053]    A request that receives a parameter (target request) may include plural parameters that receive values from a previous response. In the following description, a parameter in a request that receives a value from a previous response may be referred to as a receiving parameter. 
         [0054]    The parameter specifying device  14  specifies sites in the previous response at which parameters passed on are present for each receiving parameter in each request. In one request, there may be only one parameter that receives a value from a previous response. 
         [0055]    In this case, the parameter specifying device  14  specifies the site in the previous response at which the parameter passed on to the only one parameter is present. In the following description, pieces of target site information of parameters in requests may be collectively referred to as parameter specifying information. 
         [0056]    The access reproduction device  13  inputs parameter specifying information from the parameter specifying device  14 . Based on the parameter specifying information, the access reproduction device  13  specifies parameters that a request input from the communication history storage device  3  receives from a response and has the response pass on the parameters to the request. 
         [0057]    The access reproduction device  13  receives inputs of requests and responses sequentially from the communication history storage device  3 . The access reproduction device  13  transmits to the server  12  the request that received the value of the parameter from the previous response. The access reproduction device  13 , afterwards, compares the response input from the communication history storage device  13  with the response input from the server  12 . 
         [0058]    The parameter specifying device  14  includes an input unit  21 , an analysis unit  22 , a parameter extraction unit  23 , a request issue unit  24 , an address change unit  25 , a pseudo server unit  26 , a parameter change unit  27 , a target site specifying unit  28 , and an output unit  29 . 
         [0059]    The input unit  21  receives an input of communication history stored in the communication history storage device  3 . The communication history includes plural sets of request and response. As described above, each of the sets of communication history is associated with a session. It should be noted that the parameter specifying device  14  may store communication history that the input unit  21  received as an input. 
         [0060]    The analysis unit  22  analyzes each of the sets of communication history that is input through the input unit  21 , and separates the sets by session. 
         [0061]    The parameter extraction unit  23  segmentalizes the contents written in the requests in each set of communication history into words. For example, the parameter extraction unit  23  segmentalizes a request into words by using morphological analysis. The parameter extraction unit  23  is an example of an extraction unit. 
         [0062]    From among the segmentalized words, the parameter extraction unit  23  extracts a word that is possibly a parameter as a receiving parameter. Numbers or particular strings of letters are an example of the word that is possibly a parameter. 
         [0063]    The request issue unit  24  issues a request by executing a request issue program. The request issue program is, for example, a program that operates in an HTTP client. 
         [0064]    The request issue program issues the request in accordance with a prescribed rule based on the written contents. The processing carried out by the request issue unit  24  may be referred to as request issue processing. 
         [0065]    The request issue unit  24  provides the issued request to the pseudo server unit  26 . The address change unit  25  changes the address of the request to the pseudo server unit  26 . This is because when the address of the request issued by the request issue unit  24  is not the pseudo server unit  26 , the request issued by the request issue unit  24  will not be provided to the pseudo server unit  26 . 
         [0066]    The request issued by the request issue unit  24  has its address changed and is provided to the pseudo server unit  26 . The processing that the address change unit  25  performs may be referred to as address change processing. 
         [0067]    In response to the request issued by the request issue unit  24 , the pseudo server unit  26  outputs a request to the request issue unit  24 . The pseudo server unit  26  is a unit that realizes operations of the server  12  artificially by a program. The processing that the pseudo server unit  26  performs may be referred to as pseudo server processing. 
         [0068]    The request issue processing, the address change processing and the pseudo server processing are realized in the parameter specifying device  14  by the parameter specifying device  14  executing the program according to the present embodiment (parameter specifying program). 
         [0069]    The parameter change unit  27  detects whether the previous response includes parameters with a value that is the same as the value of the receiving parameter extracted by the parameter extraction unit  23 . The parameter change unit  27  is an example of a change unit. 
         [0070]    In the present embodiment, the parameter change unit  27  segmentalizes a response into words by using morphological analysis, extracts a word that is possibly a parameter from the segmentalized words, and detects the words that is possibly a parameter as a parameter. In the following description, the detected parameter in a response is referred to as a parameter candidate. 
         [0071]    When plural parameter candidates are detected in a single previous response, the parameter change unit  27  changes the values of the detected parameter candidates into values that are different from each other. 
         [0072]    The parameter change unit  27  changes the values of the parameter candidates in each of plural responses. Afterwards, the parameter change unit  27  registers with the pseudo server unit  26  the responses in which values of the parameter candidates are changed. 
         [0073]    In the present embodiment, when the values of the parameter candidates are written in numbers, the parameter change unit  27  changes the values (numbers) of the parameter candidates so that the numbers are in the same number of digits but different values. 
         [0074]    When each of the values of the parameter candidates are a string of letters, the parameter change unit  27  changes the values (string of letters) of the parameter candidates so that the number of letters is the same but the order of the string of letters are different from one another. 
         [0075]    Depending on the request issue program, when the number of digits or the length of the string of letters in a parameter passed on from a response to a request is different, the parameter may not be regarded as parameters passed on from a response to a request. 
         [0076]    For that reason, the parameter change unit  27  changes plural parameter candidates included in a previous response so that the number of digits or the length of the string of letters is the same but the values are different from each other. 
         [0077]    In the present embodiment, the parameter change unit  27  registers with the pseudo server unit  26  plural sets each including a request and a changed response in the same session. The request and response that are registered are associated with each other. 
         [0078]    When the pseudo server unit  26  receives a request from the request issue unit  24 , the pseudo server unit  26  provides the request issue unit  24  with a response associated with the received request based on the association between the request and response. The values of parameter candidates included in the response have been changed into values that are different from each other. 
         [0079]    The target site specifying unit  28  observes the response provided from the pseudo server unit  26  to the request issue unit  24  and the request that received a parameter from the response and that is provided from the request issue unit  24  to the pseudo server unit  26 . 
         [0080]    The target site specifying unit  28  specifies a target site of parameters based on the observed response and request. The target site specifying unit  28  is an example of a specifying unit. 
         [0081]    The target site specifying unit  28  specifies a target site from the previous response for each receiving parameter in each request that the input unit  21  received from the communication history storage device  3 . 
         [0082]    The output unit  29  outputs the parameter specifying information that collectively gathers pieces of target site information for every receiving parameters of every requests to the access reproduction device  13 . 
       &lt;Separation by Each Session&gt; 
       [0083]      FIG. 3  illustrates an example of communication history (sets of request and response) that the input unit  21  received from the communication history storage device  3 . In  FIG. 3 , communication history that the input unit  21  input is represented as input data. 
         [0084]    Each set of request and response is associated with a session. The analysis unit  22  separates the input data by session. In  FIG. 3 , sets of request and response separated by session are represented as “separated data”. 
         [0000]    &lt;Example of Parameter Passed on from Response to Request&gt; 
         [0085]      FIG. 4  illustrates an example of sets of request and response for session  1  separated by the analysis unit  22 . As indicated by an arrow in  FIG. 4 , parameters included in response  1  (res 1  in  FIG. 4 ) is passed on to request  3  (req 3  in  FIG. 4 ). 
         [0086]    The request issue unit  24  executes a request issue program. When the request issue program executes a part that issues request  3 , request  3  receives parameters from response  1  and a new request is issued. 
         [0087]      FIG. 4  illustrates that response  1  includes two candidates of parameter (hereinafter occasionally referred to as parameter candidate) passed on to request  3 . Request  3  represents a part that issues this request  3  in the request issue program. 
         [0088]    The parameter extraction unit  23  segmentalizes the part of request  3  into words by using morphological analysis. The parameter extraction unit  23 , then, extracts a receiving parameter. For example, “http” is not likely to be a parameter passed on from a response to a request. 
         [0089]    In addition, “GET” is a command, and is not likely to be a parameter passed on from a response to a request. From among the segmentalized words, the parameter extraction unit  23  may exclude words that are unlikely to be passed on from a response to a request from parameters to be extracted. 
         [0090]    Meanwhile, “458e458” is a string of letters and is likely to be a parameter. In this case, the parameter extraction unit  23  extracts “458e458” as a receiving parameter. It should be noted that the parameter extraction unit  23  may extract all words obtained by morphological analysis of the part of request  3  as a receiving parameter. 
         [0091]    In the case of  FIG. 4 , previous response  1  includes two of “458e458” that are extracted as receiving parameters. For that reason, it is difficult to specify which of the two parameters included in the previous response  1  is passed on as “458e458” in request  3 . 
       &lt;Example of Specifying Receiving Parameter&gt; 
       [0092]    Next, specifying processing of a parameter passed on from a response (previous response) to a request (target request) is explained with reference to an example in  FIG. 5 . The request issue unit  24  executes a request issue program  24 P. A part to issue a request is written in the request issue program  24 P. 
         [0093]      FIG. 6  illustrates an example of the request issue program  24 P. The request issue program  24 P in the example of  FIG. 6  includes a conditional branch (if). What is executed by the program is written in the branch destinations of the conditional branch. 
         [0094]    A part to issue a request is written in each of the branch destinations of the conditional branch. The parameter change unit  27  exhaustively searches all branch destinations of every conditional branches included in the request issue program  24 P, and specifies all requests included in the request issue program  24 P. 
         [0095]    For example, the example of  FIG. 6  assumes that request  1  is included in “c1” that is a branch destination of the first conditional branch, request  2  is included in “c2” that is a branch destination of the second conditional branch, and request  3  is included in “c3” that is a branch destination of the third conditional branch. 
         [0096]    In this case, the parameter change unit  27  exhaustively searches all conditional branches included in the request issue program  24 P, and specifies the above-described request  1 , request  2 , and request  3 . 
         [0097]    As illustrated in the example of  FIG. 5 , the parameter change unit  27  receives an input of communication history (sets of request and response) from the communication history storage device  3 . It should be noted that when the parameter specifying device  14  stores the communication history, the parameter change unit  27  may receive an input of the stored communication history. 
         [0098]    In the input communication history, the parameter change unit  27  changes a parameter in a response associated with a request specified by exhaustively searching in the request issue program  24 P. 
         [0099]    The parameter change unit  27  registers with a registered data storage unit  26 T of the pseudo server unit  26  the request and the changed response as a set. The pseudo server unit  26  provides the request issue unit  24  with a response associated with the request input from the request issue unit  24  by referencing the registered data storage unit  26 T. 
         [0100]    The address change unit  25  changes an address of a request output from the request issue unit  24 . The request output from the request issue unit  24  includes an address. This address is an address written in the request, and it does not address the pseudo server unit  26 . 
         [0101]    Therefore, the address change unit  25  changes the address to which the request issue unit  24  provides the request into the pseudo server unit  26 . As a result, the pseudo server unit  26  receives the request from the request issue unit  24 . 
         [0102]    The address change unit  25  may be a unit in which a program realizes a “Proxy” function as an example. It should be noted that an address of a request may be changed to the pseudo server unit  26  by the request issue unit  24  when it issues the request. 
         [0103]    When the request issue unit  24  executes the request issue program  24 P, a request is issued. The issued request has its address changed by the address change unit  25  and is received by the pseudo server unit  26 . 
         [0104]    The pseudo server unit  26  extracts a response associated with the received request by referencing the registered data storage unit  26 T. The pseudo server unit  26  provides the extracted response to the request issue unit  24 . 
         [0105]    In the response in the registered data storage unit  26 T that the pseudo server unit  26  references, values of parameter candidates are changed by parameter change unit  27  so that the vales are different from each other. Therefore, when the values of parameter candidates in the response associated with the received request are changed, the pseudo server unit  26  provides the request issue unit  24  with the response with changed parameters. 
         [0106]    The target site specifying unit  28  observes the request that the request issue unit  24  provided to the pseudo server unit  26  and the response that the pseudo server unit  26  provided to the request issue unit  24 . The target site specifying unit  28  stores the observed request and response as a set in an observed data storage unit  28 T. 
         [0107]    The request issue unit  24  issues a request by executing the request issue program  24 P. At that time, the issued request includes parameters passed on from the received response. 
         [0108]    As described above, the response received by the request issue unit  24  may include plural parameter candidates. In this case, the plural parameter candidates included in the response are changed into values that are different from each other by the parameter change unit  27 . 
         [0109]    parameters passed on to the request issued by the request issue unit  24  are parameters with values that are different from each other in the response. The request issued by the request issue unit  24  is observed by the target site specifying unit  28  and is stored in the observed data storage unit  28 T together with the response from the pseudo server unit  26 . 
         [0110]    The target site specifying unit  28  sequentially stores in the observed data storage unit  28 T responses provided from the pseudo server unit  26  to the request issue unit  24  and requests provided from the request issue unit  24  to the pseudo server unit  26 . 
         [0111]    Operations of the target site specifying unit  28  may be realized by processing (hereinafter occasionally referred to as target site specifying processing) of the parameter specifying program according to the present embodiment. Operations in the example of  FIG. 5  may be realized by each processing of the parameter specifying program. 
         [0112]    For example, request issue processing provides a request to pseudo server processing. The pseudo server processing processes the response and provides request issue processing with a response in which values of parameter are changed. 
         [0113]    The request issue processing provides pseudo server processing with the request that received a parameter from the response. The target site specifying processing observes exchange of the request and the response between the request issue processing and the pseudo server processing and specifies the parameter passed on from the response to the request. 
         [0114]      FIG. 7  illustrates an example of a relationship between a request and a response stored in the observed data storage unit  28 T. In the example of  FIG. 7 , the request issue unit  24  receives a parameter from response  1  (res 1 ) and issues request  3  (req 3 ). 
         [0115]    Values of parameter candidates included in response  1  are changed into values that are different from each other by the parameter change unit  27 . One value is 123e456″ and another value is “458e458”. 
         [0116]    Meanwhile, the receiving parameter included in request  3  is “458e458”. Accordingly, the target site specifying unit  28  specifies the parameter candidate “458e458” that has a value that is the same as the receiving parameter “458e458”. 
         [0117]    As a result, the target site specifying unit  28  can specify the site of a parameter passed on to request  1  in response  3 . Consequently, a parameter passed on from response  1  to request  3  is specified. 
         [0118]    In the example of  FIG. 7 , an example is explained in which response  1  that is the previous response of request  3  includes two parameter candidates. However, there may be a case in which three or more parameter candidates are included in the previous response, response  1 . 
         [0119]    In this case, similarly, the pseudo server unit  26  has the parameter change unit  27  change the three or more parameter candidates included in response  1  into values that are different from each other. The target site specifying unit  28  specifies a parameter candidate with a value that is the same as the value of the receiving parameter included in request  3 . As a result, the target site specifying unit  28  can specify the site of a parameter passed on to request  3  in response  1 . 
         [0120]    In addition, in the example of  FIG. 7 , response  3  (res 3 ) and response  1  (res 1 ) are previous responses of request  4  (req 4 ). Response  3  is a previous response that is the last response before request  4 . Response  1  is a previous response that is second to the last response before request  4 . 
         [0121]    The target site specifying unit  28  determines whether response  3  that is a previous response that is the last response before request  4  includes a parameter candidate with a value that is the same as the receiving parameter included in request  4 . 
         [0122]    When response  3  does not include a parameter candidate with a value that is the same as the receiving parameter included in request  4 , request  4  does not receive a parameter from response  3 . In this case, the target site specifying unit  28  determines whether a parameter candidate is included in another previous response, response  1 , which is second to the last response before request  4 . 
         [0123]    When response  1  includes a parameter candidate with a value that is the same as the receiving parameter included in request  4 , the target site specifying unit  28  specifies a site of parameter passed on to request  4  in response  1  that is second to the last response. 
         [0124]    When the target site specifying unit  28  does not detect a receiving parameter with a value that is the same as a parameter in a request in a response that is the last response before the request or a response that is second to the last response before the request, the target site specifying unit  28  sequentially detects parameter candidates from previous responses that are prior to second to the last response. 
         [0125]    In this manner, the target site specifying unit  28  can specify a site of parameter passed on to a request not only from a response that is that is the last response before the request but also from a response that is second to the last or more prior response before the request. 
       Example of Flowchart of Present Embodiment 
       [0126]    Next, an example of processing according to the present embodiment is explained with reference to a flowchart in  FIG. 8 . The input unit  21  of the parameter specifying device  14  receives an input of communication history (sets of request and response) from the communication history storage device  3  (step S 1 ). At that time, the input communication history may be stored in the parameter specifying device  14 . 
         [0127]    Each set of request and response is associated with a session. The analysis unit  22  separates the sets of request and response by session (step S 2 ). Processing in step S 3  is performed for each session into which the sets are separated. 
         [0128]    One session includes plural sets of request and response. The parameter extraction unit  23  segmentalizes a request and a response into words by morphological analysis as an example, and extracts a receiving parameter (step S 3 ). The processing in step S 3  is an example of extraction processing. 
         [0129]    From the previous response, the target site specifying unit  28  specifies a parameter with a value that is the same as the extracted receiving parameter as a parameter candidate (step S 4 ). The processing in step S 4  is referred to as parameter specifying processing. 
         [0130]    One request includes one or more receiving parameters. One request may include plural receiving parameters. In this case, the target site specifying unit  28  determines whether the parameter specifying processing is performed for every receiving parameters (step S 5 ). 
         [0131]    When the parameter specifying processing is not performed for every receiving parameters included in one request (NO in step S 5 ), the processing goes back to step S 4 . Consequently, the parameter specifying processing is performed for every receiving parameters in a request. 
         [0132]    When the parameter specifying processing is not performed for every receiving parameters included in one request (YES in step S 5 ), the target site specifying unit  28  determines whether the processing is ended for all requests (step S 6 ). 
         [0133]    When the parameter specifying processing is not performed for all requests (NO in step S 6 ), the processing goes back to step S 4 . The processing in step S 4  to step S 6  is repeated until the parameter specifying processing is performed for every receiving parameters in all requests. 
         [0134]    The target site specifying unit  28  generates parameter specifying information that collectively gathers pieces of target site information that specifies sites of parameter in a previous response for each request and for each receiving parameter (step S 7 ). The processing in step S 7  is an example of specifying processing. 
         [0135]    The output unit  29  outputs the parameter specifying information to the access reproduction device  13  (step S 8 ). Consequently, based on the parameter specifying information, the access reproduction device  13  can transmit a request that received a parameter from the previous response to the server  12 . 
         [0136]    Next, receiving parameter processing in step S 4  is explained with reference to an example in  FIG. 9 . The target site specifying unit  28  searches for whether a parameter with a value that is the same as a receiving parameter included in a request in the communication history storage device  3  (step S 11 ). 
         [0137]    The previous response to be searched is initially set to be the last response before the request. The target site specifying unit  28  determines whether the parameter with a value that is the same as the receiving parameter is detected in the last response before the request (step S 12 ). 
         [0138]    When step S 12  is NO, the request does not receive a parameter from the last response before the request. Then, the target site specifying unit  28  sets the previous response to be searched to one response before the searched response (step S 13 ). Afterwards, the processing goes back to step S 11 . 
         [0139]    When step S 12  is YES, the target site specifying unit  28  determines whether there are plural receiving parameters (step S 14 ). When there is only one receiving parameter (NO in step S 14 ), the parameter passed on from the response to the request is uniquely determined. In this case, the processing moves on to step S 20 , which is explained later. 
         [0140]    The request issue unit  24  sets the last Hyper Text Makeup Language (HTML) file to be an execution file (step S 15 ). As a result, the request issue program  24 P is set in the request issue unit  24 . 
         [0141]    It should be noted that when a parameter passed on from a response to a request is not detected on the basis of the last HTML file, the request issue unit  24  may detect the parameter by setting an HTML file that is further before the last HTML file. Moreover, the execution file to be set may be a file other than an HTML file. The execution file to be set may be a text file (a file of text data) as an example. 
         [0142]    The parameter change unit  27  exhaustively searches the conditional branches in the request issue program  24 P and specifies all requests included in the request issue program  24 P (step S 16 ). 
         [0143]    The parameter change unit  27  changes the values of parameter candidates included in the previous response of the request specified in step S 16  into values different from each other in the sets of request and response stored in the communication history storage device  3 . 
         [0144]    The parameter change unit  27  registers the changed sets of request and response with the registered data storage unit  26 T in the pseudo server unit  26  (step S 17 ). The processing in step S 17  is an example of change processing. 
         [0145]    The address change unit  25  changes the address of a request provided from the request issue unit  24  to the pseudo server unit  26 . By referencing the registered data storage unit  26 T, the pseudo server unit  26  provides a response associated with the received request to the request issue unit  24 . The parameter candidates included in the response provided from the pseudo server unit  26  to the request issue unit  24  have their values changed by the parameter change unit  27 . 
         [0146]    The request issue unit  24  issues a request that received a parameter from the previous response. The target site specifying unit  28  stores the set of the request and the response in the observed data storage unit  28 T. 
         [0147]    Values of the parameter candidates included in the response have been changed. By referencing the observed data storage unit  28 T, the target site specifying unit  28  compares the receiving parameter in the request with the values of the parameter candidates in the previous response (step S 18 ). 
         [0148]    Values of the parameter candidates included in the previous response have been changed by the parameter change unit  27 . The target site specifying unit specifies a parameter candidate with a value that is the same as the receiving parameter and also specifies the site in the previous response at which the specified parameter candidate is present (step S 19 ). 
         [0149]    As a result, a parameter passed on from a response to a request can be specified. The target site specifying unit  28  generates target site specifying information that indicates the site in a response at which the parameter passed on to a request is present (step S 20 ). 
         [0150]    The above-described parameter specifying processing is performed for each request and for each parameter. Pieces of the target site specifying information that are collectively gathered for each request and for each parameter to be parameter specifying information. This parameter specifying information is output to the access reproduction device  13 . 
         [0151]    Next, an example of parameter change processing to change the value of parameter performed by parameter change unit  27  is explained with reference to the example in  FIG. 10 . The parameter change unit  27  determines whether plural parameter candidates are in numbers (step S 17 - 1 ). 
         [0152]    When step S 17 - 1  is YES, the parameter change unit  27  changes the plural parameter candidates so that the numbers of the parameter candidates are in the same number of digits but different values (step S 17 - 2 ). 
         [0153]    When step S 17 - 1  is NO, the parameter change unit  27  determines whether each of the plural parameter candidates is a string of letters (step S 17 - 3 ). When step S 17 - 3  is YES, the parameter change unit  27  changes a string of letters of each of the plural parameter candidates into a string of letters with the same number of letters but in different order of letters (step S 17 - 4 ). 
         [0154]    After the processing in step S 17 - 2  is ended, after the processing in step S 17 - 4  is ended, or when step S 17 - 3  is NO, the parameter change processing is ended. 
         [0155]    Next, operations of the pseudo server unit  26  are explained with reference to a flowchart of an example in  FIG. 11 . The pseudo server unit  26  registers sets of a request with a changed value of parameter and a response with a value of parameter changed by the parameter change unit  27  in the registered data storage unit  26 T (step S 31 ). 
         [0156]    The pseudo server unit  26  receives only the first request issued by the request issue unit  24  (step S 32 ). When the pseudo server unit  26  receives a request from the request issue unit  24  (step S 33 ), the pseudo server unit  26  determines whether the request is a receivable request (step S 34 ). 
         [0157]    In the case in which only the first request is made receivable by the pseudo server unit  26 , for example, when the request that the pseudo server unit  26  received is not the first request, the pseudo server unit  26  determines that the request is not receivable (NO in step S 34 ). In this case, the pseudo server unit  26  outputs an error (step S 35 ), and the processing is ended. 
         [0158]    When the pseudo server unit  26  receives a receivable request (YES in step S 34 ), with reference to the registered data storage unit  26 T, the pseudo server unit  26  provides the response associated with the received request to the request issue unit  24  (step S 36 ). 
         [0159]    With reference to the registered data storage unit  26 T, the pseudo server unit  26  determines whether there is a request subsequent to the received request (step S 37 ). When the subsequent request is not found (NO in step S 37 ), the processing is ended. 
         [0160]    When a subsequent request is found, only the subsequent request is made receivable by the pseudo server unit  26  (step S 38 ). Then the processing goes back to step S 33 . 
         [0161]    As a result of the above-described processing, the pseudo server unit  26  can receive requests in accordance with the order of requests issued by the request issue unit  24 . The request issue unit  24  is realized by the request issue processing and the pseudo server unit  26  is realized by the pseudo server processing. 
         [0162]    When a request is received in accordance with the order of issue of requests issued by the request issue processing, the pseudo server processing provides a response associated with the received request to the request issue processing. Meanwhile, when a request is received in an order that is different from the order of issue of requests issued by the request issue processing, the pseudo server processing outputs an error. 
       &lt;Example of Hardware Configuration of Parameter Specifying Device&gt; 
       [0163]    Next, an example of a hardware configuration of the parameter specifying device  14  is explained with reference to an example in  FIG. 12 . As illustrated in the example in  FIG. 12 , a processor  111 , RAM  112 , ROM  113 , an auxiliary memory device  114 , a media connector unit  115 , a communication interface  116 , and an input/output interface  117  are connected to a bus  100 . In  FIG. 12 , an interface is abbreviated as “IF”. 
         [0164]    The processor  111  is any processing circuit. The processor  111  executes a program loaded to RAM  112 . The executed program may be a program that performs the processing according to the present embodiment. ROM  113  is a nonvolatile memory device that stores the program loaded to RAM  112 . 
         [0165]    The auxiliary memory device  114  is a memory device stores various information, and a hard disk drive or a semiconductor memory, for example, may be used as the auxiliary memory device  114 . The media connector unit  115  is provided so as to be connectable with a portable recording medium  119 . 
         [0166]    For the portable recording medium  119 , a portable memory or optical disk (e.g., Compact Disc (CD), Digital Versatile Disc (DVD), etc.) may be used. This portable recording medium  119  may record the program that performs the processing according to the present embodiment. 
         [0167]    The input/output interface  117  is an interface for data input/output between an external device (e.g., the communication history storage device  3  or the access reproduction device  13 ) and the parameter specifying device  14 . 
         [0168]    In the parameter specifying device  14 , the input unit  21  and the output unit  29  may be realized by the input/output interface  117 . The registered data storage unit  26 T and the observed data storage unit  28 T may be realized by RAM  112  or the auxiliary memory device  114 . Other components in the parameter specifying device  14  may be realized by the processor  111  executing given parameter specifying programs. 
         [0169]    Each of RAM  112 , ROM  113 , the auxiliary memory device  114 , and the portable recording medium  119  is an example of tangible computer-readable recording media. These tangible media are not a transitory medium such as a signal carrier wave. 
       OTHERS 
       [0170]    According to the above-described embodiment, it is possible to specify a parameter passed on from a response to a request. 
         [0171]    All examples and conditional language provided herein are intended for the pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed as limitations to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although one or more embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.