HTTP 1.0 বনাম 1.1


263

কেউ কি আমাকে HTTP 1.0 এবং HTTP 1.1 এর মধ্যে পার্থক্য সম্পর্কে একটি সংক্ষিপ্ত ধারণা দিতে পারে? আমি উভয় আরএফসি-র সাথে কিছুটা সময় কাটিয়েছি, তবে তাদের মধ্যে অনেক পার্থক্য বের করতে সক্ষম হইনি। উইকিপিডিয়া এটি বলে:

HTTP / 1.1 (1997-1999)

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

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


মূল পার্থক্যগুলির এটি বেশ ভাল সংক্ষিপ্তসার: http://www.research.att.com/~bala/papers/h0vh1.html
কেভ

3
উত্সে যাওয়ার জন্য আপনার পক্ষে ভাল দেখে মনে হচ্ছে আপনি সাধারণভাবে নেটওয়ার্কিং সম্পর্কে জানেন না, যদি আপনি সেই সংক্ষিপ্তসারটি না বুঝতে পারেন। সম্ভবত আপনার সেই শর্তগুলিও গবেষণা করা উচিত।
মার্সিন

4
যদিও এই জিনিসটি আসার পরে আমি এখনও নবাগত, আমার প্রাথমিক সমস্যাটি হ'ল সংক্ষিপ্তসারটি আমাকে "হাউস" না দিয়ে "কী" দেয়।
জেসন বেকার


উত্তর:


363

প্রক্সি সমর্থন এবং হোস্ট ক্ষেত্র:

HTTP 1.1 এর নির্দিষ্ট করে একটি প্রয়োজনীয় হোস্ট শিরোনাম রয়েছে।

HTTP 1.0 আনুষ্ঠানিকভাবে একটি হোস্ট শিরোলেখের প্রয়োজন হয় না, তবে এটি যুক্ত করতে কোনও ক্ষতি হয় না এবং প্রোটোকল সংস্করণ নির্বিশেষে অনেক অ্যাপ্লিকেশন (প্রক্সি) হোস্ট শিরোনামটি দেখার প্রত্যাশা করে।

উদাহরণ:

GET / HTTP/1.1
Host: www.blahblahblahblah.com

এই শিরোনামটি দরকারী কারণ এটি আপনাকে প্রক্সি সার্ভারের মাধ্যমে কোনও বার্তা রুট করার অনুমতি দেয় এবং আপনার ওয়েব সার্ভার একই সার্ভারের বিভিন্ন সাইটের মধ্যে পার্থক্য করতে পারে বলেও।

সুতরাং এর অর্থ এটি যদি আপনি blahblahlbah.com এবং helohelohelo.com উভয় একই আইপি নির্দেশ করে। আপনার ওয়েব সার্ভার ক্লায়েন্ট মেশিনটি কোন সাইট চায় তা আলাদা করতে হোস্ট ক্ষেত্রটি ব্যবহার করতে পারে।

অবিচ্ছিন্ন সংযোগগুলি:

HTTP 1.1 আপনাকে অবিচ্ছিন্ন সংযোগ স্থাপনের অনুমতি দেয় যার অর্থ একই HTTP সংযোগে আপনার একাধিক অনুরোধ / প্রতিক্রিয়া থাকতে পারে।

HTTP 1.0 এ আপনাকে প্রতিটি অনুরোধ / প্রতিক্রিয়া জুটির জন্য একটি নতুন সংযোগ খুলতে হয়েছিল। এবং প্রতিটি প্রতিক্রিয়া পরে সংযোগ বন্ধ হবে। এটি টিসিপি স্লো স্টার্টের কারণে কিছু বড় দক্ষতার সমস্যার দিকে পরিচালিত করে ।

বিকল্প পদ্ধতি:

HTTP / 1.1 অপশন পদ্ধতিটি প্রবর্তন করে। এইচটিটিপি ক্লায়েন্ট এইচটিটিপি সার্ভারের দক্ষতা নির্ধারণ করতে এই পদ্ধতিটি ব্যবহার করতে পারে। এটি বেশিরভাগ ওয়েব অ্যাপ্লিকেশনগুলিতে ক্রস অরিজিন রিসোর্স ভাগ করে নেওয়ার জন্য ব্যবহৃত হয়।

ক্যাশিং:

এইচডিটিপি ১.০ এর শিরোনামটির মাধ্যমে ক্যাশিংয়ের জন্য সমর্থন ছিল: যদি-সংশোধিত-যেহেতু।

এইচটিটিপি 1.1 'সত্তা ট্যাগ' নামক কিছু ব্যবহার করে ক্যাশে সমর্থনকে অনেক প্রসারিত করে। যদি 2 টি সংস্থান একই হয় তবে তাদের একই সত্তা ট্যাগ থাকবে।

এইচটিটিপি ১.১ এছাড়াও শর্তসাপেক্ষ শিরোনামগুলি- if-Unmodified-Since, If-Match, If-No-میچ শর্তযুক্ত যোগ করে।

ক্যাশে-নিয়ন্ত্রণ শিরোনামের মতো ক্যাশে সম্পর্কিত আরও সংযোজন রয়েছে।

100 স্থিতি স্থিতি:

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

অনেক বেশি:

  • ডাইজেস্ট প্রমাণীকরণ এবং প্রক্সি প্রমাণীকরণ
  • অতিরিক্ত নতুন স্ট্যাটাস কোড
  • খণ্ডিত স্থানান্তর এনকোডিং
  • সংযোগ শিরোনাম
  • বর্ধিত সংক্ষেপণ সমর্থন
  • আরও অনেক কিছু।

15
মনে রাখবেন যে প্রচুর সার্ভার / প্রক্সীরা দাবি করেছেন যে তারা HTTP / 1.0 চান তারা হোস্ট শিরোনাম বাদ দিলে খুব খারাপ হবে।
পল টমলিন

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

@ পল টম্বলিন: ধন্যবাদ আমি এই তথ্যটি যুক্ত করেছি।
ব্রায়ান আর বন্ডি

2
সম্পর্কিত "যদি আপনার কাছে ব্লহব্লাহলবাহ.কম এবং হেলোহেলহেলো.কম উভয়ই একই আইপি-র দিকে নির্দেশ করে থাকে। ক্লায়েন্ট মেশিনটি কোন সাইট চায় তা আলাদা করতে আপনার ওয়েব সার্ভার হোস্ট ক্ষেত্রটি ব্যবহার করতে পারে।" সুতরাং যখন এইচটিটিপি ১.০ ক্লায়েন্ট আমাদের আলাদা করার জন্য কোনও হোস্ট ফিল্ড না দেয় তখন কী ঘটে?
পেসারিয়ার

@ পেসারিয়র সাধারণত কোনও ধরণের একটি ডিফল্ট পৃষ্ঠা; এটি সার্ভারের উপর নির্ভর করে।
অ্যান্ড্রু ল্যামবার্ট

14

 HTTP 1.0 (1994)

  • এটি এখনও ব্যবহৃত হয়
  • এমন ক্লায়েন্ট দ্বারা ব্যবহার করা যেতে পারে যা খণ্ডিত (বা সংক্ষেপিত) সার্ভারের জবাবগুলির সাথে ডিল করতে পারে না

 HTTP 1.1 (1996- 2015)

  • সংস্করণ 1.0 এ অনেক এক্সটেনশানকে ফর্মালাইজ করে
  • অবিরাম এবং পাইপলাইনযুক্ত সংযোগগুলি সমর্থন করে
  • খণ্ডিত স্থানান্তর, সংক্ষেপণ / ডিকম্প্রেশন সমর্থন করে
  • ভার্চুয়াল হোস্টিং সমর্থন করে (একাধিক ডোমেন হোস্ট করে একটি আইপি ঠিকানা সহ একটি সার্ভার)
  • একাধিক ভাষা সমর্থন করে
  • বাইট-রেঞ্জ স্থানান্তর সমর্থন করে; বাধা ডেটা স্থানান্তর পুনরায় শুরু করার জন্য দরকারী useful

HTTP 1.1 HTTP 1.0 এর বর্ধন। নীচে চারটি বড় উন্নতির তালিকা রয়েছে:

  1. একক আইপি ঠিকানা থেকে একাধিক ডোমেন সরবরাহ করার অনুমতি দিয়ে আইপি ঠিকানার কার্যকর ব্যবহার।

  2. আরও দ্রুত সাড়া, একটি ওয়েব ব্রাউজারকে একক অবিচ্ছিন্ন সংযোগের জন্য একাধিক অনুরোধ প্রেরণের মাধ্যমে।

  3. গণ্ডগোলিতভাবে উত্পন্ন পৃষ্ঠাগুলির জন্য দ্রুত প্রতিক্রিয়া, খণ্ডিত এনকোডিংয়ের পক্ষে সমর্থন, যা এর সম্পূর্ণ দৈর্ঘ্য জানা হওয়ার আগে একটি প্রতিক্রিয়া প্রেরণ করতে দেয়।
  4. ক্যাশে সমর্থন যোগ করে দ্রুত প্রতিক্রিয়া এবং দুর্দান্ত ব্যান্ডউইথ সঞ্চয় ings

9

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

আরও জটিল পরিস্থিতিতে HTTP 1.1 যাওয়ার উপায়। আরও জটিল এইচটিটিপি 1.1 প্রোটোকলের জটিলতা মোকাবেলার জন্য কোড আকারে 3 থেকে 5 গুণ বৃদ্ধি আশা করুন। জটিলতাটি মূলত আসে, কারণ HTTP 1.1 এ আপনাকে বিভিন্ন শিরোনাম তৈরি করতে, পার্স করতে এবং প্রতিক্রিয়া জানাতে হবে। কোনও ক্লায়েন্ট এইচটিটিপি লাইব্রেরি ব্যবহার করে বা সার্ভার একটি ওয়েব অ্যাপ্লিকেশন সার্ভার ব্যবহার করে আপনি এই জটিলতা থেকে আপনার অ্যাপ্লিকেশনটি ieldালতে পারেন।


7

একটি মূল সামঞ্জস্যের সমস্যা হ'ল অবিচ্ছিন্ন সংযোগগুলির জন্য সমর্থন । আমি সম্প্রতি এমন একটি সার্ভারে কাজ করেছি যা HTTP / 1.1 কে "সমর্থিত" করে, তবুও যখন কোনও ক্লায়েন্ট HTTP / 1.0 অনুরোধ প্রেরণ করে তখন সংযোগটি বন্ধ করতে ব্যর্থ হয়েছিল। HTTP / 1.1 সমর্থন করে এমন কোনও সার্ভার লেখার সময়, নিশ্চিত হয়ে নিন যে এটি কেবলমাত্র HTTP / 1.0-ক্লায়েন্টদের সাথেই ভাল কাজ করে।


8
এইচটিটিপি / ১.১ এর কি আমাদের এইচটিটিপি / ১.০ সামঞ্জস্যপূর্ণ হওয়া দরকার?
পেসারিয়ার

@ ট্রয় - এইচটিটিপি 1.1 অনুরোধের প্রতিক্রিয়া প্রেরণ এবং তত্ক্ষণাত সংযোগটি বন্ধ করে দেওয়া (অনুরোধটি সার্ভারের উপর থেকে পাঠানো সকেট) বন্ধ করা কি বৈধ? যার ব্যবহারিকভাবে অর্থ হ'ল সার্ভারটি HTTP 1.0 প্রয়োগ করে
গাই অভ্রাহাম

5

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

আপনি যদি কোনও ওয়েবসাইট বা এর অনুরূপ কোনও অ্যাপ্লিকেশন বিকাশ করতে চান তবে পার্থক্য সম্পর্কে আপনার খুব বেশি চিন্তা করার দরকার নেই তবে আপনার কমপক্ষে এবং ক্রিয়াগুলির মধ্যে পার্থক্যটি জানা উচিতGETPOST

এখন আপনি যদি কোনও ব্রাউজার বিকাশ করতে চান তবে হ্যাঁ, আপনাকে সম্পূর্ণ প্রোটোকলটি জানতে হবে পাশাপাশি আপনি যদি কোনও এইচটিটিপি সার্ভার বিকাশের চেষ্টা করছেন তাও জানতে হবে।

আপনি যদি কেবল এইচটিটিপি প্রোটোকলটি জানতে আগ্রহী হন তবে আমি আপনাকে 1.0 এর পরিবর্তে HTTP / 1.1 দিয়ে শুরু করার পরামর্শ দিচ্ছি।


1
যদি জেসন গ্রাউন্ড আপ থেকে নিজের HTTP সার্ভার / অ্যাপ তৈরির কথা বিবেচনা করে তবে জিইটি এবং পোষ্টের মধ্যে পার্থক্যটি ইতিমধ্যে জেনে ফেলেছে ম্যাটিক্স জেসন। :)
কেভ

1
আমি আসলে কোনও ওয়েবসারভার দিয়ে কিছু কাজ করেছি যা বর্তমানে কেবল HTTP 1.0 সমর্থন করে, আমি কেবল ভাবছিলাম যে 1.1 সমর্থন যুক্ত করার সাথে কী যুক্ত রয়েছে।
জেসন বেকার

2

এইচটিটিপি ১.১ হ'ল হাইপারটেক্সট ট্রান্সফার প্রোটোকলের সর্বশেষতম সংস্করণ, ওয়ার্ল্ড ওয়াইড ওয়েব অ্যাপ্লিকেশন প্রোটোকল যা প্রোটোকলের ইন্টারনেটের টিসিপি / আইপি স্যুট শীর্ষে চলে। HTTP 1.0 এর সাথে তুলনা করুন, HTTP 1.1 মূল HTTP এর চেয়ে ওয়েব পৃষ্ঠাগুলির দ্রুত সরবরাহ সরবরাহ করে এবং ওয়েব ট্র্যাফিক হ্রাস করে।

ওয়েব ট্র্যাফিক উদাহরণ: উদাহরণস্বরূপ, যদি আপনি কোনও সার্ভার অ্যাক্সেস করেন। একই সাথে এতগুলি ব্যবহারকারী ডেটার জন্য সার্ভারটি অ্যাক্সেস করছে, তারপরে সার্ভারটি ঝুলানোর সুযোগ রয়েছে। এটি ওয়েব ট্র্যাফিক।


1

HTTP 1.1 এর নির্দিষ্টকরণে হোস্ট শিরোনামের সাথে আসে যখন HTTP 1.0 তে আনুষ্ঠানিকভাবে কোনও হোস্ট শিরোলেখ থাকে না, তবে এটি একটি যুক্ত করতে অস্বীকার করে না।

হোস্ট শিরোলেখ দরকারী কারণ এটি ক্লায়েন্টকে প্রক্সি সার্ভার জুড়ে একটি বার্তা রুট করতে দেয় এবং 1.0 এবং 1.1 সংস্করণ HTTP- র মধ্যে প্রধান পার্থক্যটি হ'ল:

  1. HTTP 1.1 টি অবিচ্ছিন্ন সংযোগগুলির সাথে আসে যা নির্ধারণ করে যে একই HTTP সংযোগে আমাদের একাধিক অনুরোধ বা প্রতিক্রিয়া থাকতে পারে।
  2. HTTP 1.0 এ থাকাকালীন আপনাকে প্রতিটি অনুরোধ এবং প্রতিক্রিয়ার জন্য একটি নতুন সংযোগ খুলতে হবে
  3. HTTP 1.0 এ এটির একটি প্রগমা রয়েছে যখন HTTP 1.1 এ এটির ক্যাশে-নিয়ন্ত্রণ রয়েছে এটি প্রগমার সাথে সমান

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