پروتکل انتقال ابرمتن: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
مهرنگار (بحث | مشارکت‌ها)
جز ویرایش 2.186.227.214 (بحث) به آخرین تغییری که YamahaBot انجام داده بود واگردانده شد
خط ۱۳:
 
== ساختار کلی ==
پروتکل انتقال ابرمتن یک پروتکل درخواست و پاسخ در مدل [[مدل کارخواه-کارساز|کلاینت–سرور]] می‌باشد. برای مثال یک [[مرورگر وب]] می تواند یک ''کلاینت'' و نرم‌افزار موجود بر روی سرویس‌دهندهٔ وبسایت، یک ''سرور'' باشد. شروع این پروتکل از طرف کلاینت است که با ارسال یک درخواست HTTP به سمت سرور گفت‌وگو را آغاز می‌کند. سرور بر اساس درخواست ارسالی یا منبعی مانند یک فایل را در اختیار کلاینت می‌گذارد و یا عملیات خاصی را انجام می‌دهد. نتیجهٔ این عملِ سرور در بستهٔ پاسخ HTTP برای کلاینت ارسال می‌شود. بستهٔ پاسخ شامل اطلاعات وضعیت و احتمالاً محتویات منبع درخواست شده می‌باشد.
 
مرورگر وب یک نمونه از [[عامل کاربر]] {{به انگلیسی|User Agent}} است. از دیگر عوامل کاربر می‌توان به [[خزنده‌ی وب|خزندهٔ وب]]، نرم‌افزار های [[تلفن همراه|تلفن‌های همراه]] و نرم‌افزار های دیگری که به وب متصل شده و از اطلاعات آن استفاده و یا صفحه‌ای را نمایش می‌دهند، اشاره کرد.
 
پروتکل انتقال ابرمتن یک پروتکل [[لایهٔ کاربرد]] است که در [[مجموعه پروتکل اینترنت]] طراحی شده و مورد استفاده قرار می‌گیرد. این پروتکل با فرض اینکه [[لایه حمل|لایهٔ حمل (Transport Layer)]] زیرین آن قابل اعتماد است طراحی شده و معمولاً از [[قرارداد هدایت انتقال|پروتکل هدایت انتقال (TCP)]] به عنوان لایهٔ زیرین استفاده می‌کند. با این حال از این پروتکل بر روی لایه‌های غیرقابل اطمینان نیز استفاده می‌شود. مثلا در پروتکل SSDP، پروتکل انتقال ابرمتن بر روی [[قرارداد داده‌نگار کاربر|پروتکل داده‌نگار کاربر]] (یک پروتکل غیر امن) مورد استفاده قرار می‌گیرد.
خط ۳۷:
; '''GET''': درخواست نمایش منبعِ درخواست‌داده‌شده را می‌دهد. (این منبع معمولا یک [[پرونده (رایانه)|فایل یا پرونده]] می‌باشد.) این روش فقط اطلاعات را از سرور دریافت می‌کند و نباید هیچ تاثیری بر روی منابع سرور بگذارد.
; '''HEAD''': این روش دقیقا مانند روش GET عمل می‌کند ''با این تفاوت که بدنه پاسخ را نمی‌خواهد''. از این روش برای به‌دست‌آوردن [[فراداده|فراداده‌های]] موجود در سرآیند {{به انگلیسی|Header}} استفاده می‌شود. یکی از استفاده‌های رایج این نوع درخواست، بررسی تغییر یافتن یک منبع است.
; '''POST''': در این روش به همراه بستهٔ درخواست اطلاعاتی نیز فرستاده می‌شود. سرور با توجه به [[نشانی وب|نشانی وب (URL)]] درخواست شده و اطلاعات ارسال شده، منبع مورد نظر را در بستهٔ پاسخ برمی‌گرداند. این اطلاعات ارسالی می‌تواند نامِ‌کاربری و کلمهٔ‌عبور، یک نظر بر روی یک مطلب و یا اطلاعات هر فرم دیگری که توسط کاربر وارد شده است، باشد.<ref name="rfc_2616"/><sup>[بخش ۹٫۵]</sup>
; '''PUT''': در این روش منبعی به همراه بستهٔ درخواست ارسال شده و از سرور تقاضا می‌شود که این منبع را در [[یوآرآی|آدرس]] موجود در بسته [[بارگذاری]] کند. اگر در محلِ درخواست شده قبلا منبع دیگری قرار داشته باشد، منبع جدید جایگزین خواهد شد.
; '''DELETE''': از سرور درخواست می‌کند که [[یوآرآی|آدرس]] فرستاده شده را حذف نماید.
خط ۶۰:
* کدهای 2xx یا موفقیت: این کدها با عدد ۲ آغاز می‌شوند. یعنی «''درخواستِ ارسالی دریافت شده، درک شده، پذیرفته شده و با موفقیت انجام شده است''».
* کدهای 3xx یا تغییر مسیر: این کدها با عدد ۳ آغاز می‌شوند. یعنی «''کلاینت برای کامل شدن درخواست نیازمند انجام عملیات اضافی است''».
* کدهای 4xx یا خطای کلاینت: این کدها با عدد ۴ آغاز می‌شوند. این گروه از کدها مشخص می‌کنند که «''کلاینت در درخواست خود اشتباه کرده و یا باعث بروز خطا شده است''».
* کدهای 5xx یا خطای سرور: این کدها با عدد ۵ آغاز می‌شوند. با این مفهوم که «''سرور در انجام عملیات مربوط به یک بستهٔ درخواستِ ظاهراً صحیح، ناموفق بوده و با خطا مواجه شده است''».