HTTP
EVOLUTION OF HTTP
What is HTTP?
The Hypertext Transfer Protocol (HTTP); is the foundation of the World Wide Web, and is used to
load webpages using hypertext links.
WHAT IS HYPERTEXT LINK?
Hypertext is a link involving text is a feature of some computer programs that allows the user of an
electronic media to select a word from the text and receive additional information pertaining to that
word, such as a definition or any related references within the text. for example; if you were to click
here you will land on my profile and many other articles.
Evolution of HTTP
Evolution means; the gradual process to upgrade or the
gradual development of something.
HTTP (Hypertext Transfer Protocol) was developed by
Tim Berners-Lee and his team between 1989-1991
and HTTP has gone through many changes that have
helped maintain its simplicity while shaping its
flexibility
HTTP 0.9
The initial version of HTTP had no version number; it was later called 0.9 to differentiate it from
later versions. HTTP 0.9 was extremely simple requests consisted of a single line and started with
the only possible method GET followed by the path to the resource. This version has no HTTP
headers (cannot transfer other content type files), No status/error codes, No URLs, No versioning.
http
GET /mypage.html
HTTP/1.0;
The initial version of the Hypertext Transfer Protocol,
played a role in shaping the way computers communicate
and share data across the internet. In this version,
communication between clients (like web browsers) and
servers follows a straightforward request-response model. A
client sends a request to a server, asking for specific
information, and the server responds by providing the
requested data. This version Introduced methods like Get,
Post and delete etc.
How the HTTP/1.0 Works
Client Request: The process begins when a client sends an HTTP request to a server. This request includes the desired
resource, usually identified by a URL (Uniform Resource Locator), and an HTTP method, such as GET, POST, or
HEAD. The method indicates the type of action the client wants to perform on the resource.
Server Response: Upon receiving the request, the server processes it and generates an HTTP response. The response
includes a status line indicating the outcome of the request (e.g., 200 OK for a successful response or 404 Not Found if
the requested resource is unavailable).
Data Transfer: If the request is successful, the server includes the requested data in the response message. This data
can be in various formats, such as HTML, images, text, or other media files.
CONTINUATION.
Connection Closure: In HTTP/1.0, after the server sends the response, the connection between the client
and server is closed. This means that for each subsequent request, a new connection needs to be established,
adding overhead and latency to the communication process.
No Persistent Connections: One of the key features of HTTP/1.0 is the absence of persistent connections.
This means that every time a client wants to fetch another resource from the server, a new TCP (means
Transmission Control Protocol, is a communications standard for delivering data and messages through
networks.) connection must be established and then closed once the response is received. This constant
opening and closing of connections can lead to slower performance, especially when multiple resources need
to be fetched for a single web page.
Limitations;
However, HTTP/1.0 faced certain limitations that affected its performance and efficiency. One of
the major drawbacks was the absence of persistent connections. Every time a client needed
information from a server, a new connection was established, and after receiving the data, the
connection was closed. This constant opening and closing of connections led to delays in data
transfer and slower overall performance.
Examples; Imagine this scenario in a real-life context: you visit a cafe, order one item at a time,
receive your order, and then immediately leave the cafe before ordering anything else. This
repetitive process could lead to a less efficient experience for both the cafe staff and the customers.
HTTP/1.1: A Step Forward
HTTP/1.1 marked a significant advancement in web communication, introducing several improvements over its
predecessor, HTTP/1.0. One of the key enhancements in HTTP/1.1 was the introduction of persistent connections,
allowing multiple requests and responses to be sent over the same TCP connection. This reduced the overhead of
establishing new connections for each request, resulting in faster data transfer and improved performance.
Another valuable feature introduced in HTTP/1.1 was pipelining. With pipelining, clients could send multiple
requests without waiting for each response. This concurrent processing of requests reduced the impact of head-of-
line blocking, enabling resources to be fetched more efficiently, especially when a webpage required multiple
elements to load, such as images, stylesheets, and scripts.
Additionally, HTTP/1.1 brought support for the Host header, allowing servers to host multiple websites on the
same IP address. This capability became essential as the number of websites on the internet grew rapidly,
requiring better organization and resource allocation
HTTP/2: Revolutionizing Web Communication.
One of the key features of HTTP/2 is multiplexing, which
allows multiple requests and responses to be sent over a
single TCP connection concurrently. This means that the
client can request multiple resources from the server
simultaneously, eliminating the need for multiple connections
and reducing latency. Imagine it like a single delivery truck
carrying various packages to your doorstep in one trip,
making the process much faster and efficient.
How the HTTP/2.0 Protocol Works
 Establishing the Connection: The process begins by establishing a single TCP connection between the client (e.g., a web browser) and the server.
 HTTP/2 Handshake: During the connection establishment, the client and server perform an HTTP/2 handshake to negotiate the version and
settings of the protocol.
 Sending Multiple Requests Concurrently: Once the HTTP/2 connection is established, the client can send multiple HTTP requests to the server
concurrently over the same connection. Each request is assigned a unique stream identifier to distinguish it from other requests.
 Stream Prioritization: In HTTP/2, requests can be assigned priority levels to determine their order of processing. This helps to optimize the
delivery of critical resources, ensuring that important elements of a web page are loaded first.
 Server Push: The server can proactively push resources to the client before the client explicitly requests them. This is achieved by associating
pushed resources with the main resource requested by the client. For example, when the client requests an HTML file, the server can also push
related CSS and JavaScript files to the client.
 Multiplexing and Parallel Processing: Unlike HTTP/1.1, where requests were processed sequentially, in HTTP/2, multiple requests are
processed in parallel over a single TCP connection. This allows for more efficient utilization of the available network resources and reduces the
time required to fetch all the necessary resources for a web page.
CONTINUATION
Server Responses: As the server receives the requests, it processes them and sends the corresponding responses back to
the client. Each response is associated with the stream identifier of the respective request.
Stream Prioritization for Responses: Similar to requests, responses can also be assigned priority levels to determine their
order of delivery. This helps ensure that critical content reaches the client as quickly as possible.
Handling the Responses: The client receives the responses from the server and processes the data sent in the response
bodies.
Connection Closure (Optional): In HTTP/2, the connection can remain open for future requests and responses, reducing
the overhead of establishing new connections. However, if required, the connection can be closed after the request-
response cycle is complete.
CONTINUATION
Compared to HTTP/1.1, HTTP/2 offers faster and more
efficient data transfer, leading to improved user experiences.
With fewer connections, reduced latency, and optimized
resource delivery, web pages load quicker, and users can
interact with web applications more responsively. These
advantages led to the widespread adoption of HTTP/2 by
major web browsers and servers, driving the transformation
of web communication and shaping a faster, more efficient
internet experience for users worldwide.
How the HTTP/3.0 Protocol Works
Establishing the Connection: The process begins with the client (e.g., a web browser) initiating a connection to the server using
QUIC over UDP. This connection is established with the server’s IP address and port number, allowing for direct communication.
HTTP/3 Handshake: During the connection establishment, the client and server perform an HTTP/3 handshake to agree on the
version and settings of the protocol.
Request and Response Multiplexing: Once the HTTP/3 connection is established, the client can send multiple HTTP requests to the
server concurrently over the same connection. Similarly, the server can respond to these requests concurrently. This is made possible by
the built-in multiplexing feature in QUIC, which improves the efficiency of data transfer.
Stream Prioritization: In HTTP/3, requests and responses are associated with stream identifiers, allowing them to be assigned priority
levels for processing. Stream prioritization ensures that critical resources are delivered to the client first, optimizing the rendering of
web pages.
CONTINUATION

Server Push: Similar to HTTP/2, HTTP/3 also supports server push. The server can proactively push resources
to the client before the client explicitly requests them. This feature reduces the need for additional round-trip
requests, leading to faster page loading times.

Data Encryption and Security: All communication in HTTP/3 is encrypted by default, thanks to the built-in
support for TLS. This ensures that data exchanged between the client and server remains private and secure.
Handling the Responses: The client receives the responses from the server and processes the data sent in the
response bodies.
Connection Closure (Optional): HTTP/3 connections can remain open for future requests and responses,
reducing the overhead of establishing new connections. However, if required, the connection can be closed after
Key Trends in HTTP Evolution
Performance: Each new version has aimed to reduce latency, improve throughput, and make web
applications faster.
Security: Modern versions (HTTP/2, HTTP/3) emphasize encrypted communication.
Resilience: HTTP/3, by moving to QUIC and UDP, improves performance over unreliable networks, which
is crucial for mobile users.
Flexibility and extensibility: HTTP has evolved to accommodate various types of content and services, from
simple websites to complex web applications and APIs.

HTTP Presentation(What exactly is http).pptx

  • 1.
  • 2.
    What is HTTP? TheHypertext Transfer Protocol (HTTP); is the foundation of the World Wide Web, and is used to load webpages using hypertext links. WHAT IS HYPERTEXT LINK? Hypertext is a link involving text is a feature of some computer programs that allows the user of an electronic media to select a word from the text and receive additional information pertaining to that word, such as a definition or any related references within the text. for example; if you were to click here you will land on my profile and many other articles.
  • 3.
    Evolution of HTTP Evolutionmeans; the gradual process to upgrade or the gradual development of something. HTTP (Hypertext Transfer Protocol) was developed by Tim Berners-Lee and his team between 1989-1991 and HTTP has gone through many changes that have helped maintain its simplicity while shaping its flexibility
  • 4.
    HTTP 0.9 The initialversion of HTTP had no version number; it was later called 0.9 to differentiate it from later versions. HTTP 0.9 was extremely simple requests consisted of a single line and started with the only possible method GET followed by the path to the resource. This version has no HTTP headers (cannot transfer other content type files), No status/error codes, No URLs, No versioning. http GET /mypage.html
  • 5.
    HTTP/1.0; The initial versionof the Hypertext Transfer Protocol, played a role in shaping the way computers communicate and share data across the internet. In this version, communication between clients (like web browsers) and servers follows a straightforward request-response model. A client sends a request to a server, asking for specific information, and the server responds by providing the requested data. This version Introduced methods like Get, Post and delete etc.
  • 6.
    How the HTTP/1.0Works Client Request: The process begins when a client sends an HTTP request to a server. This request includes the desired resource, usually identified by a URL (Uniform Resource Locator), and an HTTP method, such as GET, POST, or HEAD. The method indicates the type of action the client wants to perform on the resource. Server Response: Upon receiving the request, the server processes it and generates an HTTP response. The response includes a status line indicating the outcome of the request (e.g., 200 OK for a successful response or 404 Not Found if the requested resource is unavailable). Data Transfer: If the request is successful, the server includes the requested data in the response message. This data can be in various formats, such as HTML, images, text, or other media files.
  • 7.
    CONTINUATION. Connection Closure: InHTTP/1.0, after the server sends the response, the connection between the client and server is closed. This means that for each subsequent request, a new connection needs to be established, adding overhead and latency to the communication process. No Persistent Connections: One of the key features of HTTP/1.0 is the absence of persistent connections. This means that every time a client wants to fetch another resource from the server, a new TCP (means Transmission Control Protocol, is a communications standard for delivering data and messages through networks.) connection must be established and then closed once the response is received. This constant opening and closing of connections can lead to slower performance, especially when multiple resources need to be fetched for a single web page.
  • 8.
    Limitations; However, HTTP/1.0 facedcertain limitations that affected its performance and efficiency. One of the major drawbacks was the absence of persistent connections. Every time a client needed information from a server, a new connection was established, and after receiving the data, the connection was closed. This constant opening and closing of connections led to delays in data transfer and slower overall performance. Examples; Imagine this scenario in a real-life context: you visit a cafe, order one item at a time, receive your order, and then immediately leave the cafe before ordering anything else. This repetitive process could lead to a less efficient experience for both the cafe staff and the customers.
  • 9.
    HTTP/1.1: A StepForward HTTP/1.1 marked a significant advancement in web communication, introducing several improvements over its predecessor, HTTP/1.0. One of the key enhancements in HTTP/1.1 was the introduction of persistent connections, allowing multiple requests and responses to be sent over the same TCP connection. This reduced the overhead of establishing new connections for each request, resulting in faster data transfer and improved performance. Another valuable feature introduced in HTTP/1.1 was pipelining. With pipelining, clients could send multiple requests without waiting for each response. This concurrent processing of requests reduced the impact of head-of- line blocking, enabling resources to be fetched more efficiently, especially when a webpage required multiple elements to load, such as images, stylesheets, and scripts. Additionally, HTTP/1.1 brought support for the Host header, allowing servers to host multiple websites on the same IP address. This capability became essential as the number of websites on the internet grew rapidly, requiring better organization and resource allocation
  • 10.
    HTTP/2: Revolutionizing WebCommunication. One of the key features of HTTP/2 is multiplexing, which allows multiple requests and responses to be sent over a single TCP connection concurrently. This means that the client can request multiple resources from the server simultaneously, eliminating the need for multiple connections and reducing latency. Imagine it like a single delivery truck carrying various packages to your doorstep in one trip, making the process much faster and efficient.
  • 11.
    How the HTTP/2.0Protocol Works  Establishing the Connection: The process begins by establishing a single TCP connection between the client (e.g., a web browser) and the server.  HTTP/2 Handshake: During the connection establishment, the client and server perform an HTTP/2 handshake to negotiate the version and settings of the protocol.  Sending Multiple Requests Concurrently: Once the HTTP/2 connection is established, the client can send multiple HTTP requests to the server concurrently over the same connection. Each request is assigned a unique stream identifier to distinguish it from other requests.  Stream Prioritization: In HTTP/2, requests can be assigned priority levels to determine their order of processing. This helps to optimize the delivery of critical resources, ensuring that important elements of a web page are loaded first.  Server Push: The server can proactively push resources to the client before the client explicitly requests them. This is achieved by associating pushed resources with the main resource requested by the client. For example, when the client requests an HTML file, the server can also push related CSS and JavaScript files to the client.  Multiplexing and Parallel Processing: Unlike HTTP/1.1, where requests were processed sequentially, in HTTP/2, multiple requests are processed in parallel over a single TCP connection. This allows for more efficient utilization of the available network resources and reduces the time required to fetch all the necessary resources for a web page.
  • 12.
    CONTINUATION Server Responses: Asthe server receives the requests, it processes them and sends the corresponding responses back to the client. Each response is associated with the stream identifier of the respective request. Stream Prioritization for Responses: Similar to requests, responses can also be assigned priority levels to determine their order of delivery. This helps ensure that critical content reaches the client as quickly as possible. Handling the Responses: The client receives the responses from the server and processes the data sent in the response bodies. Connection Closure (Optional): In HTTP/2, the connection can remain open for future requests and responses, reducing the overhead of establishing new connections. However, if required, the connection can be closed after the request- response cycle is complete.
  • 13.
    CONTINUATION Compared to HTTP/1.1,HTTP/2 offers faster and more efficient data transfer, leading to improved user experiences. With fewer connections, reduced latency, and optimized resource delivery, web pages load quicker, and users can interact with web applications more responsively. These advantages led to the widespread adoption of HTTP/2 by major web browsers and servers, driving the transformation of web communication and shaping a faster, more efficient internet experience for users worldwide.
  • 14.
    How the HTTP/3.0Protocol Works Establishing the Connection: The process begins with the client (e.g., a web browser) initiating a connection to the server using QUIC over UDP. This connection is established with the server’s IP address and port number, allowing for direct communication. HTTP/3 Handshake: During the connection establishment, the client and server perform an HTTP/3 handshake to agree on the version and settings of the protocol. Request and Response Multiplexing: Once the HTTP/3 connection is established, the client can send multiple HTTP requests to the server concurrently over the same connection. Similarly, the server can respond to these requests concurrently. This is made possible by the built-in multiplexing feature in QUIC, which improves the efficiency of data transfer. Stream Prioritization: In HTTP/3, requests and responses are associated with stream identifiers, allowing them to be assigned priority levels for processing. Stream prioritization ensures that critical resources are delivered to the client first, optimizing the rendering of web pages.
  • 15.
    CONTINUATION  Server Push: Similarto HTTP/2, HTTP/3 also supports server push. The server can proactively push resources to the client before the client explicitly requests them. This feature reduces the need for additional round-trip requests, leading to faster page loading times.  Data Encryption and Security: All communication in HTTP/3 is encrypted by default, thanks to the built-in support for TLS. This ensures that data exchanged between the client and server remains private and secure. Handling the Responses: The client receives the responses from the server and processes the data sent in the response bodies. Connection Closure (Optional): HTTP/3 connections can remain open for future requests and responses, reducing the overhead of establishing new connections. However, if required, the connection can be closed after
  • 16.
    Key Trends inHTTP Evolution Performance: Each new version has aimed to reduce latency, improve throughput, and make web applications faster. Security: Modern versions (HTTP/2, HTTP/3) emphasize encrypted communication. Resilience: HTTP/3, by moving to QUIC and UDP, improves performance over unreliable networks, which is crucial for mobile users. Flexibility and extensibility: HTTP has evolved to accommodate various types of content and services, from simple websites to complex web applications and APIs.