
در این بخش به فصل شانزدهم از کتاب HTTP The Definitive Guide با عنوان Internationalization می پردازیم.
هر روز میلیاردها نفر به صدها زبان، اسناد مختلف را تولید میکنند. HTTP برای برآورده کردن چشم انداز یک وب واقعاً جهانی، باید از انتقال و پردازش اسناد بین المللی به زبانها و الفبای بسیاری پشتیبانی کند.
این فصل دو موضوع اصلی بین المللی سازی وب را پوشش میدهد:
- Character Set Encodings
- Language Tags
برنامههای HTTP از Character Set Encodings برای درخواست و نمایش متن در الفبای مختلف استفاده نموده و از Language Tags برای توصیف و محدود کردن محتوا به زبانهایی استفاده میکنند که کاربر میفهمد.
این فصل:
- نحوه تعامل HTTP با Scheme ها و استانداردهای الفبای چند زبانه را توضیح میدهد.
- مروری سریع از اصطلاحات، فناوری و استانداردها ارائه میدهد تا به برنامه نویسان HTTP کمک کند تا کارها را به درستی انجام دهند (خوانندگان آشنا با Character Encodings میتوانند این بخش را نادیده بگیرند)
- سیستم نامگذاری استاندارد را توضیح میدهد. زبانها و نحوه توصیف و انتخاب محتوا توسط Language Tag های استاندارد
- قوانین و احتیاطهای URI بینالمللی را بیان میکند.
- قوانین مربوط به تاریخها و سایر مسائل بینالمللیسازی را به طور خلاصه مورد بحث قرار میدهد.
HTTP Support for International Content
پیامهای HTTP میتوانند محتوا را به هر زبانی منتقل کنند، همانطور که میتوانند تصاویر، فیلمها یا هر نوع رسانه دیگری را حمل کنند. برای HTTP، بدنه موجودیت فقط یک جعبه بیت است.
برای پشتیبانی از محتوای بینالمللی، سرورها باید الفبا و زبان هر سند را به کلاینتها اطلاع دهند، بنابراین کلاینت میتواند به درستی بیتهای سند را به کاراکتر تبدیل کند و محتوا را به درستی پردازش و به کاربر ارائه دهد.
سرورها با پارامتر HTTP Content-Type Charset و هدرهای Content-Language به کلاینتها درباره الفبای و زبان سند، اطلاعات لازم را ارائه میدهند. این هدرها آنچه را در جعبه بیتهای موجودیت وجود دارد، نحوه تبدیل محتویات به Character های مناسبی که میتوانند روی صفحه نمایش داده شوند و زبان گفتاری که کلمات نشان میدهند را توصیف میکنند.
در عین حال، کلاینت باید به سرور بگوید که کاربر کدام زبانها را میفهمد و کدام الگوریتمهای کدگذاری الفبایی را مرورگر نصب کرده است. کلاینت هدرهای Accept-Charset و Accept-Language را ارسال میکند تا به سرور بگوید که کدام الگوریتمهای Character Set Encoding و زبانهایی را که کلاینت میفهمد و کدام یک از آنها ترجیح داده میشود.
هدرهای پذیرش HTTP زیر ممکن است توسط فرانسویزبانی ارسال شود که زبان مادری خود را ترجیح میدهد (اما کمی انگلیسی صحبت میکند) و از مرورگری استفاده میکند که از iso-8859-1 West European Charset Encoding و UTF-8 Unicode Charset Encoding پشتیبانی میکند:
Accept-Language: fr, en;q=0.8
Accept-Charset: iso-8859-1, utf-8
پارامتر “q=0.8” یک عامل کیفیت است که به انگلیسی (0.8) اولویت کمتری نسبت به فرانسوی (1.0 به طور پیش فرض) میدهد.
ادامه مطالب این بخش را می توانید از لینک زیر به صورت PDF دانلود نمایید: