08 May 2019

Web Transport Protocols

By PixiDesigns | 08 May 2019 | web, protocols, https, ftp, ssl | 3662 Comments

Web Transport Protocols
Clients and servers use a number of different transport protocols to exchange information. These protocols, built on on top of TCP/IP, comprise the majority of all Internet traffic today. The Hypertext Transfer Protocol (HTTP) is the most common because it was designed specifically for the web. A number of legacy protocols, such as the File Transfer Protocol (FTP) and Gopher, are still in use today. According to Merit's measurements from the NSFNet, HTTP replaced FTP as the dominant protocol in April of 1995. Some newer protocols, such as Secure Sockets Layer(SSL) and the Real Time Transport Protocol (RTP), are increasing in use, though as per current situation HTTP is used on a very low scale and required to use HTTPS instead on most of the servers to make it more secured for the online users.

Tim Berners-Lee and others originally designed HTTP to be a simple and lightweight transfer protocol. Since its inception, HTTP has undergone various major revisions.
The very first version, retroactively named HTTP/0.9, is extremely simple and almost trivial to implement. At the same time, however, it lacks any real features. The second version, HTTP/1.0; defines a small set of features  and still maintains the original goals of being simple and lightweight. However, at a time when the web was experiencing phenomenal growth, many developers found that HTTP/1.0 did not provide all the functionality they required for new services. HTTP/1.1 include persistent connections, range requests, content negotiation, and improved cache controls. HTTP/1.1 is very complicated protocol.
HTTP transactions use a well-defined message structure. A message, which can be either a request or a response, has two parts: the Headers and the Body. Headers are always present, but body is optional. Headers are represented as ASCII strings terminated by carriage return and linefeed characters.

An FTP session is a bit more complicated than an HTTP transaction. FTP uses a control channel for commands and responses and a separate data channel for actual data transfer. Before data transfer can occur, approximately six commend and reply exchanges take place on the control channel. FTP clients must "log in" to a server with a username and password. Many servers allow anonymous access to their publicly available files. Because FTP is primarily intended to give access to remote filesystems, the protocol supports commands such as CWD (change working directory) LST (directory listing). These differences make FTP somewhat awkward to implement in web clients. Regardless, FTP remains a popular way of making certain types of information available to Internet and web users.

Netscape invented the Secure Sockets Layer (SSL) protocol in 1994 to foster electronic commerce applications on the Internet. SSL provides secure, end-to-end encryption between clients and servers. Before SSL, people were justifiably afraid to conduct business online due to the relative ease of sniffing network traffic. The Development and Standardization of SSL has moved into the IETF, where it is now called Transport Layer Security (TLS).
The TLS protocol is not restricted to HTTP and the Web. It can be used for other applications, such as email (SMTP) and newsgoups (NTTP). HTTP over TLS is also refer as HTTPS because HTTP/TLS URLs use "https" as the protocol identifier.

The Gopher protocol is slowly becoming all but extinct on the Web. In principle, Gopher is very similar to HTTP/0.9. The clients sends a single request line, to which the server replies with some content. The client knows a priori what type of content to expect because each request includes and encoded, Gopher-specific content-type parameter. The extra features offered by HTTP and HTML made Gopher obsolete.

Leave a Comment

Your email address will not be published. Required fields are marked *