কম্পিউটার টিউটোরিয়াল

JSP প্রসঙ্গে HTTP হেডার সহজ ভাষায় ব্যাখ্যা


যখন একটি ওয়েব সার্ভার HTTP রিকোয়েস্টের রেসপন্স দেয়, রেসপন্সটি সাধারণত একটি স্ট্যাটাস লাইন, কিছু রেসপন্স হেডার, একটি ব্ল্যাঙ্ক লাইন এবং ডকুমেন্ট ধারণ করে। একটি টিপিক্যাল রেসপন্স দেখতে এরকম:

HTTP/1.1 200 OK
Content-Type: text/html
Header2: ...
...
HeaderN: ...
(Blank Line)
<!doctype ...> <html> <head>...</head> <body> ... </body> </html>

স্ট্যাটাস লাইন তিনটি অংশ দিয়ে গঠিত: HTTP ভার্সন (HTTP/1.1 উদাহরণে), স্ট্যাটাস কোড (200 উদাহরণে), এবং স্ট্যাটাস কোডের সাথে মিলে যাওয়া একটি সংক্ষিপ্ত মেসেজ (OK উদাহরণে)।

নিচে HTTP 1.1 রেসপন্স হেডারগুলোর সারসংক্ষেপ দেওয়া হলো যা ওয়েব সার্ভার থেকে ব্রাউজার側ে ফেরত পাঠানো হয়। এই হেডারগুলো ওয়েব প্রোগ্রামিং-এ ঘন ঘন ব্যবহৃত হয়:

ক্রমিক নংহেডার ও বর্ণনা
1Allow
এই হেডার সার্ভার যে রিকোয়েস্ট মেথডগুলো (GET, POST ইত্যাদি) সাপোর্ট করে সেটি স্পেসিফাই করে।
2Cache-Control
রেসপন্স ডকুমেন্ট কখন সফলভাবে ক্যাশে করা যাবে সেটি স্পেসিফাই করে। মান হতে পারে public, private বা no-cache ইত্যাদি। Public মানে ডকুমেন্ট ক্যাশে করা যাবে, Private মানে ডকুমেন্ট একক ইউজারের জন্য এবং শুধু প্রাইভেট (নন-শেয়ার্ড) ক্যাশে স্টোর করা যাবে, no-cache মানে ডকুমেন্ট কখনো ক্যাশে করা উচিত নয়।
3Connection
ব্রাউজারকে নির্দেশ দেয় পারসিস্টেন্ট HTTP কানেকশন ব্যবহার করতে হবে কিনা। close ভ্যালু ব্রাউজারকে পারসিস্টেন্ট কানেকশন ব্যবহার না করার নির্দেশ দেয় এবং keep-alive মানে পারসিস্টেন্ট কানেকশন ব্যবহার করা।
4Content-Disposition
ব্রাউজারকে অনুরোধ করতে দেয় ইউজারকে রেসপন্স ডিস্কে সেভ করার জন্য দেওয়া নামে একটি ফাইলে।
5Content-Encoding
ট্রান্সমিশনের সময় পেজটি কীভাবে এনকোড করা হয়েছিল সেটি স্পেসিফাই করে।
6Content-Language
ডকুমেন্ট কোন ভাষায় লেখা হয়েছে সেটি ইন্ডিকেট করে। উদাহরণ: en, en-us, ru ইত্যাদি।
7Content-Length
রেসপন্সে কত বাইট আছে সেটি ইন্ডিকেট করে। এই ইনফরমেশন শুধু প্রয়োজন হয় যদি ব্রাউজার পারসিস্টেন্ট (keep-alive) HTTP কানেকশন ব্যবহার করে।
8Content-Type
রেসপন্স ডকুমেন্টের MIME (Multipurpose Internet Mail Extension) টাইপ দেয়।
9Expires
কন্টেন্ট কখন আউট-অফ-ডেট বিবেচিত হবে এবং তখন আর ক্যাশে করা যাবে না সেটি স্পেসিফাই করে।
10Last-Modified
ডকুমেন্ট কখন শেষ পরিবর্তন হয়েছিল সেটি ইন্ডিকেট করে। ক্লায়েন্ট ডকুমেন্ট ক্যাশে করতে পারে এবং ল্যাটার রিকোয়েস্টে If-Modified-Since রিকোয়েস্ট হেডার দিয়ে ডেটা সাপ্লাই করতে পারে।
11Location
300s স্ট্যাটাস কোড থাকা সব রেসপন্সের সাথে এই হেডার থাকা উচিত। এটি ব্রাউজারকে ডকুমেন্ট অ্যাড্রেস নোটিফাই করে। ব্রাউজার অটোমেটিক্যালি এই লোকেশনে রিকানেক্ট করে এবং নতুন ডকুমেন্ট রিট্রিভ করে।
12Refresh
ব্রাউজার কতক্ষণ পর আপডেটেড পেজের জন্য রিকোয়েস্ট করবে সেটি স্পেসিফাই করে। সেকেন্ডে সময় নির্দিষ্ট করা যায়।
13Retry-After
এই হেডার 503 (Service Unavailable) রেসপন্সের সাথে ব্যবহার করা যায় ক্লায়েন্টকে বলতে কতক্ষণ পর রিকোয়েস্ট রিপিট করতে পারবে।
14Set-Cookie
পেজের সাথে যুক্ত একটি কুকি স্পেসিফাই করে।

  1. JSP লাইফসাইকেল ব্যাখ্যা

  2. JSP পেজ কীভাবে কাজ করে? JSP আর্কিটেকচার সহজ ভাষায়

  3. জাভাতে JTable-এ টেবিল হেডার শো/হাইড করা

  4. পাইথন CGI স্ক্রিপ্টে সকল HTTP হেডার কীভাবে পড়বেন?