پروتکل HTTP
21 بهمن 1399HTTP مخفف عبارت Hypertext Transfer Protocol است و این عبارت به معنی پروتکل انتقال ابر متن می باشد.
این پروتکل به یکی لایه های شبکه به نام Application Layer یا لایه کاربرد مربوط می شود.
این پروتکل علاوه بر استفاده اصلی، در زمینه های دیگری نیز مانند DNS مورد استفاده قرار میگیرد.
این پروتکل توسط گروهی با رهبری دیو راگت طراحی شده است و اولین نسخه این پروتکل با نام HTTP/1.0 در سال 1996 به صورت رسمی معرفی شد. در سال 1999 نسخه استاندارد شده ی این پروتکل با نام HTTP/1.1 به صورت رسمی معرفی شد که توسط بسیاری از مرورگر ها پشتیبانی می شد.
پروتکل HTTP یک پروتکل درخواست و پاسخ در مدل کلاینت–سرور میباشد. برای مثال یک مرورگر وب میتواند یک کلاینت و نرمافزار موجود بر روی سرویسدهنده وبسایت، یک سرور باشد. شروع این پروتکل از طرف کلاینت است که با ارسال یک درخواست HTTP به سمت سرور گفتگو را آغاز میکند. سرور بر اساس درخواست ارسالی یا منبعی مانند یک فایل را در اختیار کلاینت میگذارد یا عملیات خاصی را انجام میدهد. نتیجه این عمل سرور در بسته پاسخ HTTP برای کلاینت ارسال میشود. بسته پاسخ شامل اطلاعات وضعیت و احتمالاً محتویات منبع درخواست شده میباشد.
پروتکل انتقال ابرمتن روشهایی را برای درخواست تعریف کردهاست که هر کدام از آنها باعث انجام عمل خاص در سمت سرور میشوند. نسخه ۱٫۰ روشهای درخواست GET, POST و HEAD را دارا بود. در نسخه ۱٫۱ پنج روش جدید افزوده شد به نام های OPTIONS, PUT, DELETE, TRACE ,CONNECT.
پروتکل HTTP شامل کدهای وضعیت نیز است که هر کدام معنی خاصی دارند. کدهای وضعیت به پنج گروه تقسیم می شوند :
- کدهای 1xx یا اطلاعاتی : این کدها با عدد ۱ آغاز میشوند. این گروه، این پیام کلی را مشخص میکنندکه درخواست شما دریافت شد، ادامه دهید.
- کدهای 2xx یا موفقیت : این کدها با عدد ۲ آغاز میشوند. یعنی درخواست ارسالی دریافت شده، درک شده، پذیرفته شده و با موفقیت انجام شدهاست.
- کدهای 3xx یا تغییر مسیر : این کدها با عدد ۳ آغاز میشوند. یعنی کلاینت برای کامل شدن درخواست نیازمند انجام عملیات اضافی است.
- کدهای 4xx یا خطای کلاینت : این کدها با عدد ۴ آغاز میشوند. این گروه از کدها مشخص میکنند که کلاینت در درخواست خود اشتباه کرده یا باعث بروز خطا شدهاست.
- کدهای 5xx یا خطای سرور : این کدها با عدد ۵ آغاز میشوند. با این مفهوم که سرور در انجام عملیات مربوط به یک بسته درخواست ظاهراً صحیح، ناموفق بوده و با خطا مواجه شدهاست.
ممنون از این که مطالعه کردید.