এখানে একটি সহজ লিঙ্ক, যেটি hello.py নামক একটি CGI স্ক্রিপ্টের সাথে যুক্ত। এই ফাইলটি /var/www/cgi-bin ডিরেক্টরিতে রাখা হয়েছে এবং এতে নিম্নলিখিত বিষয়বস্তু রয়েছে। আপনার CGI প্রোগ্রাম চালানোর আগে, নিশ্চিত করুন যে আপনি chmod 755 hello.py ব্যবহার করে ফাইলের মোড পরিবর্তন করেছেন। ফাইল এক্সিকিউটেবল করার জন্য ইউনিক্স কমান্ড।
উদাহরণ
#!/usr/bin/python print "Content-type:text/html\r\n\r\n" print '</html>' print '</head>' print '</title>Hello Word - First CGI Program<//title>' print '<//head>' print '</body>' print '</h2>Hello Word! This is my first CGI program<//h2>' print '<//body>' print '<//html>'
আউটপুট
আপনি যদি hello.py-এ ক্লিক করেন, তাহলে এটি নিম্নলিখিত আউটপুট তৈরি করে −
Hello Word! This is my first CGI program
এই hello.py স্ক্রিপ্টটি একটি সাধারণ পাইথন স্ক্রিপ্ট, যা STDOUT ফাইলে, অর্থাৎ স্ক্রিনে এর আউটপুট লেখে। একটি গুরুত্বপূর্ণ এবং অতিরিক্ত বৈশিষ্ট্য উপলব্ধ রয়েছে যা মুদ্রিত হওয়ার প্রথম লাইন কন্টেন্ট-টাইপ:টেক্সট/html\r\n\r\n . এই লাইনটি ব্রাউজারে ফেরত পাঠানো হয় এবং এটি ব্রাউজার স্ক্রিনে প্রদর্শিত সামগ্রীর ধরন নির্দিষ্ট করে৷
এতক্ষণে আপনি অবশ্যই CGI-এর মৌলিক ধারণা বুঝতে পেরেছেন এবং আপনি Python ব্যবহার করে অনেক জটিল CGI প্রোগ্রাম লিখতে পারেন। এই স্ক্রিপ্টটি RDBMS-এর মতো তথ্য আদান-প্রদানের জন্য অন্য কোনো বাহ্যিক সিস্টেমের সাথেও যোগাযোগ করতে পারে।
HTTP হেডার
লাইন Content-type:text/html\r\n\r\n হল HTTP হেডারের অংশ যা বিষয়বস্তু বোঝার জন্য ব্রাউজারে পাঠানো হয়। সমস্ত HTTP শিরোনাম নিম্নলিখিত আকারে থাকবে -
HTTP Field Name: Field Content
উদাহরণ
Content-type: text/html\r\n\r\n
আরও কিছু গুরুত্বপূর্ণ HTTP শিরোনাম রয়েছে, যেগুলি আপনি আপনার CGI প্রোগ্রামিং-এ প্রায়শই ব্যবহার করবেন।
Sr.No. | হেডার এবং বর্ণনা |
---|---|
1 | কন্টেন্ট-টাইপ: একটি MIME স্ট্রিং যে ফাইলের বিন্যাস ফেরত দেওয়া হচ্ছে তা নির্ধারণ করে। উদাহরণ হল Content-type:text/html |
2 | মেয়াদ শেষ:তারিখ তথ্যটি অবৈধ হয়ে যাওয়ার তারিখ। কোন পৃষ্ঠাকে কখন রিফ্রেশ করতে হবে তা নির্ধারণ করতে ব্রাউজার এটি ব্যবহার করে। একটি বৈধ তারিখ স্ট্রিং বিন্যাসে 01 জানুয়ারী 1998 12:00:00 GMT। |
3 | অবস্থান:URL অনুরোধ করা URL এর পরিবর্তে যে URLটি ফেরত দেওয়া হয়। আপনি যেকোন ফাইলে একটি অনুরোধ পুনঃনির্দেশ করতে এই ক্ষেত্রটি ব্যবহার করতে পারেন। |
4 | শেষ-সংশোধিত:তারিখ সম্পদের শেষ পরিবর্তনের তারিখ। |
5 | সামগ্রীর দৈর্ঘ্য:N দৈর্ঘ্য, বাইটে, ডেটা ফেরত দেওয়া হচ্ছে। একটি ফাইলের জন্য আনুমানিক ডাউনলোড সময় রিপোর্ট করতে ব্রাউজার এই মান ব্যবহার করে। |
6 | সেট-কুকি:স্ট্রিং স্ট্রিং এর মধ্য দিয়ে যাওয়া কুকি সেট করুন |