HTTP শিরোনামগুলির জন্য ফর্ম্যাটটি HTTP নির্দিষ্টকরণে সংজ্ঞায়িত করা হয়। আমি HTTP 1.1 সম্পর্কে কথা বলতে যাচ্ছি যার জন্য স্পেসিফিকেশনটি আরএফসি 2616 । বিভাগে ৪.২, 'বার্তা শিরোনাম'-এ, শিরোনামের সাধারণ কাঠামো সংজ্ঞায়িত করা হয়েছে:
message-header = field-name ":" [ field-value ]
field-name = token
field-value = *( field-content | LWS )
field-content = <the OCTETs making up the field-value
and consisting of either *TEXT or combinations
of token, separators, and quoted-string>
এই সংজ্ঞাটি দুটি প্রধান স্তম্ভ, টোকেন এবং পাঠ্যক্রমের উপরে স্থির থাকে। উভয়ই বিভাগের ২.২, 'বেসিক বিধিগুলিতে' সংজ্ঞায়িত হয়েছে। টোকেন হ'ল:
token = 1*<any CHAR except CTLs or separators>
পরিবর্তে CHAR, সিটিএল এবং বিভাজকগুলিতে বিশ্রাম দিন:
CHAR = <any US-ASCII character (octets 0 - 127)>
CTL = <any US-ASCII control character
(octets 0 - 31) and DEL (127)>
separators = "(" | ")" | "<" | ">" | "@"
| "," | ";" | ":" | "\" | <">
| "/" | "[" | "]" | "?" | "="
| "{" | "}" | SP | HT
পাঠ্য হ'ল:
TEXT = <any OCTET except CTLs,
but including LWS>
যেখানে এলডাব্লুএস লিনিয়ার সাদা স্থান, যার সংজ্ঞা আমি পুনরুত্পাদন করব না এবং ওসিটিইটি হ'ল:
OCTET = <any 8-bit sequence of data>
সংজ্ঞা সহ একটি নোট রয়েছে:
The TEXT rule is only used for descriptive field contents and values
that are not intended to be interpreted by the message parser. Words
of *TEXT MAY contain characters from character sets other than ISO-
8859-1 [22] only when encoded according to the rules of RFC 2047
[14].
সুতরাং, দুটি সিদ্ধান্ত। প্রথমত, এটি স্পষ্ট যে শিরোনামের নামটি অবশ্যই ASCII অক্ষরের একটি উপসেট থেকে তৈরি করা উচিত - বর্ণমালা, কিছু বিরামচিহ্ন, অন্য কোনও নয় else দ্বিতীয়ত, শিরোনাম মানের সংজ্ঞায় এমন কিছু নেই যা এএসসিআইআই-তে সীমাবদ্ধ করে বা 8-বিট অক্ষর বাদ দেয়: এটি স্পষ্টভাবে অষ্টেটের সমন্বয়ে গঠিত, কেবলমাত্র নিয়ন্ত্রণ অক্ষরকে নিষিদ্ধ করা হয়েছে (নোট করুন যে সিআর এবং এলএফ নিয়ন্ত্রণ হিসাবে বিবেচিত হয়)। তদ্ব্যতীত, পাঠ্য প্রযোজনা সম্পর্কে মন্তব্যটি বোঝায় যে অক্টেটগুলি আইএসও -8859-1-তে রয়েছে বলে ব্যাখ্যা করা উচিত এবং সেই এনকোডিংয়ের বাইরের অক্ষরের প্রতিনিধিত্ব করার জন্য একটি এনকোডিং ব্যবস্থা রয়েছে (যা ভয়ঙ্কর, ঘটনাক্রমে)।
সুতরাং, বিশেষত @ বালুসকে প্রতিক্রিয়া জানাতে, এটি পুরোপুরি স্পষ্ট যে স্পেসিফিকেশন অনুযায়ী শিরোনামের মানগুলি আইএসও -8859-1-এ রয়েছে। টমক্যাট থেকে বের হয়ে একটি হেডারে আমি উচ্চ -৮৮৮৯-১০ অক্ষরকে (বিশেষত ফরাসি ভাষায় ব্যবহৃত কিছু স্বরযুক্ত স্বর) প্রেরণ করেছি এবং ফায়ারফক্সের দ্বারা তাদের সঠিকভাবে ব্যাখ্যা করতে পেরেছি, কিছুটা হলেও, এটি অনুশীলনের পাশাপাশি তত্ত্বের ক্ষেত্রেও কাজ করে (যদিও এটি একটি অবস্থানের শিরোনাম ছিল, যার মধ্যে একটি URL রয়েছে এবং এই অক্ষরগুলি ইউআরএলগুলিতে আইনী নয়, সুতরাং এটি আসলে অবৈধ ছিল, তবে ভিন্ন নিয়মের অধীনে!)।
এটি বলেছিল, আমি সমস্ত সার্ভার, প্রক্সি এবং ক্লায়েন্ট জুড়ে কাজ করে আইএসও -8859-1 এর উপর নির্ভর করব না, তাই আমি প্রতিরক্ষামূলক প্রোগ্রামিংয়ের বিষয়টি হিসাবে ASCII এ লেগে থাকব।