Informatikaria eta ikertzailea
Elhuyar Hizkuntza eta Teknologia
SPDY are not the acronym for anything, but a speedy speedy word game. Do you remember the mouse Speedy Gonzales? SPDY considers that it accelerates much the transfers of pages, documents and other files to the web. According to laboratory tests performed by Google, performance can be improved up to 64%. And in the first tests on mobile, they say they have managed to load the pages 23% faster. But how is this improvement achieved?
To understand how it is possible to accelerate it is necessary to know previously the functioning of the HTTP protocol and the web itself. Web communication, like any type of data telecommunications, is organized in seven levels according to the OSI model (Open Systems Interconnection reference model, ISO standard), where a system or protocol is used at each level.
The Internet is a decentralized giant network made up of millions of interconnected networks. At the most basic level of communication, that is, at the physical level, very different technologies are used to transmit bits (0 and 1) (different voltages in the electric cable, different intensities of light in the optical fiber, or modulation of frequencies in the radio waves, etc. ). At the next level, at the link level, errors and interference in the transmission are detected and corrected using redundant bits of control, and the precise method used here depends on the physical level. Its combinations complement the basic communication protocols such as Bluetooth, WiFi, etc., many of which Internet uses at different points of the network. But at higher logical levels, the Internet always uses the same protocols, operating in practice as a single network.
The upper level, network level, is responsible for organizing the data in packages and the address, using the IP protocol of the Internet (Internet Protocol). The next level is the transport level that deals, among other aspects, with the implementation of connections and the reliability of messages, using the Internet the TCP protocol (Transmission Control Protocol) at this level.
Below is the session level, responsible for authentication, etc., and the presentation level, responsible for compressing and/or encrypting the data. However, these last two on the Internet are mixed and depend on the last level of application. Examples of application services on the Internet are email, web, FTP service, chat, etc. And the protocol used for the web is HTTP.
In the HTTP protocol, a client (for example, the web browser of our computer) establishes a connection with a server (usually a web server that hosts webs) and sends a request for a web page (in which free information such as the desired page, the operating system and browser of the client or the default language are collected). The server responds by returning the requested page or with an error code (like the famous 404) and ending the connection.
The HTTP protocol is suitable for the characteristics of the web of the time when the web was created, that is, for which it only had static pages. But the current website is very different.
For example, today we are on a website, we can set our preferences, which are stored in the cookies of our computer; these settings must be forwarded whenever we request a new page of that website, which can be a lot of information that we are sending unnecessarily, slowing down the communication. On the other hand, the need to reset the connection every time we need a new page also inactivates navigation. Finally, when we're on a page to view updates (for example, if there are new messages when we're viewing email via web), the only way the browser asks the server with a certain frequency is not possible for the server itself to notify the client when there's something new.
The SPDY protocol aims to resolve these HTTP inefficiencies without replacing the HTTP protocol itself. This is a protocol that is implemented in the levels of session and application and that is implemented in the case that the client and the server have implemented it, otherwise the communication will be made with normal HTTP.
SPDY uses a single connection with the server for all requests made to it, that is, when the client has to request a new page to the same server it is not necessary to reestablish the connection, which accelerates the speed. In addition, through this connection, the server can also send information to the client without requesting it, allowing the updates of the pages to be made at the time and when necessary. On the other hand, the server keeps track of the information that the client has sent in previous requests (operating system, browser, preferences, language…) and does not need to be sent all periodically, only the different or new is sent and also compressed. Finally, encryption and compression are used at all times.
Google created the SPDY protocol in 2009. In 2011 he implemented Chrome in his browser and his search and Gmail services. Therefore, by accessing these services from this browser the user benefited from the advantages of SPDY. Then Google opened the code of its implementation and since then they have also implemented it in the Firefox and Opera browsers, which are more underway.
As for server software, the latest versions of Apache web servers (the world's most used web server), Nginx and Jetty already have the SPDY protocol. Twitter and WordPress also offer SPDY support and Facebook announces its intention to place it soon.
It seems that SPDY is having a great diffusion. And it seems to be even greater, as the next version of the HTTP 2.0 protocol being worked out will now have as a SPDY basis. Therefore, soon the entire web will be faster thanks to SPDY. Get him, shake him! Above, above! Spa! Yebigw!
Saioa hasi iruzkinak uzteko.