সার্ভার-সাইড প্রোগ্রামিং ভাষাগুলি কীভাবে অ্যাক্সেস করা হয় তার ব্যাখ্যা


45

এটি আমার বোঝা যায় যে কোনও সাধারণ উদ্দেশ্যমূলক প্রোগ্রামিং ভাষা কোনও ওয়েবসাইটের সার্ভার-সাইড বিকাশের জন্য ব্যবহার করা যেতে পারে।

আমি কি এই ভেবে ঠিক আছি যে সার্ভার এবং প্রোগ্রামিং ল্যাঙ্গুয়েজকে একসাথে কাজ করার জন্য কোনও সার্ভারের কেবল কিছু প্রকারের ইন্টারফেস যেমন সিজিআই প্রয়োজন? যদি তাই হয় তবে কেন কিছু প্রোগ্রামিং ভাষা (যেমন পিএইচপি) অন্যের চেয়ে বেশি জনপ্রিয়?


2
এটি অন্য কোনও প্রোগ্রামিং কাজের মতোই একই কারণ reason লোকেরা নতুন প্রোগ্রামিং ভাষা আবিষ্কার করে কারণ তারা বিদ্যমান ভাষা সম্পর্কে কিছু অপছন্দ করে। এবং অন্যরা পুরানোগুলি ব্যবহার করে রাখে কারণ তারা একই জিনিসগুলি অপছন্দ করে না - বা কমপক্ষে স্যুইচ করার পক্ষে যথেষ্ট নয়।
কিলিয়ান ফট

তাহলে আমি কি ঠিক বলতে পারি কিছু ভাষাগুলি, যেমন পিএইচপি, ওয়েব ডেভলপমেন্টকে মাথায় রেখে ডিজাইন করা হয়েছে এবং তাই সাধারণ অ্যাপ্লিকেশনগুলির জন্য এটি একটি সহজ (এবং তাই আরও জনপ্রিয়) বিকল্প?
ক্রিস ডান্স

29
পিএইচপি হ'ল আমি "অগভীর" ভাষা বলি। প্রাথমিক কাঠামোটি বোঝা সহজ, এবং এটি কয়েকশ ছোট ছোট ফাংশন রয়েছে যা দরকারী কিছু করে। সুতরাং এটি নতুনদের কাছে আবেদন করে। সি # এর মতো ভাষার সাথে তুলনা করুন যেখানে আপনাকে উত্তরাধিকার, অবজেক্ট ওরিয়েন্টেশন, টাইপ সুরক্ষা এবং অপেক্ষাকৃত জটিল লাইব্রেরির মতো উত্পাদনশীল হতে শিখতে হবে।
রবার্ট হার্ভে

4
যদি এমন কোন ইন্টারফেস হয়, তাহলে আপনি এখনও সার্ভার লিখতে পারেন মধ্যে ভাষা।
ব্যবহারকারী 253751

উত্তর:


75

ওয়েবের প্রথম দিনগুলিতে, গতিশীল বিষয়বস্তু থাকার জন্য সিজিআই আসলেই একমাত্র (ব্যবহারিক) উপায় ছিল (আপনি ফাইলগুলির নামযুক্ত পাইপগুলি করতে পারতেন - এবং সেগুলি সিজি এর আগের দিনগুলিতে ব্যবহৃত হত, তবে এটি মোটেই ব্যবহারিক ছিল না)।

সিজিআই প্রসেসের পরিবেশে এমন একগুচ্ছ তথ্য আটকে রেখে কাজ করে যা পরে কাঁটাচামচ করা হয় এবং তারপরে মৃত্যুদণ্ড কার্যকর করা হয় (এবং সম্ভবত কিছু স্টিডিনে থাকে) এবং তারপরে স্টাডআউট থেকে বেরিয়ে আসে এবং অনুরোধকারীর কাছে ফিরে আসে।

এটি প্রয়োগের ভাষা কী তা নিয়ে কিছুটা চিন্তা করে না। প্রকৃতপক্ষে, আমি আমার প্রারম্ভিক সিজিআইগুলি সেদিন আবার সি বা সি ++ এ লিখেছিলাম। এটি একরকম বেদনাদায়ক ছিল। আমি পরে 90 এর দশকের গোড়ার দিকে কিছু পার্ল শিখেছিলাম এবং এটি খুব কম বেদনাদায়ক ছিল।

এটি একটি পয়েন্ট অবধি কাজ করে। সমস্যা স্কেল হয়। প্রতিটি সিজিআই অনুরোধ একটি কাঁটাচামচ এবং একটি প্রক্রিয়া সম্পাদন করা হয়। হাজার হাজার অনুরোধ মানে হাজার হাজার প্রক্রিয়া। এটা সত্যিই ভাল কাজ করে না।

এর সমাধান হ'ল ওয়েব সার্ভারে নিজেই এটি একটি থ্রেডে স্থানান্তরিত করে কাঁটাচামচ করা এবং সম্পাদন করা, বা অন্য কোনও প্রক্রিয়াতে অনুরোধ প্রেরণ করা যা কাঁটাচামচ এবং সম্পাদন করার প্রয়োজন ছাড়াই অনুরোধটি পরিচালনা করে। mod_perl হ'ল এটির একটির একটি সরঞ্জাম (অ্যাপাচে প্যারেল সরানো একটি প্লাগইন)। পিএইচপি (90 এর দশকের শেষের দিকে) নিজেই ওয়েব সার্ভারে একটি প্লাগইন হিসাবে ভাষাটি কাঁটাচামচ করা এবং অতিক্রম করার পরিবর্তে এটি প্রয়োগ করে did এটি পার্ল-জাতীয় (যা প্রথম দিকের প্রভাবশালী ওয়েব প্রোগ্রামিং ভাষা ছিল) এবং পার্ল সিগিসকে ছাড়িয়ে যেতে পারে বলে এটি বেশ জনপ্রিয় হয়েছিল। 90 এর দশকের মাঝামাঝি সময়ে এই সময়কালের থেকে এখনও বেশ কিছুটা গতি রয়েছে - আরও এন্টারপ্রাইজ-গ্রেড অ্যাপ্লিকেশন সার্ভারগুলির পিছনে আরও আনুষ্ঠানিক ভাষাগুলি ধরে রাখা শুরু করার আগে। যদি আপনি চারপাশে খনন করেন,

এটি আমাদের কাছে অ্যাপ্লিকেশন সার্ভারগুলিতে নিয়ে আসে যেখানে অভ্যন্তরীণ থ্রেডগুলি তৈরি হয় (বা অন্যান্য পদ্ধতির - এটি সমস্ত কিছুর নয়) পুরো নতুন প্রক্রিয়াগুলির চেয়ে অনুরোধগুলি পরিচালনা করতে - যা স্কেল সাহায্য করতে পারে। বাহ্যিক প্রক্রিয়া হিসাবে এটি ফাস্টসিজিআইয়ের সাথে দেখা যেতে পারে এবং পরে অন্যান্য অ্যাপ্লিকেশন সার্ভারগুলির সাথে এটি প্রচলিত হয়ে ওঠে। নোট করুন যে এটির সাথে অ্যাপ্লিকেশন সার্ভার এবং ওয়েব সার্ভারের মধ্যে লাইনটি কিছুটা ঝাপসা হয়ে গেছে - প্রচলিত অ্যাপ্লিকেশন সার্ভারগুলি ওয়েব সার্ভার হিসাবে দ্বিগুণ হতে পারে, যদিও traditionalতিহ্যবাহী ওয়েব সার্ভারগুলি যেভাবে স্ট্যাটিক ফাইল আইও হ্যান্ডল করার জন্য অনুকূল ছিল না।

জেনেরিক অ্যাপ্লিকেশন সার্ভারটি সমাধানের পথও প্রশস্ত করেছে যেখানে জেনেরিক অ্যাপ্লিকেশন সার্ভারের পরিবর্তে , আপনি নিজেই অ্যাপ্লিকেশনটি এম্বেডড ওয়েব সার্ভার চালাচ্ছেন বা অন্যথায় পুরো স্থাপনা হিসাবে চলেছেন। এই পরিস্থিতিতে কেউ অ্যাপ্লিকেশন সার্ভারে একটি ওয়েব অ্যাপ্লিকেশন স্থাপন করে না - এটি কেবল নিজেই চলছে এবং অনুরোধগুলি পরিচালনা করছে। আবার, এই মডেলের লক্ষ্যটি হ'ল অ্যাপ্লিকেশনটির নতুন উদাহরণগুলি প্রবর্তনের ভারী মূল্য এড়ানো এবং পরিবর্তে অ্যাপ্লিকেশনটির ভিতরে থাকা অনুরোধগুলিকে অনেক হালকা ওজনের থ্রেড বা অনুরূপ পদ্ধতির সাহায্যে পরিচালনা করা handle

যদিও বিষয়টি এখানে - সমস্ত সমাধান কোনও উপায়ে, আকারে বা ফর্মের ঘাটতি। সিজিআই, যদিও সহজ স্কেল নিয়ে গুরুতর সমস্যা রয়েছে। ওয়েব সার্ভারগুলিতে প্লাগইনগুলি ওয়েব সার্ভারেই আবদ্ধ হয়ে যায় (অ্যাপাচি বনাম এনগিনেক্স বনাম আইআইএস বনাম ...) এবং ভাষার সাধারণ কার্যকারিতা হারাবে। মাইক্রোসফ্টের প্রযুক্তিগুলির নিজস্ব প্যারেড রয়েছে যা এটি প্রচার করতে চায়। এবং যদি আপনি একটি ভাষা জানেন তবে আপনি কি স্ট্যাকের বিভিন্ন অংশে (ক্লায়েন্ট এবং নোড.জেজে জাভাস্ক্রিপ্ট) আলাদা আলাদা ভাষা থাকার পরিবর্তে এতে প্রোগ্রামিং রাখবেন না?

এবং তাই, আপনি আজ পেয়েছেন। কিছু লোক জাভা স্ট্যাকে কাজ করে (স্কেলা এবং জঞ্জালটি অস্বাভাবিক নয়)। একটি সি # স্ট্যাকের অন্যরা। একটি জাভাস্ক্রিপ্ট স্ট্যাকের অন্যরা। এখানে বেশিরভাগ পিএইচপি স্ট্যাকস রয়েছে। প্রচুর অজগর আপনি এখনও কিছু পার্ল স্ট্যাক খুঁজে পেতে পারেন (এবং যদি আপনি কিছু নিম্ন ভলিউমের সাইটগুলি দেখেন তবে আপনি সিজিআইগুলি পাবেন)। ক্লাউড কম্পিউটিংয়ের মাধ্যমে, গুগল গো-কে একটি व्यवहार्य সার্ভার সাইড ওয়েব ভাষা হিসাবে প্রচার করেছে।

প্রত্যেকের এর সুবিধা, অসুবিধাগুলি, এর ফ্রেমওয়ার্ক এবং এর সার্ভার রয়েছে। এই চারপাশের প্রযুক্তিগুলির পরিবর্তনের সাথে সাথে এই ভাটাগুলির আপেক্ষিক জনপ্রিয়তা এবং প্রবাহিত হয়। তারা বিভিন্ন জিনিস ভাল করে।


আমি ঠিক এটিই খুঁজছিলাম। একটি বিস্তৃত এবং অপরিবর্তিত উত্তর। ধন্যবাদ!
ক্রিস ডান্স

1
"সমাধানটি হ'ল কাঁটাচামচ এবং সম্পাদনকারী চক্রটিকে ওয়েব সার্ভারে স্থানান্তর করা। অগত্যা নয়: ফাস্টসিজিআই, বিপরীত প্রক্সি হ'ল টার্গেটের ভাষা বা ওয়েব সার্ভার প্রয়োগের জন্য অ্যাপ্লিকেশন সার্ভারের সাথে সংযোগ স্থাপনের সুপরিচিত সমাধান যা তাদের কাজটি করার জন্য একটি নির্দিষ্ট-নির্দিষ্ট ক্রস-প্রক্রিয়া যোগাযোগ প্রোটোকল ব্যবহার করে।
ঝোমিনাল

1
@ ঝোমিনাল "প্রতিটি অনুরোধের জন্য একটি নতুন প্রক্রিয়া তৈরি করার পরিবর্তে, ফাস্টসিজিআই ধারাবাহিক অনুরোধগুলি পরিচালনা করতে অবিচ্ছিন্ন প্রক্রিয়াগুলি ব্যবহার করে These এই প্রক্রিয়াগুলি ওয়েব সার্ভার নয়, ফাস্টসিজিআই সার্ভারের মালিকানাধীন" " ( উত্স ) - এটি এর হৃদয়, এটি একটি অ্যাপ্লিকেশন সার্ভারটি করে। একটি অবিরাম প্রক্রিয়া যা একটি কাঁটাচামচ এবং সম্পাদন না করে অনুরোধগুলি পরিচালনা করে।

@ মিশেলটি: আপনি "ওয়েব সার্ভার" এবং "অ্যাপ্লিকেশন সার্ভার" ব্যবহার করছেন যেন শর্তগুলি বিনিময়যোগ্য হয় - এবং আপনার উত্তরে আপনি বেশিরভাগ অ্যাপাচি, এনজিনেক্স - বা জেনেরিক ওয়েব সার্ভার সফ্টওয়্যার উল্লেখ করতে "ওয়েব সার্ভার" ব্যবহার করেন কেবলমাত্র (তাদের মূল অংশে) সীমিত প্রোগ্রামযোগ্যতা রয়েছে।
ঝোমিনাল

1
আমি মনে করি না যে প্রতিটি অ্যাপ্লিকেশনকে তার নিজস্ব ওয়েবসার্ভার হিসাবে কেবল এক বা একাধিক এইচটিটিপি প্রক্সির দ্বারা সীমাবদ্ধ করে দেওয়া (এখন খুব সাধারণ) অনুশীলনের উল্লেখ করার পক্ষে এটি যথেষ্ট হয়েছে।
hobbs

19

হ্যাঁ, কোনও সাধারণ প্রোগ্রামিং ভাষা কোনও ওয়েবসাইটের সার্ভার-সাইড অংশ লেখার জন্য পরিবেশন করতে পারে।

যাইহোক, প্রোগ্রামিং ভাষার গুণাবলী, অন্যান্য বিষয়গুলির মতো এই বিষয়ে, সাধারণত এর জনপ্রিয়তায় অবদান রাখার অনেকগুলি কারণগুলির মধ্যে একটি।

উদাহরণস্বরূপ, আমি গণনা করি যে পিএইচপি ওয়েবসাইটগুলির জন্য জনপ্রিয় হয়ে উঠেছে কারণ:

  • কোনও স্থির ওয়েবসাইট থেকে পিএইচপি গতিশীল ওয়েবসাইটে আপগ্রেড করা অত্যন্ত সহজ - কেবল আপনার এইচটিএমএল ফাইলের ফাইল এক্সটেনশানটি প্রতিস্থাপন করুন, <?phpট্যাগটি শুরুতে রাখুন এবং সরবরাহিত পিএইচপি ইনস্টল করা আছে, আপনার একটি গতিশীল ওয়েব সাইট রয়েছে! বাকি কর্মপ্রবাহটি একটি স্ট্যাটিক ওয়েবসাইটের মতোই;
  • এই মোতায়েনের স্বাচ্ছন্দ্যের কারণে, ওয়েব হোস্টগুলি যে গতিশীল ওয়েব সাইটগুলির প্রস্তাব দিতে চেয়েছিল তারা পিএইচপি বেছে নিয়েছিল, এটি বেশ দ্রুত বহনকারী সার্ভার-সাইড প্ল্যাটফর্মটিকে দ্রুত তৈরি করেছে;
  • এটি সঠিক সময়ে সেই বাজারে উঠেছে;

এবং একবার পিএইচপি ব্যাপকভাবে মোতায়েন করা হয়েছিল, মোতায়েনের সেই প্রশস্ততা থেকে উপকার পাওয়ার জন্য পিএইচপি-তে আরও গুরুতর ওয়েব অ্যাপ্লিকেশনগুলি লেখা আকর্ষণীয় হয়ে ওঠে।

আরও সাধারণভাবে বলতে গেলে: ভাষা গ্রহণ প্রায়শই এই প্রশ্নের উত্তর সম্পর্কে:

  • আমি যা করতে চাই তা করা কতটা সহজ?
  • আমি যা করতে চাই তার ভাষা কতটা সমর্থিত?

7

আমি কি এই ভেবে ঠিক আছি যে সার্ভার এবং প্রোগ্রামিং ল্যাঙ্গুয়েজকে একসাথে কাজ করার জন্য কোনও সার্ভারের কেবল কিছু প্রকারের ইন্টারফেস যেমন সিজিআই প্রয়োজন?

প্রায়। আপনার একটি ওয়েব সার্ভারের দরকার যা HTTP অনুরোধগুলিতেও সাড়া দেওয়ার জন্য এমন এক ধরণের সফ্টওয়্যার রয়েছে software

কীভাবে একটি স্ট্যাটিক পৃষ্ঠা পরিবেশন করা হয় সে সম্পর্কে চিন্তা করুন। সার্ভারটি এইচটিটিপি অনুরোধটি পুনরুদ্ধার করে, এইচটিটিপি সার্ভারের কনফিগারেশনের উপর ভিত্তি করে ফাইল সিস্টেম থেকে অনুরোধকৃত দস্তাবেজটি সন্ধান করে এবং স্থির পৃষ্ঠাটি প্রদান করে।

সিজিআই আপনাকে ফাইল সিস্টেমে সিজি-বিন ফোল্ডার নির্ধারণ করার অনুমতি দিয়ে এই ধারণাটি প্রসারিত করে যেখানে এক্সিকিউটেবল বা স্ক্রিপ্টগুলি সংরক্ষণ করা যায়। আপনি যখন সিজিআইয়ের মাধ্যমে কোনও প্রোগ্রাম অ্যাক্সেস করেন, এইচটিটিপি সার্ভার প্রক্রিয়া বা স্ক্রিপ্টটি চালায় এবং স্ট্যাটিক ডকুমেন্টটি কেবল পরিবেশন না করে ক্লায়েন্টের কাছে স্ট্যান্ডার্ড আউটপুটটি পাস করে।

 If so then why are some programming languages (such as php) more popular than others?

পুরানো সিজিআই কাঠামো অনুরোধের বৃহত পরিমাণে ভাল স্কেল করে না। ওয়েবের জন্য বিভিন্ন প্রোগ্রামিং ভাষা এবং ফ্রেমওয়ার্ক বিভিন্ন কারণে বিদ্যমান এবং প্রত্যেকে আলাদা আলাদাভাবে কাজ করে। পিএইচপি এটি historicalতিহাসিক কারণে যেমন জনপ্রিয়, তেমনি এটি সিজিআইয়ের অবলম্বন না করে গতিশীল পৃষ্ঠাগুলি পরিবেশন করার প্রথম সহজ এবং সস্তা সমাধানগুলির মধ্যে একটি এবং এর ব্যাপক হোস্টিং সমর্থন ছিল। মাইক্রোসফ্ট চেনাশোনাগুলির মধ্যে এএসপি জনপ্রিয় ছিল কারণ এটি ভিবি বিকাশকারীদের দক্ষতাগুলি ওয়েবে স্থানান্তরিত করার অনুমতি দেয়। এএসপি.নেট (ওয়েব ফর্মগুলি) উইন্ডোজ ফর্ম বিকাশকারীদের, যাদের মধ্যে অনেকগুলি ভিবি কোডার ছিলেন তাদের ওয়েবে স্যুইচ করা খুব সহজ করে তুলেছিল।


3

যখন কোনও ব্রাউজার কোনও এইচটিটিপি অনুরোধ করে, তখন এটির মতো দেখাচ্ছে:

GET /search?q=cats HTTP/1.0
Host: www.google.com
Connection: close

… যাতে সার্ভারের এমন প্রতিক্রিয়া প্রেরণ করা উচিত যা দেখে মনে হচ্ছে:

HTTP/1.0 200 Success
Content-Type: text/html; charset=UTF-8
Content-Length: 1337

<!DOCTYPE html>
<html>
  <head><title>cats - Google Search</title>
  <body>
    <h1>About 415,000,000 results</h1>
    …
  </body>
</html>

কোন যথাযথ প্রতিক্রিয়া মাধ্যমে কোডের সার্ভারে চলমান একটি TCP সকেট থেকে অনুরোধ জন্য শোনা, অনুরোধ সার্চ, এবং জবাব দেওয়া যথেষ্ট হবে। একটি বোবা উপায় হ'ল শেল স্ক্রিপ্ট ব্যবহার করে যে কেউ টিসিপি পোর্ট 80 এর সাথে সংযোগ স্থাপন করে তার কাছে একটি ক্যান ডাবের প্রতিক্রিয়া আউট করা:

$ nc -l 8000 <<'RESPONSE'
HTTP/1.0 200 Success
Content-Type: text/html; charset=UTF-8
Content-Length: 1337

<!DOCTYPE html>
<html>
  <head><title>cats - Google Search</title>
  <body>
    <h1>About 415,000,000 results</h1>
    …
  </body>
</html>
RESPONSE

অবশ্যই, সেই কৌশলটি কেবল এইচটিটিপি প্রোটোকলের সাথে মেনে চলেছে ।

ক্যানড প্রতিক্রিয়া থেকে এক ধাপ উপরে এই সাধারণ পাইথন প্রোগ্রাম, যা http.serverপাইথন 3- এ লাইব্রেরি ব্যবহার করে ।

#!/usr/bin/python3

import http.server

class Handler(http.server.BaseHTTPRequestHandler):
    def do_GET(self):
        payload = '<!DOCTYPE html>... insert cats here ...'.encode('UTF-8')
        self.send_response(200)
        self.send_header('Content-Type', 'text/html; charset=UTF-8')
        self.send_header('Content-Length', len(payload))
        self.end_headers()
        self.wfile.write(payload)

http.server.HTTPServer(('', 80), Handler).serve_forever()

এইচটিটিপি সার্ভার যে কোনও ভাষায় লেখা যেতে পারে; যে শুধু একটি উদাহরণ। স্পষ্টতই, এই উদাহরণটি খুব প্রাথমিক কাজ। পে-লোডটি হার্ড-কোডেড - প্রোগ্রামটি অনুরোধের বিষয়বস্তুগুলি - ইউআরএল, ক্যোয়ারী স্ট্রিং, স্বীকৃতি-ভাষা শিরোলেখ ইত্যাদি পুরোপুরি উপেক্ষা করে আপনি অনুরোধের ভিত্তিতে অর্থবোধক প্রতিক্রিয়া তৈরি করতে কোড যুক্ত করতে পারেন, তবে তারপরে কোডটি খুব পাবেন জটিল। এছাড়াও, প্রোগ্রামাররা ওয়েব অ্যাপ্লিকেশন লেখার দিকে মনোনিবেশ করবে, এইচটিটিপি অনুরোধটি কীভাবে পরিচালনা করতে হবে তার বিশদ সম্পর্কে চিন্তা করার দরকার নেই।

আরও উপযুক্ত সমাধান হ'ল ওয়েব সার্ভার যেমন অ্যাপাচি এইচটিটিপিডি , আইআইএস , বা এনজিনেক্স ব্যবহার করা । একটি ওয়েব সার্ভার হ'ল একটি প্রোগ্রাম যা প্রাসঙ্গিক টিসিপি সকেটগুলিতে শোনায়, একাধিক অনুরোধ গ্রহণ করে (সম্ভবত একসাথে সম্ভবত), এবং অনুরোধ ইউআরএল, শিরোনাম এবং অন্যান্য নিয়মের উপর ভিত্তি করে প্রতিক্রিয়া কীভাবে উত্পন্ন করা যায় তা স্থির করে। আদর্শভাবে, অনেকগুলি বিবরণ, যেমন এসএসএল, অ্যাক্সেস নিয়ন্ত্রণ এবং সংস্থান সীমা কোডের পরিবর্তে কনফিগারেশনের মাধ্যমে নেওয়া হয়। বেশিরভাগ সময়, ওয়েব সার্ভার একটি প্রতিক্রিয়া তৈরি করে যা ফাইল সিস্টেমের ফাইলগুলি থেকে কেবলমাত্র সামগ্রী অন্তর্ভুক্ত করে।

গতিশীল সামগ্রীর জন্য, যদিও, প্রতিক্রিয়া উত্পন্ন করতে ওয়েব সার্ভারটি কিছু কোড সম্পাদন করতে কনফিগার করা যেতে পারে। এটি করার জন্য একটি পদ্ধতি সিজিআইয়ের সাথে রয়েছে - সার্ভারটি অনুরোধের ভিত্তিতে কিছু পরিবেশের ভেরিয়েবল সেট করে, একটি প্রোগ্রাম চালায় এবং এর ফলাফলটি টিসিপি সকেটে অনুলিপি করে। আরও কিছু পরিশীলিত সমাধান হতে পারে এমন একটি মডিউল যা অন্য একটি প্রোগ্রামিং ভাষায় কোডিং কোডের জন্য ওয়েব সার্ভারে সমর্থন যোগ করে (যেমন অ্যাপাচি-র জন্য মোড_এফপি )। তবুও আরেকটি বিকল্প হ'ল ওয়েব সার্ভারটিকে ওয়েব অ্যাপ্লিকেশন হিসাবে একই ভাষায় লিখতে হবে, সেক্ষেত্রে অনুরোধ প্রেরণ কেবল একটি ফাংশন কল। এটি হ'ল নোড.জেএস এবং জাভা সার্লেটলেট ইঞ্জিন যেমন অ্যাপাচি টমক্যাটের ক্ষেত্রে

প্রযুক্তির পছন্দটি সত্যই আপনার উপর নির্ভর করে এবং আপনি যে প্রোগ্রামিং ভাষাটি ব্যবহার করতে পছন্দ করেন তার উপর নির্ভর করে, আপনার কাছে উপলব্ধ হোস্টিং পরিবেশ, পারফরম্যান্সের প্রয়োজনীয়তা, জনপ্রিয় মতামত এবং উত্তীর্ণ ফ্যাড। উদাহরণস্বরূপ, সিজিআই ইদানীং পক্ষে নেওয়া যায় নি, যেহেতু বাহ্যিক প্রোগ্রামগুলি চালু করার প্রয়োজনীয়তা সীমাবদ্ধতার সীমাবদ্ধ করে।


1

একটি ওয়েব সার্ভার কোনও প্রোগ্রামিং ভাষায় লিখিত একটি প্রোগ্রাম যা মানক / অ্যাপ্লিকেশন স্তর প্রোটোকল (এইচটিটিপি, ইত্যাদি) মেনে চলার সকেটে "ওয়েব ট্র্যাফিক" পরিচালনা করে। সর্বাধিক প্রোগ্রামিং ভাষা আপনাকে সকেট তৈরি করার প্রস্তাব দেয় to

আমি কি এই ভেবে ঠিক আছি যে সার্ভার এবং প্রোগ্রামিং ল্যাঙ্গুয়েজকে একসাথে কাজ করার জন্য কোনও সার্ভারের কেবল কিছু প্রকারের ইন্টারফেস যেমন সিজিআই প্রয়োজন?

ডেডিকেটেড সার্ভার প্রোগ্রাম এবং আপনার অ্যাপ্লিকেশন প্রোগ্রামের দরকার নেই - সেগুলি একই হতে পারে (কোনও কার্য সম্পাদন সম্পর্কিত সমস্যা উপেক্ষা করে)।


0

আপনি কিছু ব্যবহার করতে পারেন HTTP- র সার্ভার গ্রন্থাগার, যেমন libonion , এমনকি আপনার প্রোগ্রাম সি কোডেড (অথবা সি ++, এছাড়াও দেখুন WT )। কিছু HTTP ক্লায়েন্ট লাইব্রেরি (যেমন libcurl )

আপনি অন্যান্য HTTP- র লাইব্রেরি, যেমন ব্যবহার করতে পারেন ocsigen & ocamlnet জন্য OCaml

বেশ কয়েকটি ওয়েব ডেডিকেটেড ভাষা রয়েছে (পিএইচপি এর বাইরে), যেমন ওপা , এইচওপি , কেয়া , ইত্যাদি ... (এইচওপি এবং ওপা উভয়ই সার্ভার-সাইড এবং ব্রাউজারের পাশের গণনাগুলি সহজেই মিশ্রিত করতে পারে তবে আপনাকে যন্ত্রণাদায়ক এবং ম্যানুয়ালি এগুলি করতে হবে পিএইচপি, স্পষ্টভাবে AJAX কৌশলগুলি ব্যবহার করে এবং ব্রাউজারের জন্য কিছু জাভাস্ক্রিপ্ট হ্যান্ড-কোডিং করে contrast

এছাড়াও আপনি ব্যবহার করতে পারেন FASTCGI কিছু ওয়েব সার্ভারে কিছু গতিশীল সেবা যোগ করার জন্য প্রযুক্তি ... FASTCGI প্লেইন পুরোনো বেশী ভালো সিজিআই যা প্রতি ইনকামিং HTTP অনুরোধ জন্য একটি নতুন প্রক্রিয়া শুরু হয়, যখন একটি FASTCGI আবেদন একই প্রক্রিয়া অনেক HTTP অনুরোধ পরিবেশন করতে পারেন। বিটিডাব্লু, পিএইচপি একটি FASTCGI অ্যাপ্লিকেশন হিসাবে কাজ করতে কনফিগার করা যেতে পারে।

সি কুইনেক পর্যবেক্ষণ করেছেন যে ওয়েব ব্রাউজিং এবং ধারাবাহিকতা উল্লেখযোগ্যভাবে সম্পর্কিত।

গীত। আমি পিএইচপি পছন্দ করি না এবং আমি বিশ্বাস করি যে এর জনপ্রিয়তার historicalতিহাসিক এবং সামাজিক কারণ রয়েছে (মূলত প্রযুক্তিগত নয়)। প্রকৃতপক্ষে পিএইচপি ব্যাপকভাবে ছড়িয়ে পড়েছিল এজেএক্স ব্যাপকভাবে ব্যবহৃত হওয়ার আগে এবং এটি এইচওপি বা ওপা (বা ওসিগিজেন) এর চেয়ে পুরানো।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.