باز کردن منو اصلی

تغییرات

بازنویسی کلی مقاله
'''پروتکل انتقال ابرمتن''' {{به انگلیسی|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>
'''پروتکل انتقال ابرمتن''' (Hypertext Transfer Protocol) یا '''اچ‌تی‌تی‌پی (HTTP)''' استانداردی برای ارسال درخواست به خادم یا سرور و دریافت پاسخ از آن می‌باشد. سرور در اینجا یک سایت می‌باشد که پاسخ آن را مشتری client دریافت می‌کند. در واقع مشتری کاربر نهایی سرور می‌باشد. مشتری در خواست خود را که یک http request می‌باشد را به کمک ابزارهایی مانند وب گردهاweb browser یا برنامه‌های مشابه که user agent نامیده می‌شوند، برای سرور ارسال می‌کند. به سروری که منابع ی مانند فایل‌های [[HTML]] یا تصاویر را ایجاد یا ذخیره می‌کند اصطلاحاً ''origin server'' گفته می‌شود.
 
== تاریخچه ==
HTTP در واقع زبانی است که Client (یا در اینجا همان Web browser)و Server (یا در اینجا همان Web serever)از طریق آن باهم گفتگو می‌کنند.
[[پرونده:Tim Berners-Lee CP 2.jpg|بندانگشتی|چپ|150px|[[تیم برنرز لی]]، به وجود آورندهٔ [[وب جهانی]]]]
[[تیم برنرز لی]]، طراح و پیشنهاد دهنده [[وب جهانی]] که اکنون تحت عنوان WWW شناخته می‎شود، برای اولین بار پروتکل انتقال ابرمتن را به همراه ساختار اولیهٔ [[اچ‌تی‌ام‌ال|زبان نشانه گذاری ابرمتن (HTML)]] در یک [[وب سرور]] ساده و یک [[مرورگر]] مبتنی بر متن ارائه داد. در این نسخهٔ اولیه تنها روش درخواست (Request Method) موجود GET و تمامی پاسخ ها به زبان HTML بودند.<ref name="first_http">{{یادکرد وب |نویسنده = |نشانی= http://www.w3.org/Protocols/HTTP/AsImplemented.html |عنوان= نسخهٔ اولیهٔ HTTP| ناشر = [[کنسرسیوم وب جهان‌شمول|کنسرسیوم وب]]|تاریخ = |تاریخ بازبینی= }}</ref>
 
اولین نسخهٔ مستند پروتکل انتقال ابرمتن نسخهٔ ۰٫۹ آن بود که در سال ۱۹۹۱ منتشر شد. <ref name="first_http" /> [[دیو راگت]]، که در سال ۱۹۹۵ [[گروه کاری پروتکل انتقال ابرمتن]] {{به انگلیسی|HTTP Working Group}} را رهبری می‎کرد، خواستار گسترش این پروتکل شد و نهایتاً نسخه ۱٫۰ تحت عنوان «HTTP/1.0» در سال ۱۹۹۶ به صورت رسمی معرفی شد.<ref>{{یادکرد وب |نویسنده = |نشانی= http://www.w3.org/People/Raggett/profile.html|عنوان= زندگینامهٔ دیو راگر | ناشر = |تاریخ = |تاریخ بازبینی= }}</ref><ref>{{یادکرد وب |نویسنده = |نشانی= http://www.w3.org/Arena/webworld/httpwgplans.html|عنوان= برنامه‎ریزی گروه کاری HTTP در سال ۱۹۹۵ | ناشر = |تاریخ = |تاریخ بازبینی= }}</ref>
 
گروه کاری این پروتکل در ژانویه سال ۱۹۹۷ اولین استاندارد نسخهٔ ۱٫۱ را که در همان زمان توسط بسیاری از [[مرورگر|مرورگرها]] پشتیبانی می‎شد<ref>{{یادکرد وب |نویسنده = |نشانی= http://www.w3.org/Protocols/HTTP-NG/http-ng-status.html |عنوان= توضیحات پیشرفت پروتکل انتقال ابرمتن نسل جدید | ناشر = [[کنسرسیوم وب جهان‌شمول|کنسرسیوم وب]] |تاریخ = |تاریخ بازبینی= }}</ref>، به صورت رسمی منتشر کرد.<ref>{{یادکرد وب |نویسنده = گروه کاری پروتکل انتقال ابرمتن |نشانی= http://tools.ietf.org/html/rfc2068|عنوان= RFC 2068 | ناشر = [[نیروی ضربت مهندسی اینترنت]]|تاریخ = ژانویه ۱۹۹۷|تاریخ بازبینی= }}</ref> آخرین به‎روز رسانی نسخهٔ ۱٫۱ در جون سال ۱۹۹۹ در درخواست شماره ۲۶۱۶ (RFC 2616) انجام شد.<ref name="rfc_2616" />
 
== ساختار کلی ==
پروتکل انتقال ابرمتن یک پروتکل درخواست و پاسخ در مدل [[مدل کارخواه-کارساز|کلاینت–سرور]] می‎باشد. برای مثال یک [[مرورگر وب]] می تواند یک ''کلاینت'' و نرم‎افزار موجود بر روی سرویس‎دهندهٔ وبسایت، یک ''سرور'' باشد. شروع این پروتکل از طرف کلاینت است که با ارسال یک درخواست HTTP به سمت سرور گفت‎وگو را آغاز می‎کند. سرور بر اساس درخواست ارسالی یا منبعی مانند یک فایل را در اختیار کلاینت می‎گذارد و یا عملیات خاصی را انجام می‎دهد. نتیجهٔ این عملِ سرور در بستهٔ پاسخ HTTP برای کلاینت ارسال می‎شود. بستهٔ پاسخ شامل اطلاعات وضعیت و احتمالاً محتویات منبع درخواست شده می‎باشد.
 
مرورگر وب یک نمونه از عامل کاربر {{به انگلیسی|User Agent}} است. از دیگر عوامل کاربر می‎توان به [[خزنده‌ی وب|خزندهٔ وب]]، نرم‎افزار های [[تلفن همراه|تلفن‎های همراه]] و نرم‎افزار های دیگری که به وب متصل شده و از اطلاعات آن استفاده و یا صفحه‎ای را نمایش می‎دهند، اشاره کرد.
 
پروتکل انتقال ابرمتن یک پروتکل [[لایهٔ کاربرد]] است که در [[مجموعه پروتکل اینترنت]] طراحی شده و مورد استفاده قرار می‏گیرد. این پروتکل با فرض اینکه [[لایه حمل|لایهٔ حمل (Transport Layer)]] زیرین آن قابل اعتماد است طراحی شده و معمولاً از [[قرارداد هدایت انتقال|پروتکل هدایت انتقال (TCP)]] به عنوان لایهٔ زیرین استفاده می‎کند. با این حال از این پروتکل بر روی لایه‎های غیرقابل اطمینان نیز استفاده می‎شود. مثلا در پروتکل SSDP، پروتکل انتقال ابرمتن بر روی [[قرارداد داده‌نگار کاربر|پروتکل داده‎نگار کاربر]] (یک پروتکل غیر امن) مورد استفاده قرار می‎گیرد.
 
منابع HTTP همگی با یک [[یوآرآی|شناسانهٔ یکنواخت منبع (URI)]] یا به طور مشخص‎تر با یک [[نشانی وب|نشانی وب (URL)]] آدرس‎دهی و مشخص می‎شوند. تمامی این آدرس‎ها با نشانهٔ http یا https آغاز می‎گردد. از این آدرس‎ها در [[زبان نشانه‌گذاری ابرمتنی|زبان نشانه‌گذاری ابرمتن]] به صورت گسترده برای انتقال بین صفحات مختلف استفاده می‎گردد و از آن تحت عنوان [[ابرپیوند|پیوند یا لینک]] یاد می‎شود.
 
نسخهٔ ۱٫۱ این پروتکل برخلاف نسخهٔ ۱٫۰ قابلیت استفاده از یک اتصال {{به انگلیسی|Connection}} برای چندین درخواست را دارد. مثلا می‎تواند عکس‎ها، فایل‎های اسکریپت و … موجود در یک صفحه را با همان اتصال اولیه دریافت کند. لذا سرعت آن به دلیل حذف شدن برقراری ارتباط مجدد TCP نسبت به نسخهٔ ۱٫۰ افزایش یافته است.
== جستارهای وابسته ==
{{ویکی‌انبار-رده|HTTP}}
* [[اف‌تی‌پی]]
* [[گوفر]]
* [[مجموعه پروتکل اینترنت]]
* [[خطای ۴۰۴]]
 
== منابع ==
*{{یادکرد ویکی|عنوان = Hypertext Transfer Protocol |پیوند = http://en.wikipedia.org/wiki/HTTP |زبان = انگلیسی | بازیابی =۳۰ فروردین ۱۳۹۲}}
*{{یادکرد وب |نویسنده = |نشانی= http://www.ietf.org/ |عنوان= وبسایت رسمی نیروی ضربت مهندسی اینترنت| ناشر = |تاریخ = |تاریخ بازبینی= ۳۰ فروردین ۱۳۹۲}}
*{{یادکرد وب |نویسنده = |نشانی= http://www.w3c.org/ |عنوان= وبسایت رسمی کنسرسیوم وب| ناشر = |تاریخ = |تاریخ بازبینی= ۳۰ فروردین ۱۳۹۲}}
==پانویس==
{{پانویس}}
 
{{طرح یوآرآی}}