এইচটিটিপি শিরোনামে "সামগ্রী-দৈর্ঘ্য" ক্ষেত্রটি কী?


282

এর মানে কী?

  1. শিরোনামে উল্লিখিত এনকোডিং সহ এনকোডযুক্ত সামগ্রী স্ট্রিংয়ের বাইট গণনা।
  2. সামগ্রীর স্ট্রিংয়ের চরিত্রের গণনা।

বিশেষত ক্ষেত্রে Content-Type: application/x-www-form-urlencoded

উত্তর:


239

rfc2616

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

বিষয়বস্তুর ধরণ কী তা বিবেচ্য নয়।

নীচে পোস্টে এক্সটেনশন ।


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

9
@ এইচসিপিএল: তবে পাঠ্যটি সবসময় এএসসিআইআই নয়, এএসসিআইআইও 8-বিট নয়, 8 নয়
লাই রাইয়ান

2
আপনি যে কোনও এনকোডিং ব্যবহার করছেন তা দিয়ে ASCII প্রতিস্থাপন করুন এবং এনকোডিংয়ের জন্য প্রয়োজনীয় বিটের সংখ্যাটি সন্ধান করুন। 7 বনাম 8 বিটের প্রতিক্রিয়ার জন্য; মূলত এটি 7 বিট প্রকৃতপক্ষে তাই আপনি আবার ঠিক আছেন। তবে আজ কম্পিউটারে মেমরিটি যেভাবে সংগঠিত হয়েছে তার কারণে বেশিরভাগ (সমস্ত না থাকলে) ক্ষেত্রে 8 টি বিট ব্যবহৃত হয়। সম্পাদনা: আমার উত্তরটি পুনরায় পড়া আমি দেখতে পাচ্ছি আপনি কোথায় যাচ্ছেন। আমার আমার মূল মন্তব্যটি পুনরায় প্রকাশ করা উচিত।
এইচসিপিএল

6
@ এইচসিপিএল: বাইট বনাম অক্ষরগুলির ইস্যুটি উল্লেখযোগ্য হওয়ার পুরো কারণটি ইউটিএফ -8 এবং ইউটিএফ -16 এর মত চলক প্রস্থের এনকোডিংগুলির কারণে যেখানে "বিটের সংখ্যা" স্থির করা হয়নি।
স্টেফানকার্পিনস্কি

2
আপনি এই নম্বর জাল করতে পারেন? বিশাল দৈর্ঘ্যের স্ট্রিং পরম পোস্ট করুন তবে আপনার সামগ্রীর দৈর্ঘ্য 1 তে সেট করুন?
শিহ-মিন লি

260

এটি অনুরোধ বা প্রতিক্রিয়ার শরীরে ডেটা বাইটের সংখ্যা। শিরোনামের নীচে ফাঁকা রেখার পরে শরীরে অংশ আসে।


1
"অনুরোধ বা প্রতিক্রিয়া" পরিবর্তে, এটি কেবল "প্রতিক্রিয়াটির মূল অংশ" নয়? অনুরোধটির শিরোনাম এবং ডেটাগুলির মধ্যে ফাঁকা রেখা নেই।
ajfbiw.s

আমি কি জাভা ফিল্টারে দায়ের করা HTTP প্রতিক্রিয়া শিরোনামের সামগ্রীর দৈর্ঘ্যটি পরিবর্তন করতে পারি
কেটিস

2
@ ajfbiw.s একটি পোস্ট পোস্ট অনুরোধ বিবেচনা করুন। থেকে "একটি অনুরোধ একটি বার্তা শরীরের উপস্থিতি অনুরোধ বার্তা-হেডার একটি বিষয়বস্তু-দৈর্ঘ্যের বা ট্রান্সফার এনকোডিং হেডার ক্ষেত্র অন্তর্ভুক্তি দ্বারা signaled করা হয়েছে।" W3.org/Protocols/rfc2616/rfc2616-sec4.html# সেকশন ৩.৩
রয় গুয়ানু

68

Content-Lengthহেডার একটি সংখ্যা একটি বাচক HTTP- র শরীরের সঠিক বাইট দৈর্ঘ্য হল। এইচটিটিপি বডিটি প্রথম খালি লাইনের সাথে সাথেই শুরু হয় যা স্টার্ট-লাইন এবং শিরোনামগুলির পরে পাওয়া যায়।

সাধারণত Content-LengthHTTP 1.1 এর জন্য শিরোনাম ব্যবহৃত হয় যাতে গ্রহণকারী পক্ষ জানতে পারে যখন বর্তমান প্রতিক্রিয়া * শেষ হয়েছে, সুতরাং সংযোগটি অন্য অনুরোধের জন্য পুনরায় ব্যবহার করা যেতে পারে

* ... বা অনুরোধ, অনুরোধ পদ্ধতিগুলির ক্ষেত্রে যেমন একটি শরীর রয়েছে যেমন পোষ্ট, পুট বা প্যাচ

বিকল্পভাবে, Content-Lengthশিরোনাম বাদ দেওয়া যেতে পারে এবং একটি শঙ্কিত Transfer-Encodingশিরোনাম ব্যবহার করা যেতে পারে।

যদি উভয় Content-Lengthএবং Transfer-Encodingশিরোলেখ অনুপস্থিত থাকে তবে প্রতিক্রিয়া শেষে সংযোগটি বন্ধ করতে হবে।

নিম্নলিখিত উত্সটি এমন একটি গাইড যা এইচটিটিপি সম্পর্কে শিখার সময় আমি খুব দরকারী:

এইচটিটিপি সত্যিই সহজ বানানো


45

একটি অক্টেট 8 বিট হয়। সামগ্রীর দৈর্ঘ্য হ'ল বার্তাটির প্রধান প্রতিনিধিত্ব করে এমন অষ্টেটের সংখ্যা।


37
ওকেটেট = একেএ বাইট?
ভিনিসিয়াস পিয়ার্স

77
@ ভিনিসিয়াসপিয়ার্স 'বাইট' মেমরির ক্ষুদ্রতম ঠিকানাযোগ্য ইউনিট বর্ণনা করতে সাধারণত ব্যবহৃত হয়, যা সমস্ত আর্কিটেকচারে 8 বিট অগত্যা নয়। যে কারণে কোনও অস্পষ্টতা এড়াতে '
অকটেট

6
@ পিজেকে, না, ঠিক ঠিক নেই। OCTETএখানে একটি নির্দিষ্ট অর্থ রয়েছে যার অর্থ <কোনও 8-বিটের ডেটা ক্রম>। W3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2
পেসারিয়ার

28

এখান থেকে :

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

   Content-Length    = "Content-Length" ":" 1*DIGIT

একটি উদাহরণ

   Content-Length: 3495

অ্যাপ্লিকেশনগুলি মেসেজ-বডিটির স্থানান্তর-দৈর্ঘ্য নির্দেশ করতে এই ক্ষেত্রটি ব্যবহার করা উচিত, যদি না section.৪ অনুচ্ছেদে বিধি দ্বারা এটি নিষিদ্ধ করা হয় ।

শূন্যের চেয়ে বড় বা সমান যে কোনও সামগ্রী-দৈর্ঘ্য একটি বৈধ মান। বিভাগ ৪.৪ বর্ণনা করে যে কোনও সামগ্রী-দৈর্ঘ্য যদি দেওয়া না হয় তবে কীভাবে বার্তা-শরীরের দৈর্ঘ্য নির্ধারণ করতে হয়।

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

আমার ব্যাখ্যাটি হ'ল এর অর্থ হল "তারের উপর" দৈর্ঘ্য, অর্থাৎ * এনকোডযুক্ত "সামগ্রীর দৈর্ঘ্য


7
"তারের উপর", সংকোচনের উপর নির্ভর করে দৈর্ঘ্যটি পরিবর্তিত হবে তবে সংকোচনের আগে দৈর্ঘ্যটি বলা সঠিক।
বয়েসমেকানিক

ম্যাক / লিনাক্সের মতো বিভিন্ন ধরণের মেশিনে কি সামগ্রী-দৈর্ঘ্য পৃথক হবে? বা কার্ল / পোস্টম্যানের মতো বিভিন্ন ক্লায়েন্ট ব্যবহার করার সময় কি এটি পৃথক হবে ...?
কানাগাভেলু সুগুমার

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

টাইপস্ক্রিপ্ট এটিতে একটি ত্রুটি ফেলে। টাইপ 'সংখ্যা' টাইপ করতে চাইলে 'স্ট্রিং | স্ট্রিং [] 'সুতরাং উদাহরণ হতে হবে"Content-length": "3495"
এ। ডি' আলফোনসো

8

এই পৃষ্ঠা থেকে

POST এর সর্বাধিক সাধারণ ব্যবহার হ'ল সিজিআই স্ক্রিপ্টগুলিতে এইচটিএমএল ফর্ম ডেটা জমা দেওয়া। এই ক্ষেত্রে, সামগ্রী-প্রকার: শিরোনামটি সাধারণত অ্যাপ্লিকেশন / x-www-form-urlencoded হয় এবং সামগ্রী-দৈর্ঘ্য: শিরোনামটি URL- এনকোডযুক্ত ফর্ম ডেটার দৈর্ঘ্য দেয় (এখানে URL- এনকোডিংয়ের একটি নোট রয়েছে)। সিজিআই স্ক্রিপ্টটি এসটিডিআইএন-এর মাধ্যমে বার্তাটির প্রধান অংশটি গ্রহণ করে এবং এটি ডিকোড করে। এখানে পোষ্ট ব্যবহার করে একটি সাধারণ ফর্ম জমা দেওয়া হয়েছে:

POST /path/script.cgi HTTP/1.0
From: frog@jmarshall.com
User-Agent: HTTPTool/1.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 32

5

অনুমান অনুযায়ী :

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

Content-Length    = "Content-Length" ":" 1*DIGIT

একটি উদাহরণ

Content-Length: 3495

অ্যাপ্লিকেশনগুলি এই ক্ষেত্রটি মেসেজ-বডিটির স্থানান্তর-দৈর্ঘ্য নির্দেশ করার জন্য ব্যবহার করতে হবে, যদি না এটি বিভাগ ৪.৪-এর বিধি দ্বারা নিষিদ্ধ করা হয়।

শূন্যের চেয়ে বড় বা সমান যে কোনও সামগ্রী-দৈর্ঘ্য একটি বৈধ মান। বিভাগ ৪.৪ বর্ণনা করে যে কোনও সামগ্রী-দৈর্ঘ্য যদি দেওয়া না হয় তবে কীভাবে বার্তা-শরীরের দৈর্ঘ্য নির্ধারণ করতে হয়।

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


2

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

সামগ্রী-দৈর্ঘ্য = "সামগ্রী-দৈর্ঘ্য" ":" 1 * ডিজিট

একটি উদাহরণ

সামগ্রী-দৈর্ঘ্য: 1024

অ্যাপ্লিকেশনগুলি বার্তা-শরীরে স্থানান্তর-দৈর্ঘ্য নির্দেশ করতে এই ক্ষেত্রটি ব্যবহার করা উচিত।

পিএইচপি-তে আপনি এরকম কিছু ব্যবহার করবেন।

header("Content-Length: ".filesize($filename));

"বিষয়বস্তুর ধরণ: অ্যাপ্লিকেশন / x-www-form-urlencoded" ক্ষেত্রে এনকোডেড ডেটা প্রসেসিং এজেন্টকে প্রেরণ করা হয় যা আপনি পোস্ট করতে যাচ্ছেন সেই ডেটার দৈর্ঘ্য বা আকার সেট করতে পারেন।


0

আপনার যদি শিরোনাম থাকে তবে তা বিবেচনা করুন:

content-encoding: gzip
content-length: 52098
content-type: text/javascript; charset=UTF-8

বিষয়বস্তু-দৈর্ঘ্যের মাপ সংকুচিত বার্তার মূল, "অক্টেট" (অর্থাত 8 বিট, যা হতে ঘটতে একক সব আধুনিক কম্পিউটারের জন্য "বাইট") হবে।

আকার প্রকৃত বার্তার মূল অংশের অন্য কিছু, হয়তো 150280 বাইট হতে পারে।

সংখ্যা অক্ষর আবার 150231 অক্ষর ভিন্ন হতে পারে, সম্ভবত, কারণ কিছু ইউনিকোড অক্ষর একাধিক বাইট (নোট হল UTF-8 একটি প্রমিত এনকোডিং হয়) ব্যবহার করুন।

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

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