پروتکل HTTP چیست؟
پروتکل HTTP یک پروتکل انتقال متن بین کلاینت و سرور (Client - server) است که روی پورت 80 کار میکند. به دلیل انتقال دیتاها بهصورت متنی یک پروتکل غیرامن است. اگر یک هکر به دیتاها دسترسی داشته باشد به راحتی میتواند از آنها استفاده کند.
ورژن 1 پروتکل HTTP
اولین ورژن پروتکل HTTP را تیم برنرز-لی در اواخر دهه هشتاد برای صفحات و متنها ارائه کرد. در آن زمان، زبان HTML نبود و احتمالا زبانی بهنام GML مورد استفاده قرار میگرفت.
در اواخر دهه هشتاد و اوایل دهه نود اینترنت شکل گرفت و دسترسی کاربران به اینترنت بسیار محدود بود، اما با مشکلاتی همراه بود.
معضلات ورژن 1 پروتکل HTTP
اصلیترین مسئله سرعت بود که هر فایل را نمیتوانستیم در بستر اینترنت انتقال دهیم. ارسال ویدئو که امکان نداشت و ارسال تصاویر پس از مدت زمانی رخ داد و در ابتدا تنها متن قابل انتقال بود.
علاوهبر آن درخواست (Request) صفحات حجیم نبود، همچنین فایلهای CSS وجود نداشت و در صورت وجود تصویری حجم آن بسیار پایین بود. دایال آپهای (Dial Up) 14400 بایت در ثانیه جز اینترنتهای پرسرعت بهشمار میآمد.
ورژن 1/1 پروتکل HTTP
پس از آنکه پروتکل HTTP بهروزرسانی (Update) شد، نام آن ورژن 1/1 گذاشتند. در این ورژن جدید علاوهبر امکان ارسال و دریافت فایلهای HTML، فایل CSS و JavaScript هم فراخوانی میکرد. همچنین ماکرومدیا فلش (Macromedia Flash) که امروزه منقرض شده است.
معضلات ورژن 1/1 پروتکل HTTP
اما در این ورژن چه مسائلی وجود داشت. در زمان لود یک صفحه همراه آن فایلهای بسیاری نظیر تصاویر، فایلهای JavaScript و ... فراخوانی میشد. در واقع فراخوانی بهصورتی بود که امکان ارسال یک درخواست و دریافت یک درخواست وجود داشت. لذا امکان ارسال درخواست و دریافت بهصورت همزمان وجود نداشت.
در ویدئو تصویری از نحوه عملکرد ورژن 1/1 پروتکل HTTP نمایش داده میشود برای درک بهتر ویدئو را تماشا کنید.
درواقع پارالل Parallel (موازی) نبودن کانکشنها سبب شد روی سرورها Keep alive راهاندازی شود.
ورژن 2 پروتکل HTTP
پس از مدتی ورژن 2 پروتکل HTTP لانچ launch و امکان ارسال یک درخواست و دریافت چند بازخورد ایجاد شد.
بهعنوان مثال یک درخواست برای مشاهده صفحهای دارید که دارای 5 فایل CSS است که در این ورژن امکان دریافت همزمان حداقل 3 فایل از آنها وجود دارد. در ورژنهای قبلی درخواست و دریافت به صورت سری و تکی بود که این مورد بسیار روی سرعت تاثیر میگذاشت و زمانبر بود ولی در ورژن 2 امکان درخواست و دریافت به صورت موازی فراهم شده است.
امروزه علاوهبر اینکه از ورژن 2 پروتکل HTTP استفاده میشود، در بسیاری از سایتها از ورژن 1/1 نیز استفاده میکنند. درصورتیکه وب سرورهای آپاچی یا Ios را نصب کنید بهصورت دیفالت ورژن 1/1 بالا میآید.
تاکنون از مزیتهای ورژن 2 گفتیم اما تبدیل به این ورژن خود یک مسئله دیگر است که بسیار روی سرعت تاثیر گذاشته و سبب افزایش آن میشود.
ورژن 3 پروتکل HTTP
امروزه از ورژن 3 پروتکل HTTP که Launch شده، استفاده میشود. اما مزیت این ورژن بدین صورت است که امکان درخواست و دریافت چند فایل بهصورت همزمان وجود دارد. در واقع یعنی تمامی فراخوانیها به صورت موازی انجام میشود و این عامل بهشدت سبب افزایش سرعت آن شده است.
چطور تبدیل به ورژن 3 پروتکل HTTP صورت میگیرد؟
اینکه چطور به ورژن 3 پروتکل HTTP تبدیل شویم با مسائلی همراه است. بهعنوان مثال Nginx بهصورت پیش فرض روی ورژن 2 یا 3 بالا میآید. همچنین زمانیکه لایت اسپید (LiteSpeed) را راهاندازی میکنید، آپاچی آن با ورژن 3 کار میکند که بر روی سرعت تاثیر بسزایی دارد.
امنیت پروتکل HTTP
علاوهبر نکات ذکر شده، امنیت پروتکل HTTP بسیار پایین است برای افزایش امنیت آن یک لایه به آن اضافه میکنند بهنام SSL که در واقع پروتکل HTTP را به پروتکل HTTPS تبدیل میکند.
SSL مخفف Secure Sockets Layer است که یک پروتکل امنیتی اینترنت مبتنی بر رمزگذاری اضافه میشود و دیگر پورت آن همانند HTTP 80 نیست و روی پورت 443 قرار دارد.
آنچه سئوکاران بایستی بدان دقت نمایند این است که یک سایت حتما SSL داشته باشد. اینکه SSL چه نوع ورژن، حجم و چه سرتیفیکیت (Certificate) دارد، جزو مواردی جزئی است و هر چقدر مقدار بیت اطلاعاتی که میگیرد بزرگتر باشد امنیت بیشتر است. بهعنوان مثال؛ 1024 – 2048.
این را بدانید که با SSL رایگان هم امکان شروع فعالیت وجود دارد. SSLهایی با سرتیفیکیتهای معتبر جهانی هم میتوانید داشته باشید. هر کدام از این نوع SSLها برای تاکید امنیت وبسایت است.
SSL رایگان یا با سرتیفیکیتهای جهانی چه تاثیری بر سئو دارد؟
تاثیری روی سئو ندارد اما روی UX بهدلیل نمایش SSL در مرورگر تاثیرگذار است. اما از لحاظ سئو اینکه چقدر گوگل بدان اهمیت میدهد را هنوز بهصورت دقیق بررسی نکردهام.