HTTP/2 در Nginx: راهنمای فعال سازی

 

 

HTTP/2 نسخه جدید پروتکل منسوخ شده HTTP/1.1 می‌باشد که در سال 1999 به یک استاندارد کلی تبدیل شد. از آن زمان تا حالا تغییرات زیادی در سطح وب صورت گرفته است. وب اپلیکیشن‌های ما بسیار پیچیده تر شده‌اند و با وب اپلیکیشن‌های سال اواخر دهه نود و اوایل هزاره جدید قابل مقایسه نیستند. در این زمان تهدیدات هم افزایش یافت برای مقابله با این تهدیدات نیاز بود که HTTP/2 متولد شود.

مهمترین نکته درمورد HTTP/2 سریعتر بود آن نسبت به HTTP/1.1 برای کاربران مصرف کنند است، یعنی مصرف کننده‌های نهایی سایت سریعتری در اختیار خواهند داشت.

تعدادی از ویژگی‌های های HTTP/2:

  • HTTP/2 یک پروتکل باینری است.
  • HTTP/2 با HTTP/1.1 قابلیت هم‌خوانی و بازگشت به نسخه قبل را دارد.
  • HTTP/2 در سال 2015 عرضه شد.
  • دو مشخصه اصلی HTTP/ 2 را می‌توان: 1.پروتکل انتقال Hypertext نسخه 2 – RFC7540 و 2.فشرده سازی هدر RFC7541 در نظر گرفت
  • HTTP / 2 برنامه های ما را سریعتر ، ساده تر و قوی تر می کند.
  • هداف اصلی برای توسعه HTTP / 2 کاهش تأخیر بوده است.
  • HTTP / 2 براساس پروتکل SPDY گوگل است.
  • مرورگرها برای استفاده از HTTP / 2 به TLS مدرن نیاز دارند.
  • برای استفاده از HTTP/2 نیاز است که نسخه TLS ما حداقل 1.2 باشد. آموزش ارتقا TLS در این مقاله به تفصیل توضیح داده شده است.
  • اگر برای استفاده از HTTP /2 از یک سرور با TLS پایین تر از مقدار ذکر شده استفاده شود در اینصورت با خطای پروتکل روبرو می‌شویم.
  • برخی از ویژگی های اصلی HTTP / 2 عبارتند از: multiplexing ، فشرده سازی هدر ، اولویت بندی

 

ملزومات برای راه اندازی HTTP/2:

در قدم اول نیاز است Nginx را از ریپازیتوری اصلی نصب نمایید. برای الین کمنظور از کامند زیر استفاده نمایید:

 

wget https://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
printf "deb https://nginx.org/packages/mainline/ubuntu/ `lsb_release -sc` nginx \ndeb-src https://nginx.org/packages/mainline/ubuntu/ `lsb_release -sc` nginx \n" >> /etc/apt/sources.list.d/nginx_mainline.list
apt update
apt install -y nginx

 

بعد از اجرای این کامند می‌‍توانید مطمئن باشید که Nginx نصب شده است.

 

پیکربندی Nginx برای HTTP/2

پیکر بندی Nginx برای HTTP/ 2 بسیار راحت است و زمان کمی از شما خواهد گرفت برای این منظور نیاز است که تنها مقدار دستوردهنده listen را برای http2 درست تنظیم نمایید. و همانطور که قبلا هم اشاره کردیم لازم است TLS شما ورژن 1.2 یا بالاتر باشد.

 

server {
  listen 80;
  return 301 https://$host$request_uri;
}

server {

  listen 443 ssl http2 default_server;

  server_name example.com www.example.com;
  
  root /path/to/public;
  
  ssl_certificate /path/to/certificate.pem;
  ssl_certificate_key /path/to/private_key.pem;
  
  ssl_protocols TLSv1.2 TLSv1.3;
  
}
HTTP/2
مشخصات مورد نیاز برای استفاده از HTTP/2

همانطور که متوجه شدید فعال سازی HTTP/ 2 بر روی ابنتو بسیار راحت است و برای دیگر سیستم عامل‌ها هم همین روش صادق است و تنها نیاز است که تعدادی از دستورات را طبق همان سیستم‌عامل وارد نمایید.