An overview of the Web++ framework
2001 International Conferences on Info-Tech and Info-Net. Proceedings (Cat. No.01EX479)
This paper presents an overview of the Web++ framework, a new mechanism of hypertext resource transmission specifically designed to further improve Web performance. The major components of the framework are briefly described, along with some initial and yet encouraging results from experimental implementation and test. Introduction The simple idea − "batch-fetching" a web page and all of its related objects (such as images, scripts, applets, style sheets, etc.) within a single request and
... se − is not new, and several previous proposals were made quite a few years ago, e.g., a primitive MGET method by Franks , or the GETALL and GETLIST methods by Padmanabhan and Mogul  , and later the "collection resource" of WebDAV , MHTML by Palme and Hopmann  , and the recent "bundle" proposal by Wills et al  . This paper presents an overview of the Web++ framework, yet another mechanism to transfer web resources in a batch manner. The major difference between Web++ and the previous work may be that the former is a little bit more further to try to provide a complete solution to the problem. The major insufficiency of the previous proposals seems to be in the difficulty to handle various partial modifications of embedded objects. It would be exceedingly difficult (if not impossible) to design a uniform and consistent scheme of aggregate resource updating without the help of an elaborate information description of individual resources, and we are not aware of any other work that uses a special transfer encoding together with a transfer control mechanism to speed up HTTP transactions. Actually, the structural characteristics of "hypertexted Web pages" still provide a great potential for performance improvement. This research is intended to explore such a possibility. Web++ Overview The framework of Web++ includes three components [8, 9] : -A new URL scheme sttp for identifying resources on the Web++, with the general format sttp: // host : port / path ? parameters. -The Structured Hypertext Transfer Protocol (STTP), defining a message set of requests and responses for the transmission control of resources on the Web++. -The Structured Hypertext Markup Language (STML), for describing the structural information of Web pages, including information of the root page file, number and types of the linked objects, entity attributes of each object, file offsets and sizes of partial update, etc. Roughly speaking, an STML document is a "hypertext of hypertext", that is, a set of hypermedia objects that are related to the same root hypertext. (The set may or may not be "closed" with respect to the closure of links.) Thus STTP may also be called the protocol for the transmission of a set of hypertexts. Based on the detailed meta-information described in STML, STTP can possibly transfer resources in an optimal way. Before sending a page file to the client, the server first processes the page into a more compact format (structured hypertext) with its header containing sufficient meta-information of each element related to the page, so that the client can handle them directly, without any repeated network transmission. On the other hand, the client also presents sufficient meta-information about its desired objects to the server for optimization of the delivery. Such processing of Web page allows the server and client to have a good knowledge of the contents that are transmitted, and helps make a more efficient use of TCP connection. Using such description, typical STTP Transactions can be performed within one request and one reply. E.g., when a client is to retrieve a Web page that is not locally cached, it tries to get the page by sending a single selective S-GET request, expecting a single response from the server with the message body being a full STML document generated for the page. If the page is already cached, then the client generates a partial STML document (head-part) listing the meta-information of all the interesting objects related to the page (including the root page itself) obtained since the last visit, and send an S-COMPARE request, expecting a single response with an STML document containing all the necessary information of update for modified objects. This would provide the most efficient Web page retrieval model. For a typical Web page with 10 linked objects, there are at least 11 requests and 11 responses (totally 22 messages) needed to transmit between an HTTP client and server (together with mutual acknowledgement for each packet). Though the HTTP/1.1 request pipelining method usually helps reduce the latency, this model is far from optimization in terms of message number and usage of packets. STTP reduces the network traffic by greatly reducing the number of client requests and keeping most of the packets in full size.