URL (UNIFORM RESOURCE LOCATOR) - The address of a World Wide Web page
WWW - the universe of network-accessible information, an embodiment of human knowledge.
Internet - A global collection of computer networks that are linked together by routers and use a common set of protocols for data transmission known as TCP/IP
How does it work?
Browser - A software on your computer that allows you to access the World Wide Web
How does it work?
How does A Browser work?
Resource Gathering - fetching all the assets
Parse HTML & Create DOM tree
Create Render Tree from DOM Tree - applying styles
Layout - Position and give size (boxes)
Painting - using UI backend - (overlapping happens here)
Client Server Architecture
DNS
The Domain Name System
Used to resolve human-readable hostnames like www.example.com into machine-readable IP addresses like 93.184.216.34
When you visit a domain, your computer follows a series of steps to turn the human-readable web address into a machine-readable IP address.
Steps
Step 1: Request information
Step 2: Ask the recursive DNS servers
Step 3: Ask the root nameservers
Step 4: Ask the TLD nameservers
Step 5: Ask the authoritative DNS servers
Step 6: Retrieve the record
Step 7: Receive the answer
Ports & Sockets
The network port identifies the application or service running on the computer.
A port number is a 16-bit unsigned integer, thus ranging from 0 to 65535.
The use of ports allows computers/devices to run multiple services/applications.
A socket is the combination of IP address plus port. A connection between two computers uses a socket.
Network Protocols
Web Vs Application Server
A Web server exclusively handles HTTP requests, whereas an application server serves business logic to application programs through any number of protocols.
Web Server is mostly designed to serve static content, though most Web Servers have plugins to support scripting languages like Perl, PHP, ASP, JSP etc.
HTTP
Follows Client-server Model
It's an Application layer protocol - HTTP uses TCP as its transport layer protocol
Stateless protocol - one request is not dependent on any other request
HTTP methods - GET / POST
Supports Headers (Request and Response Headers)
Content-Type - text, image etc.
Cache-Control
WWW-Authenticate
Status Codes
OK - 200
Not Found - 404
Unauthorised - 401
Unprocessable Entity - 422
Internal Server Error - 500
Session & Cookies
A cookie is a small piece of text stored on a user's computer by their browser. Common uses for cookies are authentication, storing of site preferences, shopping cart items, and server session identification.
A cookie is a great way of linking one page to the next for a user's interaction with a web site or web application.
A session can be defined as a server-side storage of information that is desired to persist throughout the user's interaction with the web site or web application.
A session id is passed to the web server every time the browser makes an HTTP request (ie a page link or AJAX request).