پروتکل انتقال ابرمتن: تفاوت میان نسخهها
بدون خلاصۀ ویرایش |
بدون خلاصۀ ویرایش |
||
خط ۱: | خط ۱: | ||
{{HTTP}} |
{{HTTP}} |
||
''' |
'''منشور انتقال ابرمتن''' {{به انگلیسی|Hypertext Transfare Protocol}} {{مخفف انگلیسی|HTTP}} یک [[قرارداد (رایانه)|پروتکل]] [[لایه کاربرد|لایهٔ کاربرد (Application Layer)]] برای [[رایانش توزیعشده|سیستمهای توزیع شده]] میباشد. این پروتکل عمومی علاوه بر استفاده اصلی آن در [[ابرمتن|ابرمتنها]] در بسیاری از زمینههای دیگر کامپیوتری مانند [[سامانهٔ نام دامنه]] (DNS) قابل استفاده است. از نسخه اولیه، این پروتکل در [[وب جهانی]] استفاده میشد و آخرین بهروز رسانی آن در ماه جون ۱۹۹۹ تحت عنوان «HTTP/1.1» صورت گرفت. <ref name="rfc_2616">{{یادکرد وب |نویسنده = |نشانی= http://tools.ietf.org/html/rfc2616|عنوان= RFC 2616 - HTTP/1.1| ناشر = [[نیروی ضربت مهندسی اینترنت]]|تاریخ = جون ۱۹۹۹|تاریخ بازبینی= }}</ref> |
||
== تاریخچه == |
== تاریخچه == |
نسخهٔ ۲۵ آوریل ۲۰۱۳، ساعت ۱۲:۴۸
HTTP |
---|
روشهای درخواست |
زمینههای سرآیند |
کدهای وضعیت |
منشور انتقال ابرمتن (به انگلیسی: Hypertext Transfare Protocol) (مخفف انگلیسی: HTTP) یک پروتکل لایهٔ کاربرد (Application Layer) برای سیستمهای توزیع شده میباشد. این پروتکل عمومی علاوه بر استفاده اصلی آن در ابرمتنها در بسیاری از زمینههای دیگر کامپیوتری مانند سامانهٔ نام دامنه (DNS) قابل استفاده است. از نسخه اولیه، این پروتکل در وب جهانی استفاده میشد و آخرین بهروز رسانی آن در ماه جون ۱۹۹۹ تحت عنوان «HTTP/1.1» صورت گرفت. [۱]
تاریخچه
تیم برنرز لی، طراح و پیشنهاد دهنده وب جهانی که اکنون تحت عنوان WWW شناخته میشود، برای اولین بار پروتکل انتقال ابرمتن را به همراه ساختار اولیهٔ زبان نشانه گذاری ابرمتن (HTML) در یک وب سرور ساده و یک مرورگر مبتنی بر متن ارائه داد. در این نسخهٔ اولیه تنها روش درخواست (Request Method) موجود GET و تمامی پاسخ ها به زبان HTML بودند.[۲]
اولین نسخهٔ مستند پروتکل انتقال ابرمتن نسخهٔ ۰٫۹ آن بود که در سال ۱۹۹۱ منتشر شد. [۲] دیو راگت، که در سال ۱۹۹۵ گروه کاری پروتکل انتقال ابرمتن (به انگلیسی: HTTP Working Group) را رهبری میکرد، خواستار گسترش این پروتکل شد و نهایتاً نسخه ۱٫۰ تحت عنوان «HTTP/1.0» در سال ۱۹۹۶ به صورت رسمی معرفی شد.[۳][۴]
گروه کاری این پروتکل در ژانویه سال ۱۹۹۷ اولین استاندارد نسخهٔ ۱٫۱ را که در همان زمان توسط بسیاری از مرورگرها پشتیبانی میشد[۵]، به صورت رسمی منتشر کرد.[۶] آخرین بهروز رسانی نسخهٔ ۱٫۱ در جون سال ۱۹۹۹ در درخواست شماره ۲۶۱۶ (RFC 2616) انجام شد.[۱]
ساختار کلی
مجموعه پروتکل اینترنت |
---|
لایه کاربرد |
لایه حمل |
لایه اینترنت |
لایه پیوند |
پروتکل انتقال ابرمتن یک پروتکل درخواست و پاسخ در مدل کلاینت–سرور میباشد. برای مثال یک مرورگر وب می تواند یک کلاینت و نرمافزار موجود بر روی سرویسدهندهٔ وبسایت، یک سرور باشد. شروع این پروتکل از طرف کلاینت است که با ارسال یک درخواست HTTP به سمت سرور گفتوگو را آغاز میکند. سرور بر اساس درخواست ارسالی یا منبعی مانند یک فایل را در اختیار کلاینت میگذارد و یا عملیات خاصی را انجام میدهد. نتیجهٔ این عملِ سرور در بستهٔ پاسخ HTTP برای کلاینت ارسال میشود. بستهٔ پاسخ شامل اطلاعات وضعیت و احتمالاً محتویات منبع درخواست شده میباشد.
مرورگر وب یک نمونه از عامل کاربر (به انگلیسی: User Agent) است. از دیگر عوامل کاربر میتوان به خزندهٔ وب، نرمافزار های تلفنهای همراه و نرمافزار های دیگری که به وب متصل شده و از اطلاعات آن استفاده و یا صفحهای را نمایش میدهند، اشاره کرد.
پروتکل انتقال ابرمتن یک پروتکل لایهٔ کاربرد است که در مجموعه پروتکل اینترنت طراحی شده و مورد استفاده قرار میگیرد. این پروتکل با فرض اینکه لایهٔ حمل (Transport Layer) زیرین آن قابل اعتماد است طراحی شده و معمولاً از پروتکل هدایت انتقال (TCP) به عنوان لایهٔ زیرین استفاده میکند. با این حال از این پروتکل بر روی لایههای غیرقابل اطمینان نیز استفاده میشود. مثلا در پروتکل SSDP، پروتکل انتقال ابرمتن بر روی پروتکل دادهنگار کاربر (یک پروتکل غیر امن) مورد استفاده قرار میگیرد.
منابع HTTP همگی با یک شناسانهٔ یکنواخت منبع (URI) یا به طور مشخصتر با یک نشانی وب (URL) آدرسدهی و مشخص میشوند. تمامی این آدرسها با نشانهٔ http یا https آغاز میگردد. از این آدرسها در زبان نشانهگذاری ابرمتن به صورت گسترده برای انتقال بین صفحات مختلف استفاده میگردد و از آن تحت عنوان پیوند یا لینک یاد میشود.
نسخهٔ ۱٫۱ این پروتکل برخلاف نسخهٔ ۱٫۰ قابلیت استفاده از یک اتصال (به انگلیسی: Connection) برای چندین درخواست را دارد. مثلا میتواند عکسها، فایلهای اسکریپت و … موجود در یک صفحه را با همان اتصال اولیه دریافت کند. لذا سرعت آن به دلیل حذف شدن برقراری ارتباط مجدد TCP نسبت به نسخهٔ ۱٫۰ افزایش یافته است.
وضعیت جلسه (به انگلیسی: Session State)
پروتکل انتقال ابرمتن یک پروتکل Stateless میباشد. بدین معنی که در یک سری از درخواست های ارسال شده به سمت سرور، هیچ ردی از کاربر ذخیره نمیکند. به طور مثال، سرور وب هیچگاه نمی تواند به یاد بیاورد که شما در این وبسایت لاگین کردهاید یا نه! اما به دلیل نیاز شدید نرمافزار های تحت وب به ثبت وضعیت، این مساله به روشهای زیر پیادهسازی شده است:
- کوکی
- استفاده از متغیر های پنهان در فرمهای وب
- استفاده از متغیر های موجود در رشتهٔ درخواست. مانند: index.php?session_id=some_unique_id
جستارهای وابسته
در ویکیانبار پروندههایی دربارهٔ پروتکل انتقال ابرمتن موجود است. |
منابع
- مشارکتکنندگان ویکیپدیا. «Hypertext Transfer Protocol». در دانشنامهٔ ویکیپدیای انگلیسی، بازبینیشده در ۳۰ فروردین ۱۳۹۲.
- «وبسایت رسمی نیروی ضربت مهندسی اینترنت». دریافتشده در ۳۰ فروردین ۱۳۹۲.
- «وبسایت رسمی کنسرسیوم وب». دریافتشده در ۳۰ فروردین ۱۳۹۲.
پانویس
- ↑ ۱٫۰ ۱٫۱ «RFC 2616 - HTTP/1.1». نیروی ضربت مهندسی اینترنت. جون ۱۹۹۹.
- ↑ ۲٫۰ ۲٫۱ «نسخهٔ اولیهٔ HTTP». کنسرسیوم وب.
- ↑ «زندگینامهٔ دیو راگر».
- ↑ «برنامهریزی گروه کاری HTTP در سال ۱۹۹۵».
- ↑ «توضیحات پیشرفت پروتکل انتقال ابرمتن نسل جدید». کنسرسیوم وب.
- ↑ گروه کاری پروتکل انتقال ابرمتن (ژانویه ۱۹۹۷). «RFC 2068». نیروی ضربت مهندسی اینترنت.