Date First Published: 9th February 2022
Topic: Computer Networking
Subtopic: Internet Protocols
Article Type: Computer Terms & Definitions
Difficulty: MediumDifficulty Level: 5/10
Learn more about what HTTP is in this article.
Short for hypertext transfer protocol, HTTP is a protocol that is used for the transmission of information between web browsers and servers and was developed by Tim Berners-Lee. In other words, it is how computers communicate with each other across the World Wide Web. It is the top layer (application layer) of the TCP/IP protocol suite and HTTP allows users to communicate with web resources, such as HTML pages, CSS sheets, images, and video files by the use of hypertext messages from web browsers to servers. TCP connections are used by users for communicating with web servers. An example of the use of HTTP is sending data through online forms or requesting files at certain web addresses.
HTTP makes use of requests methods for performing certain tasks. A HTTP message called a GET request is used when a computer is fetching data. When form data is sent or files are uploaded, HTTP uses other messages, such as POST or PUT requests. HTTP messages that are being sent can be seen in the developer tools of most web browsers. Other HTTP messages include:
HTTPS is the more widely used and secure version of HTTP since it encrypts data into random characters by the use of SSL/TLS between the user and the server. It is used by 76% of other websites and it carries this out by public-key encryption where there are two keys. One of the keys is shared with users via the SSL certificate of the website, called the public key. When a user establishes a connection with a server, the public and private keys are used to agree on new keys, known as session keys, in order to encrypt future communications. Instead of 'Hypertext Transfer Protocol', it stands for 'Hypertext Transfer Protocol Secure'. Although HTTP may be okay for a website where users only read a few articles and do not enter any personal information, it becomes a huge security risk when entering sensitive information, such as financial details or passwords.
With HTTP, all information is sent in plain text and could be read by someone that is monitoring the connection. In other words, it means that information sent between the user and the server is not secure. HTTPS websites will show a padlock in the address bar and HTTP websites will show something like 'Not secure' in the address bar. For some websites, it is actually possible to view a more secure version of the webpage by entering 'https://' instead of 'http://' before the address. In addition, HTTPS can help improve the SEO (Search Engine Optimisation) of a website, since most popular search engines rank websites with valid HTTPS higher and HTTP uses port 80 and HTTPS uses port 443. The HTTP version of a website can be redirected to the HTTPS version by including 301 redirects in the .htaccess file:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^yourdomain\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R,L]
An insecure HTTP GET request in plain text looks like this:
GET /index.html HTTP/1.1
User-Agent: curl/7.63.0 libcurl/7.63.0 OpenSSL/1.1.l zlib/1.2.11
Host: www.bing.com
Accept-Language: en
In this example, only HTTP is being used, allowing the information to be read by anyone monitoring the session that has a basic understanding of the syntax and commands of the HTTP protocol.
However, when HTTPS is used over SSL/TLS, the HTTPS request looks like this:
t8Fw6T8UV81pQfyhDkh+3SW1
This text is now some random characters. However, it can be decrypted with the private key, which is the secret key that is used for decrypting the message. The private key is unavailable via the publicly accessible directory.
Never enter any sensitive information, such as bank details or passwords in websites that do not use HTTPS or have the padlock icon in the address bar. All information is sent in plain text and could be read by someone that is monitoring the connection.
There have been a number of versions of HTTP. Some of them include:
HTTP status codes identify the status of HTTP requests on the World Wide Web. The most well-known HTTP status code is 404, which means that the requested page cannot be found. Status codes help users to identify the meaning of errors as well as the status of a HTTP request. For example, the status code 200 means that the request is successful without any errors and the status code 301 means that the page has moved permanently to a new address. A list of HTTP status codes can be seen here.
TCP/IP Protocol | Application layer | BGP• DHCP • DNS • FTP • HTTP • IMAP • LDAP • MGCP • NNTP • NTP • OSPF • POP • PTP • ONC/RPC • RTP • RTSP • RIP • SIP • SMTP • SNMP • SSH • Telnet • XMPP | Transport layer | TCP • UDP • DCCP • SCTP • RSVP • QUIC | Internet layer | IP • ICMP • NDP • ECN • IGMP. | Link layer | Tunnels • PPP • MAC |
---|
If so, it is important that you tell me as soon as possible on this page.
Network Services Network Setups Network Standards Network Hardware Network Identifiers Network Software Internet Protocols Internet Organisations Data Transmission Technologies Web Development Web Design Web Advertising Web Applications Web Organisations Web Technologies Web Services SEO Threats To Systems, Data & Information Security Mechanisms & Technologies Computer Hardware Computer Software Ethics & Sustainability Legislation & User Data Protection