[go: up one dir, main page]

JP2016038664A - Http client, http server, and http communication method - Google Patents

Http client, http server, and http communication method Download PDF

Info

Publication number
JP2016038664A
JP2016038664A JP2014160363A JP2014160363A JP2016038664A JP 2016038664 A JP2016038664 A JP 2016038664A JP 2014160363 A JP2014160363 A JP 2014160363A JP 2014160363 A JP2014160363 A JP 2014160363A JP 2016038664 A JP2016038664 A JP 2016038664A
Authority
JP
Japan
Prior art keywords
http
version
communication
client
server
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.)
Granted
Application number
JP2014160363A
Other languages
Japanese (ja)
Other versions
JP6286319B2 (en
Inventor
厳 峯木
Itsuki Mineki
厳 峯木
長谷川 輝之
Teruyuki Hasegawa
輝之 長谷川
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.)
KDDI Corp
Original Assignee
KDDI Corp
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 KDDI Corp filed Critical KDDI Corp
Priority to JP2014160363A priority Critical patent/JP6286319B2/en
Publication of JP2016038664A publication Critical patent/JP2016038664A/en
Application granted granted Critical
Publication of JP6286319B2 publication Critical patent/JP6286319B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

【課題】無駄な通信を発生させることなく、サーバおよびクライアントの協調動作のみでWebコンテンツの高速配信を可能にするHTTPクライアント、HTTPサーバおよびHTTP通信方法を提供する。【解決手段】時刻t1では3ウェイハンドシェークによる接続処理が行われ、時刻t2では、1行目のリクエスト行にHTTPの固有バージョンHTTP/1.XXが記述されたリクエストメッセージが送信される。時刻t3では、1行目のステータス行に「HTTP/1.XX 200 OK」が記述され、さらに要求されたWebコンテンツがメッセージボディに記述されたレスポンスメッセージが送信される。時刻t4では、クライアントからサーバへ、HTTP/2.0による接続準備としてMagic codeが送信される。時刻t5では、サーバからクライアントへSETTINGSフレームが送信されてHTTP/2.0の初期情報が交換される。【選択図】図2An HTTP client, an HTTP server, and an HTTP communication method are provided that enable high-speed delivery of Web contents only by cooperative operation of a server and a client without causing unnecessary communication. At time t1, connection processing by a three-way handshake is performed, and at time t2, a request message in which an HTTP specific version HTTP / 1.XX is described in the first request line is transmitted. At time t3, “HTTP / 1.XX 200 OK” is described in the first status line, and a response message in which the requested Web content is described in the message body is transmitted. At time t4, a Magic code is transmitted from the client to the server as preparation for connection using HTTP / 2.0. At time t5, a SETTINGS frame is transmitted from the server to the client, and initial information of HTTP / 2.0 is exchanged. [Selection] Figure 2

Description

本発明は、HTTPによるWebコンテンツ配信に先立って実行されるHTTPのバージョン設定のためのネゴシエーションをコンテンツ配信に活用することで、高速なWebコンテンツ配信を可能にするHTTPクライアント、HTTPサーバおよびHTTP通信方法に関する。   The present invention provides an HTTP client, an HTTP server, and an HTTP communication method that enable high-speed Web content distribution by utilizing, for content distribution, negotiation for HTTP version setting executed prior to Web content distribution by HTTP. About.

HTTP(Hypertext Transfer Protocol)は、HTMLで記述されたWebコンテンツをサーバからブラウザ(クライアント)にダウンロードするために開発され、主にブラウザからサーバにWebコンテンツを要求(request)する手順と、サーバがブラウザから要求されたWebコンテンツを応答(response)する手順とから構成される。   HTTP (Hypertext Transfer Protocol) was developed to download Web content described in HTML from the server to the browser (client). The server mainly requests the Web content from the browser to the server, and the server uses the browser. And a procedure for responding to the Web content requested by the user.

HTTP/1.0では、コンテンツを取得するごとにTCPコネクションの接続・切断が繰り返されるので、特にHTMLファイル中に多数のコンテンツが含まれている場合などに効率が悪くなる。これに対して、HTTP/1.1では主にkeep-alive(キープアライブ)機能により、多数の画像コンテンツを含むWebページの表示などが高速化される。   In HTTP / 1.0, connection / disconnection of a TCP connection is repeated each time content is acquired, so the efficiency is lowered particularly when a large number of contents are included in an HTML file. In contrast, HTTP / 1.1 speeds up the display of Web pages containing a large number of image contents, mainly by the keep-alive function.

なお、HTTP/1.1では、その初めは同時接続できるコネクション数がHTTP/1.0よりも少なかったため、これを補う技術としてマルチドメイン構成のWebページが開発された。しかしながら、HTTP/1.1によりマルチドメイン構成のWebページをダウンロードしようとするとHTTPの同時リクエストが発生するため、サーバやネットワーク機器の負荷を上昇させるという新たな問題が生じる。   Since HTTP / 1.1 initially had fewer connections than HTTP / 1.0 at the same time, a multi-domain web page was developed to supplement this. However, when trying to download a multi-domain web page using HTTP / 1.1, HTTP simultaneous requests are generated, which causes a new problem of increasing the load on the server and network devices.

このような技術課題を解決するために、HTTPの次世代のバージョンとしてHTTP/2.0が研究されている。このHTTP/2.0では、複数のHTTPを一本のTCPコネクションで実現することで上記の技術課題を解決している。   In order to solve such technical problems, HTTP / 2.0 has been studied as a next generation version of HTTP. This HTTP / 2.0 solves the above technical problem by realizing multiple HTTPs with a single TCP connection.

非特許文献には、Webコンテンツ配信においてWeb高速化を実現する背景技術として、TCPコネクションの統合、WebサーバからのPush配信、リクエストの多重送信化、冗長なヘッダの削除、通信データの圧縮の必須化を行うことで、Web高速化を実現するHTTP/2.0が開示されている。   In non-patent literature, integration of TCP connections, push delivery from a web server, multiplexed transmission of requests, deletion of redundant headers, and compression of communication data are essential as background technologies for realizing high-speed web content distribution. HTTP / 2.0 has been disclosed that realizes high-speed Web by making it easier.

HTTP/2.0は、既存のHTTP/1.1が実装されているアプリケーション層の下位層であるセッション層に実装されるため、HTTP/1.1で規定されるメソッドやヘッダといったHTTPそのものに手を加える必要がないという利点がある。   Since HTTP / 2.0 is implemented in the session layer, which is a lower layer of the application layer where the existing HTTP / 1.1 is implemented, there is no need to modify HTTP itself such as methods and headers specified in HTTP / 1.1. There is an advantage.

IETF, M. Belshe, R. Peon, M. Thomson, Ed."Hypertext Transfer Protocol version 2" draft-ietf-httpbis-http2-10, Feb. 2014.IETF, M. Belshe, R. Peon, M. Thomson, Ed. "Hypertext Transfer Protocol version 2" draft-ietf-httpbis-http2-10, Feb. 2014.

非特許文献は、Webアクセス高速化を目的とした通信技術であり、具体的には、クライアントとWebサーバとの間に確立するTCPコネクションを効率的に使用することで、Webコンテンツ配信の速度向上を行うものである。   Non-patent literature is a communication technology aimed at speeding up Web access. Specifically, the speed of Web content delivery is improved by efficiently using a TCP connection established between a client and a Web server. Is to do.

このとき、非特許文献の通信フォーマットは、HTTP/1.1の通信フォーマットと互換性がないため、クライアントおよびWebのいずれもが非特許文献の通信フォーマットに対応していることが必要である。そのため、TCPコネクション確立後に、対象となるWebサーバが非特許文献の通信フォーマットに対応しているかの確認(ネゴシエーション)が必須となり、図9に示した3種類のネゴシエーション手順が議論されている。   At this time, since the communication format of the non-patent document is not compatible with the communication format of HTTP / 1.1, both the client and the Web need to support the communication format of the non-patent document. Therefore, it is essential to confirm (negotiate) whether the target Web server is compatible with the communication format of the non-patent document after the TCP connection is established, and the three types of negotiation procedures shown in FIG. 9 are discussed.

手順1:TCPコネクション確立後、SSLセッション確立する際にALPNを使用して通信方式を決定する。   Procedure 1: After establishing a TCP connection, determine the communication method using ALPN when establishing an SSL session.

手順2:TCPコネクション確立後、クライアントからHTTPを用いてリクエストを送信する際に、Upgradeヘッダを用いて非特許文献の通信フォーマットへアップグレードする。   Procedure 2: After the TCP connection is established, when a request is transmitted from the client using HTTP, the communication is upgraded to the non-patent literature communication format using the Upgrade header.

手順3:あらかじめ非特許文献を使用することを理解しているサーバへ非特許文献の通信フォーマットによる接続を開始する。   Procedure 3: Connection to a server that understands the use of non-patent documents in advance using a communication format of non-patent documents is started.

手順1では、SSLセッションの確立が必須である。そのため、非特許文献の通信フォーマットに対応していないWebサーバに対しては、HTTP/1.1を用いた通信との比較で、Webサーバ・クライアント間でSSLセッション確立に要する通信が追加で発生してしまう。   In Procedure 1, it is essential to establish an SSL session. Therefore, for Web servers that do not support non-patent literature communication formats, additional communication required to establish an SSL session between the Web server and the client occurs in comparison with communication using HTTP / 1.1. End up.

手順2では、SSLセッションを確立する代わりにHTTP/1.1で定義されるUpgradeヘッダと101ステータスコードを用いてHTTPのアップグレードが行われる。しかしながら、アップグレード手順の発生に伴い、非特許文献の通信フォーマットへ移行するまでに、Webサーバ・クライアント間で1往復分の通信が余計に発生してしまう。   In step 2, instead of establishing an SSL session, an HTTP upgrade is performed using the Upgrade header and 101 status code defined in HTTP / 1.1. However, along with the occurrence of the upgrade procedure, one round trip of communication between the Web server and the client occurs before the shift to the communication format of the non-patent literature.

手順3では、あらかじめ非特許文献の通信フォーマットに対応したWebサーバであることをクライアントが認識する必要があり、サーバおよびクライアント以外の第三のノード(例えば、DNSなど)に新しい実装が必要となってしまう。   In step 3, the client needs to recognize in advance that the Web server is compatible with the communication format of non-patent literature, and a new implementation is required for the server and a third node other than the client (for example, DNS). End up.

本発明の目的は、上記の技術課題を解決し、無駄な通信を発生させることなく、サーバおよびクライアントの協調動作のみで、Webコンテンツの高速配信を可能にするHTTPクライアント、HTTPサーバおよびHTTP通信方法を提供することにある。   SUMMARY OF THE INVENTION An object of the present invention is to solve the above technical problem, and to enable high-speed delivery of Web contents by only the cooperative operation of the server and client without causing unnecessary communication, HTTP client, HTTP server, and HTTP communication method Is to provide.

(1) 本発明のHTTPクライアントは、HTTPの相対的に上位および下位の各バージョンに対応し、下位バージョンのマイナーバージョンによるHTTP通信を要求するリクエストメッセージを生成する手段と、このリクエストメッセージをサーバへ送信してレスポンスメッセージを受信する手段と、マイナーバージョンによるHTTP通信を了解するレスポンスメッセージに登録されているコンテンツを取得する手段と、マイナーバージョンによるHTTP通信を了解するレスポンスメッセージに対して上位バージョンによる通信を主導する手段とを具備した。   (1) The HTTP client of the present invention corresponds to the relatively higher and lower versions of HTTP, and generates a request message for requesting HTTP communication by a minor version of the lower version, and sends the request message to the server. A means for sending and receiving a response message, a means for acquiring content registered in a response message for accepting HTTP communication by a minor version, and a communication by a higher version for a response message for accepting HTTP communication by a minor version And a means to lead.

(2) 本発明のHTTPサーバは、HTTPの相対的に上位および下位の各バージョンに対応し、HTTPクライアントからリクエストメッセージを受信する手段と、下位バージョンのマイナーバージョンによるHTTP通信を要求するリクエストメッセージに対して、要求されたコンテンツが登録されて前記マイナーバージョンによる通信を了解するレスポンストメッセージを生成する手段と、前記レスポンストメッセージをHTTPクライアントへ返信する手段とを具備した。   (2) The HTTP server according to the present invention corresponds to relatively higher and lower versions of HTTP, and includes a means for receiving a request message from an HTTP client and a request message for requesting HTTP communication by a minor version of the lower version. On the other hand, there is provided means for generating a response message for registering the requested content and accepting the communication by the minor version, and means for returning the response message to the HTTP client.

(3) 本発明のHTTP通信方法は、HTTPの相対的に上位および下位の各バージョンに対応したクライアントおよびサーバによる通信方法であって、クライアントが下位バージョンのマイナーバージョンによるHTTP通信を要求するリクエストメッセージを生成してサーバへ送信する手順と、サーバがクライアントへ、要求されたコンテンツが登録されて前記マイナーバージョンによる通信を了解するレスポンストメッセージを返信する手順と、クライアントが、マイナーバージョンによるHTTP通信を了解するレスポンスメッセージに対してHTTPの上位バージョンによる通信を主導する手順とを含む。   (3) The HTTP communication method of the present invention is a communication method by a client and a server corresponding to relatively higher and lower versions of HTTP, and the client requests HTTP communication by a minor version of the lower version. And sending a response message confirming that the requested content has been registered to the client and confirming communication with the minor version, and the client performing HTTP communication with the minor version. And a procedure for leading communication by an upper version of HTTP for the response message to be understood.

本発明によれば、以下のような効果が達成される。
(1) クライアントがコンテンツ配信を要求するHTTPリクエストメッセージのリクエスト行に、HTTPバージョンとして固有のマイナバージョン"HTTP/1.XX"を記述して送信すると、これを受信したサーバは、要求されたコンテンツの少なくとも一部をHTTPレスポンスメッセージに登録して配信する。したがって、既存のHTTPを改修することなく、ネゴシエーション時にもコンテンツ配信が行えるようになるので、Webコンテンツの高速配信が実現される。
According to the present invention, the following effects are achieved.
(1) When a client sends a unique minor version "HTTP / 1.XX" as an HTTP version in the request line of an HTTP request message that requests content delivery, the server that received it sends the requested content. Register at least a part of HTTP response message and deliver it. Therefore, content can be distributed even during negotiation without modifying the existing HTTP, so high-speed distribution of Web content is realized.

(2) クライアントのみが本発明のHTTP通信方式に対応し、サーバが非対応であっても従来のHTTP/1.1に対応していれば、HTTP/1.1によるコンテンツ配信が可能になる。   (2) If only the client is compatible with the HTTP communication method of the present invention and the server is not compatible with the conventional HTTP / 1.1, content distribution by HTTP / 1.1 becomes possible.

(3) クライアントのみが本発明のHTTP通信方式に対応し、サーバが非対応であっても従来のHTTP/2.0に対応していれば、HTTP/2.0によるコンテンツ配信が可能になる。   (3) If only the client supports the HTTP communication method of the present invention and the server does not support HTTP / 2.0, content distribution by HTTP / 2.0 becomes possible.

本発明の一実施形態に係るHTTP通信方法を適用したHTTPクライアントおよびHTTPサーバの主要部の構成を示した機能ブロック図である。It is the functional block diagram which showed the structure of the principal part of the HTTP client and HTTP server to which the HTTP communication method which concerns on one Embodiment of this invention is applied. クライアントおよびサーバのいずれもが本発明のHTTP通信方式に対応している場合のHTTP接続手順を示したシーケンスフローである。It is the sequence flow which showed the HTTP connection procedure in case both a client and a server respond | correspond to the HTTP communication system of this invention. 図2のシーケンスで送受されるHTTPリクエストメッセージの一例を示した図である。It is the figure which showed an example of the HTTP request message transmitted / received in the sequence of FIG. 図2のシーケンスで送受されるHTTPレスポンスメッセージの一例を示した図である。It is the figure which showed an example of the HTTP response message transmitted / received in the sequence of FIG. クライアントのみが本発明のHTTP通信方式に対応し、サーバが非対応の場合のHTTP接続手順を示したシーケンスフローである。It is the sequence flow which showed the HTTP connection procedure in case only a client respond | corresponds to the HTTP communication system of this invention, and a server does not respond | correspond. 図5のシーケンスで送受されるHTTPレスポンスメッセージの一例を示した図である。It is the figure which showed an example of the HTTP response message transmitted / received in the sequence of FIG. クライアントのみが本発明のHTTP通信方式に対応し、サーバが非対応でHTTP/2.0に対応した場合のHTTP接続手順を示したシーケンスフローである。It is the sequence flow which showed the HTTP connection procedure in case only a client respond | corresponds to the HTTP communication system of this invention, and a server does not respond | correspond but HTTP / 2.0. 図7のシーケンスで送受されるHTTPレスポンスメッセージの一例を示した図である。It is the figure which showed an example of the HTTP response message transmitted / received in the sequence of FIG. 従来技術のHTTP接続手順を示したシーケンスフローである。It is the sequence flow which showed the HTTP connection procedure of the prior art.

以下、図面を参照して本発明の実施の形態について詳細に説明する。図1は、本発明の一実施形態に係るHTTP通信方法を適用したHTTPクライアント1およびHTTPサーバ2の主要部の構成を示した機能ブロック図であり、ここでは本発明の説明に不要な構成は図示が省略されている。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 is a functional block diagram showing a configuration of main parts of an HTTP client 1 and an HTTP server 2 to which an HTTP communication method according to an embodiment of the present invention is applied. Here, configurations unnecessary for the description of the present invention are shown. The illustration is omitted.

HTTPクライアント1は、HTTPの相対的に下位および上位のメジャーバージョンとして、それぞれHTTP/1.1およびHTTP/2.0に対応する。リクエストメッセージ生成部101は、後に詳述するように、HTTP/1.1のマイナーバージョンであって、メジャー番号が「1」でマイナー番号が本発明の固有の「XX」であるHTTP/1.XX(例えば、HTTP/1.2)に準拠した通信をHTTPサーバ2へ要求するためのHTTPリクエストメッセージを生成する。   The HTTP client 1 corresponds to HTTP / 1.1 and HTTP / 2.0 as relatively lower and upper major versions of HTTP, respectively. As will be described in detail later, the request message generation unit 101 is an HTTP / 1.1 minor version HTTP / 1.XX (the major number is “1” and the minor number is “XX” unique to the present invention. For example, an HTTP request message for requesting communication conforming to HTTP / 1.2) to the HTTP server 2 is generated.

メッセージ送受信部102は、前記HTTPリクエストメッセージをHTTP/1.1に準拠した通信によりHTTPサーバ2へ送信し、これに応答してHTTPサーバ2が返信するHTTPレスポンスメッセージを受信する。   The message transmission / reception unit 102 transmits the HTTP request message to the HTTP server 2 by communication conforming to HTTP / 1.1, and receives an HTTP response message returned from the HTTP server 2 in response thereto.

HTTPサーバ2は、前記HTTPクライアント1と同様に、HTTPの相対的に下位および上位のメジャーバージョンとして、それぞれHTTP/1.1およびHTTP/2.0に対応する。メッセージ送受信部201は、HTTPクライアント1から送信されるリクエストメッセージを受信し、これに応答するレスポンスメッセージを返信する。   Similar to the HTTP client 1, the HTTP server 2 corresponds to HTTP / 1.1 and HTTP / 2.0, respectively, as relatively lower and upper major versions of HTTP. The message transmission / reception unit 201 receives a request message transmitted from the HTTP client 1 and returns a response message in response thereto.

HTTPサーバ2のレスポンスメッセージ生成部202はコンテンツ登録部202aを備え、前記マイナーバージョンHTTP/1.XXによるHTTP通信を要求するHTTPリクエストメッセージに応答するレスポンストメッセージを生成する。本実施形態では、後に詳述するように、レスポンストメッセージに対して、前記マイナーバージョンHTTP/1.XXによる通信を了解する旨のメッセージが記述され、更には前記コンテンツ登録部202aにより、要求されたWebコンテンツがコンテンツDB204から読み出されてレスポンストメッセージのメッセージボディに登録される。   The response message generation unit 202 of the HTTP server 2 includes a content registration unit 202a, and generates a response message that responds to an HTTP request message that requests HTTP communication using the minor version HTTP / 1.XX. In the present embodiment, as will be described in detail later, a message indicating that communication by the minor version HTTP / 1.XX is accepted is described in response to the response message, and further requested by the content registration unit 202a. The Web content is read from the content DB 204 and registered in the message body of the response message.

HTTPクライアント1のコンテンツ抽出部103は、前記マイナーバージョンHTTP/1.XXによるHTTP通信を了解するHTTPレスポンスメッセージを受信すると、そのメッセージボディに登録されているWebコンテンツを取得する。   When the content extraction unit 103 of the HTTP client 1 receives an HTTP response message that accepts HTTP communication according to the minor version HTTP / 1.XX, the content extraction unit 103 acquires Web content registered in the message body.

HTTPクライアント1およびHTTPサーバ2の各通信実行部104、203は、HTTPの各メジャーバージョンHTTP/1.1、HTTP/2.0およびマイナーバージョンHTTP/1.XXに対応する。前記通信実行部104は、前記マイナーバージョンHTTP/1.XXによるHTTP通信を了解するHTTPレスポンスメッセージに対して、HTTPサーバ2の通信実行部203と協調してHTTP/2.0による通信を主導し、前記HTTPサーバ2のコンテンツDB204から残りのWebコンテンツをHTTP/2.0に準拠した通信により高速に取得する。   The communication execution units 104 and 203 of the HTTP client 1 and HTTP server 2 correspond to HTTP major versions HTTP / 1.1, HTTP / 2.0, and minor versions HTTP / 1.XX. The communication execution unit 104 leads the communication by HTTP / 2.0 in cooperation with the communication execution unit 203 of the HTTP server 2 in response to the HTTP response message for accepting the HTTP communication by the minor version HTTP / 1.XX, The remaining Web content is acquired at high speed from the content DB 204 of the HTTP server 2 by communication conforming to HTTP / 2.0.

図2は、クライアントおよびサーバのいずれもが本発明のHTTP通信方式に対応している場合のHTTP接続手順を示したシーケンスフローであり、図3,4はそれぞれ、クライアントからサーバへ送信されるHTTPリクエストメッセージおよびサーバからクライアントへ送信されるHTTPレスポンスメッセージの一例を示している。   FIG. 2 is a sequence flow showing an HTTP connection procedure when both the client and the server are compatible with the HTTP communication method of the present invention, and FIGS. 3 and 4 are HTTP flows transmitted from the client to the server, respectively. 2 shows an example of a request message and an HTTP response message transmitted from the server to the client.

図2において、時刻t1では、クライアント/サーバ間で3ウェイハンドシェークによる周知の接続処理が行われ、クライアントからサーバへのSYNパケットの送信、サーバからクライアントへのSYN ACKパケットの送信、およびクライアントからサーバへのACKパケットの送信を経て接続が確立される。   In FIG. 2, at time t1, a well-known connection process is performed between the client and the server by a three-way handshake, the SYN packet is transmitted from the client to the server, the SYN ACK packet is transmitted from the server to the client, and the client to the server. A connection is established through the transmission of an ACK packet to.

時刻t2では、クライアントからサーバへHTTPリクエストメッセージが送信される。このHTTPリクエストメッセージでは、図3に示したように、1行目のリクエスト行にHTTPのバージョンとして、メジャー番号が「1」でマイナー番号が本発明の固有の「XX」であるHTTP/1.XX(例えば、HTTP/1.2)が記述され、メジャー番号「1」に対応した最新バージョンのHTTP/1.1に準拠した手順で送信される。   At time t2, an HTTP request message is transmitted from the client to the server. In this HTTP request message, as shown in FIG. 3, HTTP / 1. Is the HTTP version in the first request line, the major number is “1”, and the minor number is “XX” unique to the present invention. XX (for example, HTTP / 1.2) is described and transmitted in accordance with the latest version of HTTP / 1.1 corresponding to the major number “1”.

当該HTTPリクエストメッセージを受信したサーバでは、リクエスト行に記述されているHTTPバージョンを参照し、ここでは要求されたバージョン"HTTP/1.XX"に自身が対応していると判定されるので、時刻t3において、図4に示したHTTPレスポンスメッセージが送信される。本実施形態では、HTTPレスポンスメッセージの1行目のステータス行に、"HTTP/1.XX"による通信が可能である"旨のメッセージとして「HTTP/1.XX 200 OK」が記述され、さらに要求されたコンテンツ(HTMLファイル)がメッセージボディに記述されている。   The server that received the HTTP request message refers to the HTTP version described in the request line, and here it is determined that it corresponds to the requested version "HTTP / 1.XX". At t3, the HTTP response message shown in FIG. 4 is transmitted. In this embodiment, “HTTP / 1.XX 200 OK” is described in the status line of the HTTP response message as a message “HTTP / 1.XX communication is possible”, and the request Content (HTML file) is described in the message body.

当該HTTPレスポンスメッセージを受信したクライアントでは、そのステータス行に「HTTP/1.XX 200 OK」が記述されていることから、サーバがHTTP/2.0にも対応していることを認識し、時刻t4において、HTTP/2.0による接続準備として24ByteのMagic codeをサーバへ送信する。   At the time t4, the client that has received the HTTP response message recognizes that the server also supports HTTP / 2.0 because “HTTP / 1.XX 200 OK” is described in the status line. , Send a 24-byte Magic code to the server to prepare for HTTP / 2.0 connection.

時刻t5では、サーバからクライアントへ、初期ウィンドウサイズやストリームの最大同時オープン数などの情報を含むSETTINGSフレームが送信されてHTTP/2.0の初期情報が交換される。時刻t6では、クライアントからサーバへ、HTTP/2.0によるコンテンツ要求が送信されてHTTP/2.0に準拠したコンテンツ配信が継続される。   At time t5, a SETTINGS frame including information such as the initial window size and the maximum number of simultaneous open streams is transmitted from the server to the client, and HTTP / 2.0 initial information is exchanged. At time t6, a content request according to HTTP / 2.0 is transmitted from the client to the server, and content distribution conforming to HTTP / 2.0 is continued.

本実施形態によれば、クライアントがコンテンツ配信を要求するHTTPリクエストメッセージのリクエスト行に、HTTPバージョンとして固有のマイナバージョン"HTTP/1.XX"を記述して送信すると、これを受信したサーバは、要求されたコンテンツの少なくとも一部をHTTPレスポンスメッセージに登録して配信する。したがって、既存のHTTPを改修することなく、ネゴシエーション時にもコンテンツ配信が行えるようになるので、Webコンテンツの高速配信が実現される。   According to the present embodiment, when a client describes a minor version “HTTP / 1.XX” as an HTTP version in the request line of an HTTP request message for requesting content delivery, the server that has received this transmits Register and distribute at least part of the requested content in the HTTP response message. Therefore, content can be distributed even during negotiation without modifying the existing HTTP, so high-speed distribution of Web content is realized.

図5は、クライアントのみが本発明のHTTP通信方式に対応し、サーバが非対応の場合のHTTP接続手順を示したシーケンスフローであり、図6は、サーバからクライアントへ送信されるHTTPレスポンスメッセージの一例を示している。   FIG. 5 is a sequence flow showing an HTTP connection procedure when only the client supports the HTTP communication method of the present invention and the server does not support. FIG. 6 shows an HTTP response message transmitted from the server to the client. An example is shown.

時刻t1では3ハンドシェークによる接続処理が実行され、時刻t2では、前記図3と同様に、1行目のリクエスト行にHTTPのバージョンとしてHTTP/1.XXの記述されたHTTPリクエストメッセージが、HTTP/1.1に準拠した手順でクライアントからサーバへ送信される。   At time t1, connection processing by three handshakes is executed, and at time t2, an HTTP request message in which HTTP / 1.XX is described as the HTTP version in the first request line is HTTP / Sent from the client to the server in accordance with 1.1.

前記HTTPリクエストメッセージを受信したサーバは、要求されたバージョンHTTP/1.XXに対応していないので、時刻t3において、"HTTP/1.1"による通信が可能である"旨のメッセージとしてHTTP/1.1 200 OKの記述されたHTTPレスポンスメッセージを送信する。クライアントは、前記HTTPレスポンスメッセージすると、時刻t4において、HTTP/1.1によるコンテンツ要求を送信するので、HTTP/1.1に準拠したコンテンツ配信が開始される。   The server that has received the HTTP request message does not support the requested version HTTP / 1.XX. Therefore, at time t3, a message “HTTP / 1.1 communication is possible” is displayed as an HTTP / 1.1 200 message. When the HTTP response message is transmitted, the client transmits a content request according to HTTP / 1.1 at time t4, so that content distribution conforming to HTTP / 1.1 is started.

このように、本実施形態によれば、クライアントのみが本発明のHTTP通信方式に対応し、サーバが非対応の場合でも、従来のHTTP/1.1に対応していれば、HTTP/1.1によるコンテンツ配信が可能になる。   As described above, according to the present embodiment, only the client supports the HTTP communication method of the present invention, and even if the server is not compatible, if the conventional HTTP / 1.1 is supported, content distribution by HTTP / 1.1 is possible. Is possible.

図7は、クライアントのみが本発明のHTTP通信方式に対応し、サーバが非対応でHTTP/2.0に対応した場合のHTTP接続手順を示したシーケンスフローであり、図8は、サーバからクライアントへ送信されるHTTPレスポンスメッセージの一例を示している。   FIG. 7 is a sequence flow showing an HTTP connection procedure when only the client corresponds to the HTTP communication method of the present invention, the server does not support HTTP / 2.0, and FIG. 8 shows transmission from the server to the client. An example of the HTTP response message to be executed is shown.

時刻t1では3ハンドシェークによる接続処理が実行され、時刻t2では、前記図3と同様に、1行目のリクエスト行にHTTPのバージョンとしてHTTP/1.XXの記述されたHTTPリクエストメッセージが、HTTP/1.1に準拠した手順でクライアントからサーバへ送信される。   At time t1, connection processing by three handshakes is executed, and at time t2, an HTTP request message in which HTTP / 1.XX is described as the HTTP version in the first request line is HTTP / Sent from the client to the server in accordance with 1.1.

前記HTTPリクエストメッセージを受信したサーバは、要求されたバージョンHTTP/1.XXに対応していないので、時刻t3において、アップグレードを要求する旨のメッセージとして、図8に示したように、ステータス行に" 101 Switching Protocols "が記述され、メッセージボディにHTTP/2.0へのアップグレードを要求する旨のメッセージとして" Upgrade : HTTP/2.0 "の記述されたHTTPレスポンスメッセージを送信する。   The server that has received the HTTP request message does not support the requested version HTTP / 1.XX. Therefore, at time t3, as shown in FIG. “101 Switching Protocols” is described, and an HTTP response message in which “Upgrade: HTTP / 2.0” is described is transmitted as a message requesting an upgrade to HTTP / 2.0 in the message body.

当該HTTPレスポンスメッセージを受信したクライアントでは、サーバが"HTTP/2.0"に対応していることを認識し、時刻t4において、HTTP/2.0による接続準備として24ByteのMagic codeをサーバへ送信する。   The client that has received the HTTP response message recognizes that the server is compatible with “HTTP / 2.0”, and transmits a 24-byte Magic code to the server as a connection preparation by HTTP / 2.0 at time t4.

時刻t5では、サーバからクライアントへ、初期ウィンドウサイズやストリームの最大同時オープン数などの情報を含むSETTINGSフレームが送信されてHTTP/2.0の初期情報が交換される。時刻t6では、クライアントからサーバへ、HTTP/2.0によるコンテンツ要求が送信されてHTTP/2.0に準拠したコンテンツ配信が継続される。   At time t5, a SETTINGS frame including information such as the initial window size and the maximum number of simultaneous open streams is transmitted from the server to the client, and HTTP / 2.0 initial information is exchanged. At time t6, a content request according to HTTP / 2.0 is transmitted from the client to the server, and content distribution conforming to HTTP / 2.0 is continued.

本実施形態によれば、クライアントのみが本発明のHTTP通信方式に対応し、サーバが非対応の場合でも、従来のHTTP/2.0に対応していれば、HTTP/2.0によるコンテンツ配信が可能になる。   According to this embodiment, even if only the client supports the HTTP communication method of the present invention and the server does not support it, content distribution by HTTP / 2.0 becomes possible if it supports conventional HTTP / 2.0. .

1…HTTPクライアント,2…HTTPサーバ,101…リクエストメッセージ生成部,102…メッセージ送受信部,103…コンテンツ抽出部,104、203…通信実行部,201…メッセージ送受信部,202…レスポンスメッセージ生成部,202a…コンテンツ登録部,204…コンテンツDB   DESCRIPTION OF SYMBOLS 1 ... HTTP client, 2 ... HTTP server, 101 ... Request message generation part, 102 ... Message transmission / reception part, 103 ... Content extraction part, 104, 203 ... Communication execution part, 201 ... Message transmission / reception part, 202 ... Response message generation part, 202a ... content registration unit, 204 ... content DB

Claims (11)

HTTPの相対的に上位および下位の各バージョンに対応したHTTPクライアントにおいて、
前記下位バージョンのマイナーバージョンによるHTTP通信を要求するHTTPリクエストメッセージを生成する手段と、
前記HTTPリクエストメッセージを所定のサーバへ送信してHTTPレスポンスメッセージを受信する手段と、
前記マイナーバージョンによるHTTP通信を了解するHTTPレスポンスメッセージに登録されているコンテンツを取得する手段と、
前記マイナーバージョンによるHTTP通信を了解するHTTPレスポンスメッセージに対して前記上位バージョンによる通信を主導する手段とを具備したことを特徴とするHTTPクライアント。
In HTTP clients that support relatively higher and lower versions of HTTP,
Means for generating an HTTP request message for requesting HTTP communication by a minor version of the lower version;
Means for transmitting the HTTP request message to a predetermined server and receiving an HTTP response message;
Means for acquiring content registered in an HTTP response message for accepting HTTP communication by the minor version;
An HTTP client comprising: means for leading communication by the higher version in response to an HTTP response message for accepting HTTP communication by the minor version.
前記マイナーバージョンは、メジャー番号が下位バージョンと同一でマイナー番号が固有であることを特徴とする請求項1に記載のHTTPクライアント。   The HTTP client according to claim 1, wherein the minor version has the same major number as the lower version and a unique minor number. 前記上位バーションがHTTP/2.0であり、前記下位バーションがHTTP/1.1であることを特徴とする請求項2に記載のHTTPクライアント。   The HTTP client according to claim 2, wherein the upper version is HTTP / 2.0 and the lower version is HTTP / 1.1. 前記通信を主導する手段は、前記下位バージョンによるHTTP通信を了解するHTTPレスポンスメッセージに対して前記下位バージョンによる通信を主導することを特徴とする請求項1ないし3のいずれかに記載のHTTPクライアント。   4. The HTTP client according to claim 1, wherein the means for initiating communication leads the communication by the lower version in response to an HTTP response message for accepting the HTTP communication by the lower version. 前記通信を主導する手段は、前記上位バージョンによるHTTP通信を了解するHTTPレスポンスメッセージに対して前記上位バージョンによる通信を主導することを特徴とする請求項1ないし3のいずれかに記載のHTTPクライアント。   4. The HTTP client according to claim 1, wherein the means for initiating communication leads the communication by the higher version in response to an HTTP response message for accepting the HTTP communication by the higher version. HTTPの相対的に上位および下位の各バージョンに対応したHTTPサーバにおいて、
HTTPクライアントからHTTPリクエストメッセージを受信する手段と、
前記下位バージョンのマイナーバージョンによるHTTP通信を要求するHTTPリクエストメッセージに対して、要求されたコンテンツが登録されて前記マイナーバージョンによる通信を了解するHTTPレスポンストメッセージを生成する手段と、
前記HTTPレスポンストメッセージを前記HTTPクライアントへ返信する手段とを具備したことを特徴とするHTTPサーバ。
In the HTTP server corresponding to each upper and lower version of HTTP,
Means for receiving an HTTP request message from an HTTP client;
Means for generating an HTTP response message for registering the requested content and accepting the communication by the minor version for the HTTP request message requesting the HTTP communication by the minor version of the lower version;
An HTTP server comprising: means for returning the HTTP response message to the HTTP client.
前記マイナーバージョンは、メジャー番号が下位バージョンと同一でマイナー番号が固有であることを特徴とする請求項6に記載のHTTPサーバ。   The HTTP server according to claim 6, wherein the minor version has the same major number as the lower version and a unique minor number. 前記上位バーションがHTTP/2.0であり、前記下位バーションがHTTP/1.1であることを特徴とする請求項7に記載のHTTPサーバ。   8. The HTTP server according to claim 7, wherein the upper version is HTTP / 2.0 and the lower version is HTTP / 1.1. HTTPの相対的に上位および下位の各バージョンに対応したクライアントおよびサーバによるHTTP通信方法において、
クライアントが、前記下位バージョンのマイナーバージョンによるHTTP通信を要求するHTTPリクエストメッセージを生成してサーバへ送信する手順と、
サーバが、前記下位バージョンのマイナーバージョンによるHTTP通信を要求するHTTPリクエストメッセージに対して、要求されたコンテンツが登録されて前記マイナーバージョンによる通信を了解するHTTPレスポンストメッセージを返信する手順と、
クライアントが、前記マイナーバージョンによるHTTP通信を了解するHTTPレスポンスメッセージに登録されているコンテンツを取得する手順と、
クライアントが、前記マイナーバージョンによるHTTP通信を了解するHTTPレスポンスメッセージに対して前記上位バージョンによる通信を主導する手順とを含むことを特徴とするHTTP通信方法。
In the HTTP communication method by the client and server corresponding to the relatively higher and lower versions of HTTP,
A procedure for a client to generate an HTTP request message for requesting HTTP communication by a minor version of the lower version and send it to a server;
A procedure in which an HTTP response message requesting HTTP communication by the minor version of the lower version is sent back to the HTTP response message in which the requested content is registered and the communication by the minor version is accepted;
A procedure for the client to acquire the content registered in the HTTP response message for accepting HTTP communication by the minor version;
The HTTP communication method comprising: a procedure in which a client leads communication by the higher version in response to an HTTP response message for accepting HTTP communication by the minor version.
前記マイナーバージョンは、メジャー番号が下位バージョンと同一でマイナー番号が固有であることを特徴とする請求項9に記載のHTTP通信方法。   The HTTP communication method according to claim 9, wherein the minor version has the same major number as the lower version and a unique minor number. 前記上位バーションがHTTP/2.0であり、前記下位バーションがHTTP/1.1であることを特徴とする請求項10に記載のHTTP通信方法。   11. The HTTP communication method according to claim 10, wherein the upper version is HTTP / 2.0 and the lower version is HTTP / 1.1.
JP2014160363A 2014-08-06 2014-08-06 HTTP client, HTTP server, and HTTP communication method Expired - Fee Related JP6286319B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014160363A JP6286319B2 (en) 2014-08-06 2014-08-06 HTTP client, HTTP server, and HTTP communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014160363A JP6286319B2 (en) 2014-08-06 2014-08-06 HTTP client, HTTP server, and HTTP communication method

Publications (2)

Publication Number Publication Date
JP2016038664A true JP2016038664A (en) 2016-03-22
JP6286319B2 JP6286319B2 (en) 2018-02-28

Family

ID=55529706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014160363A Expired - Fee Related JP6286319B2 (en) 2014-08-06 2014-08-06 HTTP client, HTTP server, and HTTP communication method

Country Status (1)

Country Link
JP (1) JP6286319B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016206713A (en) * 2015-04-15 2016-12-08 キヤノン株式会社 COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM
JP2017216591A (en) * 2016-05-31 2017-12-07 キヤノン株式会社 Communication device, communication method, communication system and program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020188743A1 (en) * 2001-06-12 2002-12-12 Daniel Schaffrath Method for an improved interworking of a user application and a server

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020188743A1 (en) * 2001-06-12 2002-12-12 Daniel Schaffrath Method for an improved interworking of a user application and a server
JP2004530231A (en) * 2001-06-12 2004-09-30 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Improved Interaction Method between User Application and Server

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
大津繁樹: "HTTP/2の最新動向", 電子情報通信学会誌, vol. 第97巻,第8号, JPN6018000689, 1 August 2014 (2014-08-01), JP, pages 727 - 733 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016206713A (en) * 2015-04-15 2016-12-08 キヤノン株式会社 COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM
JP2017216591A (en) * 2016-05-31 2017-12-07 キヤノン株式会社 Communication device, communication method, communication system and program

Also Published As

Publication number Publication date
JP6286319B2 (en) 2018-02-28

Similar Documents

Publication Publication Date Title
US8224966B2 (en) Reproxying an unproxied connection
CN104253742B (en) Virtual WEB real-time Communication for Power gateway is with and related methods, system
CN107948324B (en) request transmission system, method, device and storage medium
EP3017579B1 (en) System and device for enabling any network functionality client or server in a html5 application
JP6548445B2 (en) Communication device, communication method and program
EP4135296B1 (en) Real-time communication (rtc) connection method, server, and storage medium
US10298627B2 (en) Concentration of independent tunneled encapsulated media
CN101534302A (en) Method for providing TCP service, system and relevant device thereof
CN108200165B (en) request transmission system, method, device and storage medium
CN114338844B (en) Cross-protocol communication method and device between client servers
WO2013097401A1 (en) Method, gateway and communication system for browser client directly communicating with back-end server
JP6289092B2 (en) Information processing apparatus, control method thereof, and computer program
CN108200158B (en) request transmission system, method, device and storage medium
CN102148845B (en) File transfer protocol (FTP) data transmission method and system
CN102143204A (en) Method, device and system for realizing reorientation of hypertext transfer protocol in content delivery network
CN104767742A (en) A secure communication method, gateway, network side server and system
WO2011020397A1 (en) Network proxy implementation method and apparatus
US10367894B2 (en) Information processing apparatus, method for controlling the same, non-transitory computer-readable storage medium, and information processing system
WO2020186607A1 (en) Access request processing method and device, and server
CN114301968B (en) Access method, system, equipment and storage medium of server
JP6286319B2 (en) HTTP client, HTTP server, and HTTP communication method
CN105897853A (en) Peer-to-peer network connection method and device
JP6521762B2 (en) HTTP server, control method therefor, image forming apparatus and program
CN110771117B (en) A Session Layer Communication Using ID-Oriented Networks
EP3079328A1 (en) Media resource sharing method, shared server and shared system

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160823

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180205

R150 Certificate of patent or registration of utility model

Ref document number: 6286319

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees