The Internet protocol suite is conceptually divided into four layers:
Link layer: physical connectivity
Internet Layer: network-to-network
Transport Layer: host-to-host
Application Layer: process-to-process
Internet Layer:
Transport Layer:
Application Layer:
Domain Name System (DNS)
Hypertext Transfer Protocol (HTTP)
Transport Layer Security (TLS)
The Internet Protocol (IP) performs two basic functions:
Host addressing and identification
Packet routing
IP packets may be lost, duplicated, or arrive out-of-order
The Transmissions Control Protocol (TCP) provides a reliable communication mechanism on top of IP
The main points of TCP data transfer:
ordered data
retransmission of lost packets
error-free data transfer
flow control
congestion control
The Domain Name System (DNS) maps internet domain names to IP addresses
A domain name locates an entity on the internet using a human-readable name
The IP address of a domain name is retrieved by querying a DNS name server
If the name is inside the server’s domain, then an authoritative response is returned
If the name is outside the server’s domain, then the request is made to another DNS name server or a cached response is returned
HTTP is a request-response protocol in the client-server computing model
Form of a request:
Request line: [request method] [resource] HTTP/1.1
empty line
optional message body
Form of a response:
Response line: HTTP/1.1 [status code] [reason message]
empty line
optional message body
Request:
GET /index.html HTTP/1.1
Host: www.example.com
Response:
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 79
<html>
<head><title>Title</title></head>
<body><h1>Example</h1></body>
</html
GET: requests a representation of the specified resource
HEAD: requests a representation of the specified resource without the message body
POST: requests that the server accept the data in the message body
PUT: requests that the server store the data in the message body under the specified URI
DELETE: requests that the server delete the resource
TRACE: echoes the received request
OPTIONS: returns the HTTP methods that the server supports for the specified URI
CONNECT: converts the request to a TCP/IP tunnel
PATCH: requests a partial modification to a resource
scheme:[//user:password@]host[:port]][/]path[?query][#fragment]
scheme: e.g. http, ftp, mailto, file
authority:
authentication: user name and password
host: name or IP address
port
path: contains data source
query: contains attribute-value pairs
fragment: contains fragment identifier providing direction to a secondary source