What is HTTP?

HTTP is the Internet technology that powers the World Wide Web.

Every time a web page is opened on the internet,  HTTP is the protocol (otherwise known as the method) that sends data from the web server to the customer’s web browser.

Originally defined in 1991 HyperText Transfer Protocol – HTTP is a set of standards developed by the Internet Engineering Task Force (IETF) and the World Wide Web Consortium (W3C) and is the most widely adopted application protocols used today.

HTTP provides basic operations to GET information from a web server and PUT or POST information to a web server.

A GET operation, for example, can be used to get an image as part of opening a web page or a POST operation could be used to send the contents of a completed web form back to a server.

http

HTTP vs HTTPS

HyperText Transfer Protocol Secure or HTTPS is the secure version of HTTP where all communications between the server and the web browser (sometimes called the client) is encrypted.

By default, info exchanged using HTTP is sent as what is known as “clear text”, meaning the exchange of information between the server and a client and can be read by anyone capable of intercepting this data.

In the early days of the web, this was a non issue, however when sensitive information such as financial data started being exchanged over the Internet HTTPs was essential to keeping this data private and secure.

http 2

Before any sensitive information is sent the server and the client exchange “keys”, these keys are used to encrypt and decrypt communications. During the key exchange the client decides if it will “trust” the server, this is done by checking against a pre-installed database of key (certificate) issuers. Once the server verified and is trusted, secure communications can commence.

HTTP/2

HTTP/2 is the next generation HTTP and is the first major revision of HTTP since 1999. HTTP/2 aims to increase performance by reducing latency, the time to transfer information between a server and client, data compression and through multiplexing multiple requests to the server into a single connection.

HTTP RESPONSE CODES

1xx Informational responses

100 Continue
101 Switching Protocols
102 Processing (WebDAV; RFC 2518)

2xx Success

200 OK
201 Created
202 Accepted
203 Non-Authoritative Information (since HTTP/1.1)
204 No Content
205 Reset Content
206 Partial Content (RFC 7233)
207 Multi-Status (WebDAV; RFC 4918)
208 Already Reported (WebDAV; RFC 5842)
226 IM Used (RFC 3229)

3xx Redirection

300 Multiple Choices
301 Moved Permanently
302 Found
303 See Other (since HTTP/1.1)
304 Not Modified (RFC 7232)
305 Use Proxy (since HTTP/1.1)
306 Switch Proxy
307 Temporary Redirect (since HTTP/1.1)
308 Permanent Redirect (RFC 7538)

http 5

4xx Client errors

400 Bad Request
401 Unauthorized (RFC 7235)
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
407 Proxy Authentication Required (RFC 7235)
408 Request Timeout
409 Conflict
410 Gone
411 Length Required
412 Precondition Failed (RFC 7232)
413 Payload Too Large (RFC 7231)

414 URI Too Long (RFC 7231)
415 Unsupported Media Type
416 Range Not Satisfiable (RFC 7233)
417 Expectation Failed
418 I’m a teapot (RFC 2324)
421 Misdirected Request (RFC 7540)
422 Unprocessable Entity (WebDAV; RFC 4918)
423 Locked (WebDAV; RFC 4918)
424 Failed Dependency (WebDAV; RFC 4918)
426 Upgrade Required
428 Precondition Required (RFC 6585)
429 Too Many Requests (RFC 6585)
431 Request Header Fields Too Large (RFC 6585)
451 Unavailable For Legal Reasons (RFC 7725)

5xx Server error

500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported
506 Variant Also Negotiates (RFC 2295)
507 Insufficient Storage (WebDAV; RFC 4918)
508 Loop Detected (WebDAV; RFC 5842)
510 Not Extended (RFC 2774)
511 Network Authentication Required (RFC 6585)