The World Wide Web
The World Wide Web [WWW] is a vast information system that allows documents and other web resources to be accessed via the Internet.
It was invented by Sir Tim Berners-Lee in 1989 while he was working at CERN (European Organization for Nuclear Research).
The WWW operates based on three key technologies: Hypertext, Uniform Resource Locators [URLs], and Hypertext Transfer Protocol [HTTP].
Key Components of the World Wide Web
Web Pages - Web pages are documents that can contain text, images, videos, and hyperlinks to other web pages.
They are written using HTML (Hypertext Markup Language), which defines the structure and layout of the content on the page.
Each web page is identified by a URL, which is the unique address that directs a browser to access the page.
Hypertext - Hypertext is the core feature of the web that enables linking between different web pages or resources.
Users can click on hyperlinks [embedded within web pages] to navigate seamlessly from one page to another, creating a network of interlinked documents.
Web Browsers - A web browser is a software application used to access and view web pages on the World Wide Web.
Popular browsers include Google Chrome, Mozilla Firefox, Microsoft Edge, and Safari.
Browsers interpret the HTML code of a web page and render it into human-readable content.
They also handle other technologies like CSS [Cascading Style Sheets] for styling and JavaScript for dynamic behavior.
Servers & Clients - The WWW follows a client-server model, where the web browser [client] sends a request for a web page,
and the web server responds by delivering the requested page.
Web servers host web pages and applications.
When a user requests a specific URL, the server delivers the corresponding resource back to the browser.
HTTP/HTTPS [Hypertext Transfer Protocol / Secure] - HTTP is the protocol that governs the communication between web browsers and servers.
It defines how requests are made and how responses are sent back.
HTTPS is the secure version of HTTP that encrypts the data exchanged between the browser and the server using SSL/TLS.
HTTP follows a simple request-response model:
The client sends an HTTP request to the server (e.g., requesting a web page).
The server processes the request and sends back a response [e.g., the HTML content of the web page].
URLs [Uniform Resource Locators] - A URL is the unique address used to access resources on the WWW It consists of:
Protocol (HTTP/HTTPS), Domain name [e.g., www.google.com], Path to the specific file or resource [e.g., www.google.com/maps].
URL vs URI - Understanding the Difference
URL [Uniform Resource Locator] and URI [Uniform Resource Identifier] are often used interchangeably,
but they have distinct meanings in web terminology.
URI is a broader concept that refers to any string of characters used to identify a resource,
whether it’s a web page, document, or any other object on the internet.
A URI can be further categorized into two types:
URL [Uniform Resource Locator] – This specifies the location of a resource along with how to access it [e.g., https://www.google.com].
URN [Uniform Resource Name] – This identifies a resource by name, independent of its location [e.g., urn:isbn:0451450523 for a book].
URL, on the other hand, is a specific type of URI that includes the protocol (like http or https)
and the location [domain or IPaddress] needed to access a resource.
In essence, every URL is a URI, but not every URI is a URL.
URLs are focused on "where" a resource is, while URIs may also focus on the resource's identity without specifying its location.
Status Code |
Action |
Description |
100 |
Continue |
The server has received the initial part of the request and is continuing to process the request. |
101 |
Switching Protocols |
The server has received a request to switch protocols and is acknowledging this with the client. |
102 |
Processing |
The server has received and is processing the request, but no response is available yet. |
103 |
Early Hints |
The server is sending some response headers before the final response, to give the client some information that can be used to optimize the request. |
200 |
OK |
The request has been successful, and the response body contains the requested information. |
201 |
Created |
The request has been successful, and a new resource has been created as a result. |
202 |
Accepted |
The request has been accepted for processing, but the processing has not been completed yet. |
203 |
Non-Authoritative Information |
The server is a proxy, and the response is coming from a different source, but is still considered valid. |
204 |
No Content |
The request has been successful, but there is no response body to return. |
205 |
Reset Content |
The request has been successful, and the client should reset its view of the resource. |
206 |
Partial Content |
The server is sending only part of the resource requested by the client. |
207 |
Multi-Status |
The response is a collection of separate responses, one for each resource in the request. |
208 |
Already Reported |
The members of a WebDAV binding have already been enumerated in a previous reply to this request, and are not being included again. |
226 |
IM Used |
The response is a representation of the result of one or more instance manipulations applied to the current instance. |
300 |
Multiple Choices |
The request has multiple possible responses, and the server is returning a list of options for the client to choose from. |
301 |
Moved Permanently |
The requested resource has been permanently moved to a new URL, and the client should update its bookmarks and links accordingly. |
302 |
Found |
The requested resource has been temporarily moved to a new URL, and the client should continue to use the original URL for future requests. |
303 |
See Other |
The response to the request can be found under a different URL, and the client should make a new request using the new URL. |
304 |
Not Modified |
The requested resource has not been modified since the client’s last request, and the server is returning the cached copy. |
305 |
Use Proxy |
The requested resource can only be accessed through a proxy, and the client should use the proxy to access the resource. |
306 |
Switch Proxy [Deprecated] |
This status code is no longer used. |
307 |
Temporary Redirect |
The requested resource has been temporarily moved to a new URL, and the client should continue to use the original URL for future requests. |
308 |
Permanent Redirect |
The requested resource has been permanently moved to a new URL, and the client should update its bookmarks and links accordingly. |
400 |
Bad Request |
The server was unable to understand the request due to invalid syntax. |
401 |
Unauthorized |
The request requires authentication, and the client has not provided valid. |
402 |
Payment Required |
This status code is reserved for future use. |
403 |
Forbidden |
The client does not have permission to access the requested resource. |
404 |
Not Found |
The requested resource could not be found on the server. |
405 |
Method Not Allowed |
The requested method is not supported for the requested resource. |
406 |
Not Acceptable |
The requested resource is not capable of generating a response that meets the requirements specified in the request’s headers. |
407 |
Proxy Authentication Required |
The client must first authenticate itself with the proxy |
408 |
Request Timeout |
The server timed out waiting for the request from the client. |
409 |
Conflict |
The request could not be completed due to a conflict with the current state of the resource. |
410 |
Gone |
The requested resource is no longer available on the server and there is no forwarding address. |
411 |
Length Required |
The server requires a Content-Length header to be included in the request. |
412 |
Precondition Failed |
The precondition given in the request header fields did not match the server’s preconditions. |
413 |
Payload Too Large |
The request is larger than the server is willing or able to process. |
414 |
URI Too Long |
The URI provided in the request is too long for the server to process. |
415 |
Unsupported Media Type |
The server does not support the media type specified in the request’s headers. |
416 |
Range Not Satisfiable |
The requested range cannot be returned by the server. |
417 |
Expectation Failed |
The expectation given in the request’s Expect header could not be met by the server. |
418 |
I’m a teapot |
This status code is a joke and not intended to be used in serious applications. |
421 |
Misdirected Request |
The request was directed at a server that is not able to produce a response. |
422 |
Unprocessable Entity |
The server understands the request, but is unable to process it due to semantic errors. |
423 |
Locked |
The requested resource is locked and the client should try again later. |
424 |
Failed Dependency |
The requested resource depends on another resource, and that resource failed to complete the request. |
426 |
Upgrade Required |
The client should switch to a different protocol, such as TLS/1.3. |
428 |
Precondition Required |
The server requires the request to be conditional, and the client did not provide the necessary precondition headers. |
429 |
Too Many Requests |
The user has sent too many requests in a given amount of time [“rate limiting”]. |
431 |
Request Header Fields Too Large |
The server is unwilling to process the request because its header fields are too large. |
451 |
Unavailable For Legal Reasons |
The requested resource is unavailable due to legal reasons, such as censorship or government-mandated blocked access. |
500 |
Internal Server Error |
The server encountered an unexpected condition that prevented it from fulfilling the request. |
501 |
Not Implemented |
The server does not support the functionality required to fulfil the request. |
502 |
Bad Gateway |
The server, while acting as a gateway or proxy, received an invalid response from an upstream server. |
503 |
Service Unavailable |
The server is currently unable to handle the request due to temporary overload or maintenance of the server. |
504 |
Gateway Timeout |
The server, while acting as a gateway or proxy, did not receive a timely response from an upstream server. |
505 |
HTTP Version Not Supported |
The server does not support the HTTP protocol version used in the request. |
506 |
Variant Also Negotiates |
Transparent content negotiation for the request results in a circular reference. |
507 |
Insufficient Storage |
The server is unable to store the representation needed to complete the request. |
508 |
Loop Detected |
The server detected an infinite loop while processing the request. |
510 |
Not Extended |
Further extensions to the request are required for the server to fulfill it. |
511 |
Network Authentication Required |
The client needs to authenticate to gain network access. |
The Evolution of the Web
Web 1.0 [Static Web] - Web 1.0 refers to the early days of the web [1990s], where websites were mostly static and served fixed content.
Interaction was limited to basic navigation, and there was no dynamic user interaction.
Web 2.0 [Dynamic and Social Web] - Around the early 2000s, the web evolved into Web 2.0,
characterized by user-generated content, dynamic web pages, and interactive applications.
Websites became more interactive, allowing users to engage with content, post comments, share media, and participate in social networks.
The rise of platforms like Facebook, YouTube, and Wikipedia exemplifies this shift.
Web 3.0 [Semantic Web] - Web 3.0 is the next phase, aiming to create a more intelligent, data-driven web.
It focuses on the Semantic Web, where data is structured in a way that computers can understand and process,
making information retrieval more efficient.
Key features include decentralized web applications [using blockchain technology], AI integration, and enhanced privacy controls.
Security and the Web
Security is a critical concern in the operation of the World Wide Web.
As more personal and sensitive information is shared online, ensuring secure data transmission and protecting user privacy is paramount.
Some common web security measures include:
Encryption with HTTPS - HTTPS secures the communication between clients and servers, protecting data from being intercepted by attackers.
It uses SSL/TLS certificates to authenticate websites and encrypt data.
Web Application Firewalls [WAF] - WAFs help protect web applications by filtering and monitoring HTTP traffic between a web application and the Internet,
blocking attacks such as SQL Injection and Cross-Site Scripting [XSS].
Content Delivery Networks [CDNs] - CDNs are used to distribute content across multiple servers,
improving load times and security by mitigating Distributed Denial of Service [DDoS] attacks, which aim to overwhelm web servers with excessive traffic.
Authentication and Access Control - Secure authentication methods such as OAuth and Two-Factor Authentication [2FA]
are widely used to protect user accounts from unauthorized access.
Data Privacy - In the era of Web 2.0 and Web 3.0, privacy has become a central issue.
Regulations like GDPR [General Data Protection Regulation] in Europe mandate stricter privacy controls and consent for data collection,
pushing websites to be more transparent about how user data is used.
The Future of the Web
The future of the WWW is expected to bring further advancements in technologies such as artificial intelligence, blockchain, and decentralized networks.
The concepts of Web 3.0, with its emphasis on enhanced user control, data privacy, and decentralized content delivery,
indicate that the web will continue to evolve to meet the changing needs of its users.
▲
▼