همه چیزهایی که شما باید در مورد HTTP بدانید
HTTP (پروتکل انتقال ابرمتنی) یک استاندارد پروتکل شبکه را فراهم می کند که مرورگرها و سرورهای وب برای برقراری ارتباط استفاده می کنند. این آسان است که در هنگام بازدید از یک وبسایت به رسمیت شناخته شود زیرا به درستی در URL نوشته شده است (به عنوان مثال http: // www. ).
این پروتکل شبیه دیگران مانند FTP است که توسط برنامه مشتری برای درخواست فایل از یک سرور از راه دور استفاده می شود. در مورد HTTP، معمولا یک مرورگر وب است که فایلهای HTML را از یک وب سرور درخواست می کند و سپس در مرورگر با متن، تصاویر، لینک ها و غیره نمایش داده می شود.
HTTP چیزی است که به نام "سیستم بدون حقوق" نامیده می شود. این بدان معناست که بر خلاف دیگر پروتکل های انتقال فایل مانند FTP ، اتصال HTTP پس از اتمام درخواست کاهش می یابد. بنابراین، هنگامی که مرورگر شما درخواستی را ارسال می کند و سرور با صفحه پاسخ می دهد، اتصال بسته می شود.
از آنجا که اغلب مرورگر وب به طور پیش فرض به HTTP می رسد، می توانید فقط نام دامنه را تایپ کنید و مرورگر را به صورت خودکار قسمت "http: //" پر کنید.
تاریخچه HTTP
تیم برنرز-لی ابتدای HTTP را در اوایل دهه 1990 به عنوان بخشی از کار خود در تعریف اصلی جهانی وب ایجاد کرد . سه نسخه اولیه در دهه 1990 به طور گسترده ای مورد استفاده قرار گرفت:
- HTTP 0.9 (برای پشتیبانی از اسناد هگزاوی اولیه
- HTTP 1.0 (پسوند برای پشتیبانی وب سایت های غنی و مقیاس پذیر بودن)
- HTTP 1.1 (توسعه یافته برای محدود کردن عملکرد HTTP 1.0، مشخص شده در اینترنت RFC 2068)
آخرین نسخه، HTTP 2.0، به استاندارد تایید شده در سال 2015 تبدیل شد. این سازگاری برگشتی با HTTP 1.1 را ارائه می دهد اما پیشرفت های عملکردی بیشتری را ارائه می دهد.
در حالی که HTTP استاندارد ترافیک ارسال شده بر روی یک شبکه را رمزگذاری نمی کند، استاندارد HTTPS برای اضافه کردن رمزگذاری به HTTP از طریق استفاده از (در ابتدا) Secure Sockets Layer (SSL) یا (بعد) Security Layer Security (TLS) توسعه داده شد.
چگونه HTTP کار می کند
HTTP یک پروتکل لایه کاربردی است که در بالای TCP ساخته شده است که از یک مدل ارتباطی مشتری-سرور استفاده می کند. مشتریان و سرورهای HTTP از طریق درخواست HTTP و پیام های پاسخگویی ارتباط برقرار می کنند. سه نوع پیام اصلی HTTP GET، POST و HEAD است.
- HTTP GET پیام های فرستاده شده به سرور حاوی تنها یک URL است . صفر یا بیشتر پارامترهای داده اختیاری ممکن است به انتهای URL اضافه شود. سرور پردازنده بخش داده های اختیاری URL، در صورت وجود، و نتیجه (یک صفحه وب یا عنصر یک صفحه وب) را به مرورگر باز می گرداند.
- پیام های HTTP POST هر پارامتر داده های اختیاری را در قسمت پیام درخواستی جای می دهند تا آنها را به انتهای URL اضافه کنند.
- درخواست HTTP HEAD همانند درخواست های GET عمل می کند. به جای پاسخ دادن به محتوای کامل نشانی اینترنتی، سرور فقط اطلاعات هدر (که درون بخش HTML قرار دارد) ارسال می شود.
مرورگر با برقراری یک اتصال TCP به سرور، با یک سرور HTTP ارتباط برقرار می کند. جلسات مرور وب از پورت 80 سرور به طور پیش فرض استفاده می کنند، هرچند بعضی از پورت های دیگر مانند 8080 گاهی اوقات به جای آن استفاده می شود.
هنگامی که یک جلسه برقرار می شود، کاربر با فرستادن و دریافت پیام های HTTP با مراجعه به صفحه وب، پیام را ارسال می کند.
مسائل با HTTP
پیغام های ارسالی بیش از HTTP می تواند به دلایل مختلف موفقیت آمیز باشد:
- خطای کاربر
- سوء استفاده از مرورگر وب یا سرور وب
- اشتباهات در ایجاد صفحات وب
- شبکه موقت موقت
هنگامی که این شکست رخ می دهد، پروتکل علت شکست را (در صورت امکان) ضبط می کند و یک خطای خطا را به مرورگر به نام خط / کد وضعیت HTTP گزارش می دهد . خطاها با یک عدد مشخص شروع می شوند تا نشان دهند چه نوع خطایی است.
به عنوان مثال، خطاهای 4xx نشان می دهد که درخواست صفحه نمی تواند به درستی انجام شود و یا درخواست شامل نحو نادرست باشد. به عنوان مثال، خطاهای 404 به این معنی است که صفحه را نمیتوان یافت؛ برخی از وبسایتها برخی صفحات خطا 404 سفارشی را دارند .