Google Developer Student Clubs

Web Development Workshop

Day 1

Basics Of HTTP
Client Server Architecture

URL

(Uniform Resource Locator)

URL is address of a resource on the World Wide Web

https://github.com/Tisheel

Domain

Protocol

Endpoint

HTTP

(Hyper Text Transfer Protocol)

Hypertext Transfer Protocol (HTTP) is an application-layer protocol for transmitting hypermedia documents, such as HTML. It was designed for communication between web browsers and web servers, but it can also be used for other purposes. HTTP follows a classical client-server model, with a client opening a connection to make a request, then waiting until it receives a response.

Client-Server Architecture

# Clients always initiate communication sessions with servers

How HTTP works ?

Client

Server

HTTP Request

HTTP Response

GET /home.html HTTP/1.1

Host: developer.mozilla.org
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1
If-Modified-Since: Mon, 18 Jul 2016 02:36:04 GMT

200 OK
Access-Control-Allow-Origin: *
Connection: Keep-Alive
Content-Encoding: gzip
Content-Type: text/html; charset=utf-8
Date: Mon, 18 Jul 2016 16:06:00 GMT
Last-Modified: Mon, 18 Jul 2016 02:36:04 GMT
Server: Apache

Request Header

<html>

<head>

         <title>Home</title>

</head>

<body>

         <h1>Hello World</h1>

</body>

</html>

Response Header

HTTP Methods HTTP Status Code
GET - retrieve data from server 100 - 199 information responses
POST - submit data to server 200 - 299 successful responses
PUT - save data to location 400 - 499 client error responses
DELETE - delete data from location 500 - 599 server error responses

HTTPS (HyperText Transfer Protocol Secure)

Hypertext Transfer Protocol Secure (HTTPS) is an extension of the HyperText Transfer Protocol (HTTP). It uses encryption for secure communication over a network, and is widely used on the internet. In HTTPS, the communication protocol is encrypted using Transport Layer Security (TLS) or Secure Sockets Layer (SSL).

https://github.com/Tisheel

20.207.73.82

ROUTER

Domain Ip Address
github.com 20.207.73.82
rnsit.ac.in 45.113.122.159
... ...

Domain Name Server (DNS)

20.207.73.82:443

TCP/IP 

Transmission Control Protocol/Internet Protocol (TCP/IP) is a networking protocol that allows two computers to communicate.

Sender

Sender

Receiver

Data Segments

Data Segments

IP

TCP

TCP

URL

By Tisheel Bashyam