HTTP প্রোটোকল এর বেসিক কাহিনী!


TCP/IP

TCP = Transmission Control Protocol

IP = Internet Protocol

TCP/IP হলো একটা Protocol Suite.

TCP/IP = TCP + IP + more protocols ..

WWW ( World Wide Web ) এ Browser গুলা Server এর সাথে connect করার জন্য TCP use করে। HTTP, HTTPS, SMTP, FTP ইত্যাদি protocol গুলা তাদের কাজের জন্য TCP কে use করে।


HTTP (HyperText Transfer Protocol)

HTTP হলো একটা request-response stateless protocol যার মাধ্যমে Client এবং Server পরস্পর Communicate করতে পারে।

Client টা Server এর কাছে Request পাঠায় , Server সেইটার Response পাঠায়।

Request Message এর Format

Request Line 
Request Header fields
Empty Line 
An Optional Message Body

e.g.,

GET /index.html HTTP/1.1
Host : www.example.com 

Response Message এর Format

Status  Line 
Response Header Fields 
Empty Line 
An Optional Message Body

e.g.,

HTTP/1.1 200 OK

Header fields এর সম্পর্কে জানতে Wikipedia তে দেখুন

সুতরাং , আমরা যখন ব্রাউজার এ www.example.com/blog.php লিখে এন্টার করি, ব্রাউজার (Client) টা Server কে আসলে এরকম একটা request করে,

GET  /blog.php HTTP/1.1 
Host : www.example.com 

আর Server এর response টা এরকম,

HTTP/1.0 200 OK
Date: Tue, 26 May 2015 23:59:59 GMT
Content-Type: text/html
Content-Length: 1202 

<html>
<body>
  <h1>Blog</h1>
  content goes here 
</body>
</html>

HTTP Methods/Verbs

Resource এ কি টাইপের action করতে চাই সেটা indicate করার জন্য কিছু method আছে । common method গুলা হলো GET, POST, PUT, DELETE .


Status Codes

Informational : 1XX – request recieve হইসে, process চলসে ।

Successfull : 2XX – client এর request succssfully receive করা হইসে।

Redirectional : 3XX – Client এর extra কিছু করতে হবে, mostly redirected ।

Client Error : 4XX – Client কোন error করছে ।

Server Error : 5XX – Server এ কোন সমস্যা আছে।


HTTPS ( HyperText Transfer Protocol Secure )

HTTPS = HTTP + SSL (Secure Socket Layer)

এটা HTTP এর উপরে একটা Layer (SSL/TLS Protocol) দিয়ে বানানো যেটা HTTP Communication এ কিছু secuirity যোগ করে। এটার মেইন উদ্দেশ্য হলো Wiretapping আর Man-in-the-middle-attack থেকে protect করা।

HTTPS এ Server ও Client গুলা HTTP এর মতই communicate করে কিন্তু communication টা একটা Secure SSL connection এর উপরে হয় যেটা request এবং response টাকে encrypt/decrypt করে।

SSL টার mainly ২ টা কাজ

HTTPS এ header, message সবই encrypted থাকে।

কোন site কে যদি আমরা HTTPS use করে secure করতে চাই তাহলে পুরা site টাকেই HTTPS এ host করতে হবে। এমন না যে কিছু page এ শুধু করব।

Comments

comments powered by Disqus