HTTP/3 چیست و چه تفاوتی با HTTP/2 دارد؟ راهنمای کامل انتخاب پروتکل مناسب

پروتکل ارتباطی HTTP اساس انتقال دادهها در وب جهانی است. از زمان پیدایش نخستین نسخه این پروتکل تا به امروز، نحوه تبادل اطلاعات میان مرورگر کاربر و سرور میزبان دچار تحولات بنیادینی شده است. با پیچیدهتر شدن صفحات وب، افزایش حجم فایلهای رسانهای و همهگیر شدن استفاده از اینترنت همراه در شبکههای ناپایدار، پروتکلهای قدیمیتر با چالشهای عملکردی متعددی مواجه شدند. در این راهنما به بررسی نسل جدید این پروتکل، یعنی HTTP/3، تفاوتهای ساختاری آن با HTTP/2 و نحوه انتخاب پروتکل مناسب برای زیرساخت وبسایت میپردازیم.
HTTP چیست و چرا پروتکل ارتباطی وب اهمیت دارد؟
پروتکل انتقال ابرمتن یا همان HTTP، مجموعهای از استانداردهای ارتباطی در لایه اپلیکیشن است که نحوه ارسال، دریافت و تفسیر درخواستها و پاسخها را میان کلاینت و سرور مشخص میکند. وقتی کاربری آدرس یک وبسایت را در مرورگر خود وارد میکند، مجموعهای از درخواستهای HTTP برای دریافت فایلهای HTML، استایلهای CSS، اسکریپتهای JavaScript و تصاویر ایجاد میشود. ساختار و نحوه پیادهسازی این پروتکل میتواند بر سرعت بارگذاری صفحات، تاخیر شبکه و مصرف منابع سرور تاثیر بگذارد.
در سالهای اولیه پیدایش وب، نسخههای ابتدایی HTTP محدودیتهای قابلتوجهی در مدیریت ارتباطات داشتند. در HTTP/1.1 با وجود پشتیبانی از اتصالهای پایدار، مدیریت تعداد زیادی درخواست برای دریافت منابع مختلف صفحه همچنان با محدودیتهایی همراه بود. این شرایط در وبسایتهای مدرن که به تعداد زیادی فایل و منبع نیاز دارند، میتوانست باعث افزایش تاخیر شود. با پیچیدهتر شدن وب، نیاز به معماری کارآمدتر بیشتر احساس شد و در نهایت HTTP/2 با هدف بهبود نحوه انتقال همزمان منابع وارد عرصه شد.
HTTP/2 چیست و چه تغییری در ارتباط مرورگر و سرور ایجاد کرد؟
پروتکل HTTP/2 در سال ۲۰۱۵ با هدف رفع بخشی از محدودیتهای نسخههای قبلی معرفی شد. این پروتکل به جای نمایش پیامها به شکل متنی، دادههای HTTP را در قالب فریمهای باینری منتقل میکند تا پردازش و مدیریت آنها کارآمدتر باشد. HTTP/2 همچنین نحوه استفاده از یک اتصال شبکه را بهینه کرد تا مرورگر بتواند درخواستها و پاسخهای متعددی را از طریق یک اتصال TCP مدیریت کند.
Multiplexing چیست و چگونه سرعت انتقال درخواستها را افزایش میدهد؟
قابلیت مالتیپکسینگ یا Multiplexing به کلاینت و سرور اجازه میدهد چندین درخواست و پاسخ مجزا را بهصورت همزمان از طریق یک اتصال واحد TCP ارسال و دریافت کنند. در HTTP/1.1، مدیریت تعداد زیادی درخواست برای منابع مختلف صفحه با محدودیتهایی همراه بود و مرورگرها برای افزایش کارایی از چند اتصال موازی نیز استفاده میکردند.
با معرفی مالتیپکسینگ در HTTP/2، دادههای مربوط به درخواستها و پاسخهای مختلف در قالب فریمهای مجزا روی یک اتصال مشترک منتقل میشوند. این معماری نیاز به ایجاد تعداد زیادی اتصال موازی را کاهش میدهد و میتواند زمان انتظار برای دریافت منابع صفحه را کمتر کند.
Header Compression در HTTP/2 چه کاربردی دارد؟
در هر درخواست و پاسخ HTTP، بخش قابلتوجهی از اطلاعات در قالب هدرها (Headers) ارسال میشود که میتوانند شامل اطلاعاتی مانند کوکیها، مشخصات درخواست و سایر متادیتا باشند. در وبسایتهای پردرخواست، ارسال مکرر اطلاعات مشابه میتواند بخشی از پهنای باند را مصرف کند.
HTTP/2 الگوریتم HPACK را برای فشردهسازی هدرها معرفی کرد. این الگوریتم با استفاده از جدولهای فشردهسازی و حذف نیاز به ارسال مکرر برخی اطلاعات، حجم دادههای مربوط به هدرها را کاهش میدهد و استفاده از پهنای باند را بهینهتر میکند.
HTTP/2 چگونه مشکل درخواستهای متعدد را کاهش داد؟
علاوه بر مالتیپکسینگ و فشردهسازی هدرها، HTTP/2 از سازوکارهایی مانند Stream Prioritization برای مدیریت اولویت جریانها پشتیبانی میکرد. HTTP/2 همچنین قابلیت Server Push را معرفی کرد که به سرور اجازه میداد برخی منابع را پیش از درخواست مستقیم کلاینت ارسال کند؛ هرچند این قابلیت بعدها در مرورگرهای اصلی کنار گذاشته شد و امروزه نباید آن را یکی از مزایای عملی اصلی HTTP/2 در نظر گرفت.
مجموع قابلیتهای HTTP/2 باعث شد مدیریت تعداد زیادی درخواست برای منابع وب کارآمدتر شود و نیاز به برخی ترفندهای قدیمی مانند ترکیب فایلهای CSS یا استفاده گسترده از Spriteهای تصویری، کاهش پیدا کند.
HTTP/3 چیست و چرا نسل جدید پروتکل HTTP به وجود آمد؟
با وجود تمام بهبودهای چشمگیر HTTP/2، این پروتکل همچنان به TCP در لایه انتقال وابسته است. در HTTP/2 چندین جریان داده از یک اتصال TCP مشترک استفاده میکنند. در صورت از دست رفتن یک بسته، سازوکارهای TCP میتوانند باعث شوند تحویل دادههای بعدی همان اتصال تا دریافت مجدد داده ازدسترفته با تاخیر مواجه شود.
HTTP/3 برای کاهش این محدودیتها طراحی شد. این پروتکل به جای TCP از QUIC استفاده میکند؛ پروتکلی که روی UDP ساخته شده و قابلیتهایی مانند مدیریت جریانها، کنترل ازدحام، بازیابی بستههای ازدسترفته و رمزنگاری را در سطح خود پیادهسازی میکند.
QUIC چیست و چه ارتباطی با HTTP/3 دارد؟
پروتکل QUIC ابتدا توسط گوگل توسعه داده شد و سپس توسط IETF استانداردسازی شد. QUIC پایه انتقال داده در HTTP/3 است و در واقع HTTP/3 همان پروتکل HTTP است که به جای TCP، روی QUIC اجرا میشود.
QUIC قابلیت مالتیپکسینگ را در سطح انتقال ارائه میدهد و هر جریان داده را بهصورت مستقل مدیریت میکند. همچنین TLS 1.3 بهصورت یکپارچه در فرایند برقراری اتصال QUIC استفاده میشود. این معماری امکان برقراری اتصال امن و مدیریت کارآمدتر جریانهای متعدد را فراهم میکند.
چرا HTTP/3 به جای TCP از UDP استفاده میکند؟
UDP بهخودیخود قابلیتهایی مانند تضمین تحویل، کنترل ازدحام یا بازیابی بستههای ازدسترفته را مانند TCP ارائه نمیدهد. مزیت QUIC این است که این قابلیتها را در سطح پروتکل خود پیادهسازی میکند و در عین حال از UDP بهعنوان بستر انتقال استفاده میکند.
این معماری به QUIC اجازه میدهد کنترل بیشتری روی نحوه مدیریت جریانها و بازیابی دادهها داشته باشد. بنابراین استفاده از UDP در HTTP/3 به معنای ناامن یا غیرقابلاعتماد بودن ارتباط نیست؛ QUIC قابلیتهای لازم برای انتقال قابلاعتماد و امن داده را در سطح خود فراهم میکند.
تفاوت HTTP/2 و HTTP/3 دقیقا در چیست؟
اصلیترین تفاوت این دو نسل به معماری لایه انتقال و نحوه برقراری اتصال بازمیگردد. HTTP/2 روی TCP اجرا میشود، در حالی که HTTP/3 از QUIC روی UDP استفاده میکند. جدول زیر مهمترین تفاوتهای این دو پروتکل را نشان میدهد:
| ویژگی | HTTP/2 | HTTP/3 |
|---|---|---|
| پروتکل لایه انتقال | TCP | QUIC روی UDP |
| قابلیت Multiplexing | دارد؛ بر پایه جریانهای TCP | دارد؛ با جریانهای مستقل QUIC |
| مدیریت Packet Loss | تحت تاثیر محدودیتهای TCP | مدیریت مستقل جریانها در QUIC |
| فرایند Handshake | TCP و سپس TLS | QUIC همراه با TLS 1.3 |
| عملکرد در Latency بالا | مناسب | در برخی شرایط بهینهتر |
| عملکرد هنگام Packet Loss | امکان ایجاد تاخیر برای جریانهای دیگر | کاهش تاثیر ازدسترفتن بسته یک جریان بر جریانهای دیگر |
| رمزنگاری | در استاندارد الزامی نیست، اما در مرورگرهای مدرن عملا با TLS استفاده میشود | TLS 1.3 بهصورت یکپارچه در QUIC استفاده میشود |
| پشتیبانی مرورگرها | گسترده و کامل | گسترده و پشتیبانیشده در مرورگرهای مدرن |
HTTP/3 چگونه مشکلهایی را که HTTP/2 داشت برطرف میکند؟
اگرچه HTTP/2 پیشرفت بزرگی محسوب میشد، اما استفاده از TCP همچنان محدودیتهایی را در شرایط خاص شبکه ایجاد میکرد. HTTP/3 با استفاده از QUIC تلاش میکند این محدودیتها را در سطح انتقال کاهش دهد.
مشکل Head-of-Line Blocking در HTTP/2 چیست؟
در HTTP/2، تمام جریانهای مالتیپکسشده روی یک اتصال TCP منتقل میشوند. TCP دادهها را بهصورت یک جریان مرتب از بایتها مدیریت میکند. اگر یک بسته در مسیر گم شود، TCP باید آن داده را دوباره دریافت کند تا ترتیب صحیح دادهها حفظ شود.
در نتیجه، حتی اگر دادههای مربوط به سایر جریانها در سمت گیرنده موجود باشند، ممکن است تحویل آنها به لایه بالاتر تا زمان دریافت بخش ازدسترفته با تاخیر مواجه شود. این وضعیت نمونهای از Head-of-Line Blocking در لایه انتقال است.
HTTP/3 چگونه Packet Loss را بهتر مدیریت میکند؟
در QUIC، جریانهای داده بهصورت مستقل از یکدیگر مدیریت میشوند. بنابراین اگر یک بسته مربوط به یک جریان از دست برود، بازیابی آن بسته لزوما مانع ادامه دریافت دادههای سایر جریانها نمیشود.
برای مثال، اگر بخشی از یک تصویر از دست برود، جریان مربوط به آن تصویر ممکن است منتظر بازیابی داده باشد، اما جریانهای مربوط به فایلهای دیگر میتوانند به انتقال خود ادامه دهند. این ویژگی یکی از تفاوتهای مهم HTTP/3 با HTTP/2 در مواجهه با Packet Loss است.
چرا HTTP/3 در شبکههای ناپایدار میتواند عملکرد بهتری داشته باشد؟
کاربرانی که از شبکههای موبایل (4G/5G) یا Wi-Fi با کیفیت متغیر استفاده میکنند، ممکن است با تغییر مسیر شبکه، تغییر IP یا Packet Loss مواجه شوند. QUIC قابلیتی به نام Connection ID دارد که به شناسایی اتصال مستقل از IP و پورت فعلی کمک میکند.
به همین دلیل، در شرایطی مانند جابهجایی کاربر بین Wi-Fi و اینترنت همراه، اتصال QUIC میتواند بدون نیاز به ایجاد یک اتصال کاملا جدید ادامه پیدا کند. البته این قابلیت به شرایط شبکه و نحوه تغییر مسیر اتصال نیز وابسته است.
آیا HTTP/3 واقعا سریعتر از HTTP/2 است؟
پاسخ کوتاه و واقعبینانه این است که HTTP/3 همیشه و در تمام سناریوها سریعتر از HTTP/2 نیست. در شبکههایی با کیفیت بالا، تاخیر پایین و Packet Loss ناچیز، تفاوت عملکرد ممکن است برای کاربر نهایی چندان محسوس نباشد.
عوامل کلیدی تعیینکننده عملکرد عبارتاند از:
- میزان تاخیر یا Latency: در برخی شبکههای با تاخیر بالا، ویژگیهای QUIC و کاهش رفتوبرگشتهای لازم برای برقراری اتصال میتواند به بهبود زمان شروع ارتباط کمک کند.
- نرخ افت بسته یا Packet Loss: یکی از مهمترین مزایای HTTP/3 در شبکههای ناپایدار، کاهش تاثیر Packet Loss یک جریان بر جریانهای دیگر است.
- فاصله جغرافیایی تا سرور: هرچه کاربر از دیتاسنتر دورتر باشد، تعداد رفتوبرگشتهای شبکه میتواند تاثیر بیشتری بر زمان برقراری اتصال داشته باشد.
- کیفیت شبکه و نوع دستگاه: کاربران شبکههای موبایل و شبکههایی با کیفیت متغیر ممکن است بیشتر از مزایای HTTP/3 بهره ببرند.
در نتیجه، فعالسازی HTTP/3 به معنای چند برابر شدن ناگهانی سرعت تمام وبسایتها نیست، بلکه این پروتکل میتواند در شرایط خاص، بهویژه شبکههای دارای تاخیر یا Packet Loss، پایداری و عملکرد ارتباط را بهبود دهد.
HTTP/2 یا HTTP/3؛ کدامیک برای وبسایت شما بهتر است؟
انتخاب بین این دو پروتکل نیازمند شناخت نوع مخاطبان، ساختار زیرساخت و شرایط شبکه وبسایت است.
HTTP/3 برای چه وبسایتهایی انتخاب مناسبتری است؟
استفاده از HTTP/3 میتواند برای گروههای زیر مزایای بیشتری داشته باشد:
- فروشگاههای اینترنتی: که سرعت بارگذاری و پاسخگویی صفحات میتواند روی تجربه کاربر و نرخ تبدیل (Conversion Rate) تاثیر بگذارد.
- سایتهای پرترافیک و رسانهای: که تعداد زیادی فایل استاتیک و درخواست همزمان دارند.
- وبسایتهای بینالمللی: که کاربران آنها از نقاط جغرافیایی مختلف و با شرایط شبکه متفاوت به سایت متصل میشوند.
- سایتهای مبتنی بر کاربران موبایل: که بخش قابلتوجهی از ترافیک آنها از طریق اینترنت همراه تامین میشود.
چه زمانی HTTP/2 همچنان انتخاب مناسبی است؟
اگر وبسایت شما ساختاری ساده دارد و بیشتر کاربران آن از شبکههای پایدار و کمتاخیر استفاده میکنند، ممکن است تفاوت HTTP/3 با HTTP/2 چندان محسوس نباشد. همچنین اگر زیرساخت یا وبسرور شما قدیمی است، پشتیبانی مناسبی از HTTP/3 ندارد یا باز کردن UDP روی پورت 443 برای شما امکانپذیر نیست، HTTP/2 همچنان گزینهای بالغ و قابلاعتماد است.
از طرف دیگر، QUIC میتواند در برخی شرایط سربار پردازشی بیشتری ایجاد کند؛ بنابراین در سرورهایی با منابع بسیار محدود، بهتر است تاثیر فعالسازی HTTP/3 را با توجه به بار واقعی سیستم بررسی کنید.
HTTP/3 چه تاثیری بر سرعت سایت و Core Web Vitals دارد؟
HTTP/3 با بهینهسازی نحوه انتقال داده میتواند در برخی شرایط به بهبود عملکرد فنی وبسایت کمک کند. با این حال، فعالسازی این پروتکل بهتنهایی تضمینکننده بهبود Core Web Vitals نیست.
مهمترین تاثیرات احتمالی عبارتاند از:
- بهبود TTFB: برقراری اتصال QUIC و استفاده از TLS 1.3 میتواند در برخی شرایط زمان لازم برای شروع تبادل داده را کاهش دهد و مقدار TTFB را بهبود ببخشد.
- بهبود LCP: کاهش تاثیر Head-of-Line Blocking در لایه انتقال میتواند در برخی شبکهها به دریافت سریعتر منابع مهم صفحه کمک کند.
- کاهش تاثیر Latency: معماری QUIC میتواند در شبکههای دارای تاخیر یا Packet Loss، عملکرد انتقال داده را بهبود دهد.
در نتیجه، HTTP/3 را باید یکی از عوامل موثر بر عملکرد شبکه دانست، نه راهکاری مستقل برای بهبود Core Web Vitals. عواملی مانند کیفیت سرور، زمان پاسخگویی برنامه، حجم منابع، کش، CDN و بهینهسازی فایلها همچنان تاثیر بسیار مهمی بر عملکرد سایت دارند.
همچنین فعالسازی HTTP/3 بهتنهایی سیگنال مستقیم رتبهبندی الگوریتمهای گوگل محسوب نمیشود. اگر HTTP/3 باعث بهبود تجربه کاربر و شاخصهای عملکردی سایت شود، تاثیر احتمالی آن بر سئو بیشتر از همین مسیر غیرمستقیم خواهد بود.
HTTP/3 چه ارتباطی با HTTPS و TLS دارد؟
در HTTP/3، امنیت ارتباط بخشی جداییناپذیر از QUIC است. QUIC از TLS 1.3 برای احراز هویت و رمزنگاری ارتباط استفاده میکند و برخلاف HTTP/1.1 یا HTTP/2، امکان استفاده از HTTP/3 بدون این لایه امنیتی وجود ندارد.
آیا HTTP/3 به گواهینامه SSL نیاز دارد؟
بله، برای راهاندازی HTTP/3 باید یک گواهینامه SSL معتبر روی دامنه تنظیم شده باشد. از آنجا که QUIC از TLS 1.3 برای برقراری ارتباط امن استفاده میکند، اتصال HTTP/3 بدون پیکربندی صحیح TLS/SSL امکانپذیر نیست.
در بازار و میان کاربران، اصطلاح گواهینامه SSL همچنان رایج است؛ با این حال، فناوری مورد استفاده در HTTP/3 در واقع TLS 1.3 است.
آیا همه وبسایتها باید HTTP/3 را فعال کنند؟
خیر، الزام قطعی برای فعالسازی HTTP/3 در همه وبسایتها وجود ندارد. پیش از اقدام باید زیرساخت سرور، مصرف پردازنده، پشتیبانی وبسرور، وضعیت فایروال و امکان انتقال ترافیک UDP روی پورت 443 بررسی شود.
در صورتی که شبکه یا فایروال کاربر UDP را مسدود کند، مرورگر میتواند از پروتکلهای دیگر مانند HTTP/2 استفاده کند؛ بنابراین فعالسازی HTTP/3 معمولا به معنای کنار گذاشتن HTTP/2 نیست و میتوان امکان استفاده از پروتکل جایگزین را حفظ کرد.
چگونه HTTP/3 را روی وبسایت فعال کنیم؟
فعالسازی HTTP/3 به معماری وبسرور و زیرساخت شبکه شما بستگی دارد:
- استفاده از CDN: سرویسهایی مانند Cloudflare امکان فعالسازی HTTP/3 را در سمت edge فراهم میکنند و برای بسیاری از وبسایتها سادهترین روش استفاده از این پروتکل هستند.
- وبسرور LiteSpeed: نسخههای جدید LiteSpeed از HTTP/3 و QUIC پشتیبانی میکنند و در صورت فراهم بودن شرایط زیرساختی، راهاندازی آن نیاز به تنظیمات پیچیدهای ندارد.
- وبسرور Nginx: نسخهها و بستههای جدید Nginx از HTTP/3 پشتیبانی میکنند، اما نحوه ارائه این قابلیت به روش نصب و build وبسرور بستگی دارد. برای استفاده مستقیم از HTTP/3 باید UDP روی پورت 443 نیز در دسترس باشد.
- وبسرور Apache: بسته به نسخه و معماری سرور، استفاده از HTTP/3 ممکن است به اجزای اضافی یا قرار گرفتن یک Reverse Proxy پشتیبان از HTTP/3 در جلوی سرور نیاز داشته باشد.
از کجا بفهمیم وبسایت ما از HTTP/2 یا HTTP/3 استفاده میکند؟
برای بررسی پروتکل مورد استفاده در اتصال وبسایت، روشهای ساده و کاربردی زیر در دسترس هستند:
- استفاده از Chrome DevTools: مرورگر Chrome را باز کنید، کلید F12 را فشار دهید و به زبانه Network بروید. روی عنوان ستونهای جدول کلیک راست کنید و گزینه Protocol را فعال کنید. در صورتی که عبارت
h3درج شده باشد، اتصال از HTTP/3 استفاده میکند وh2نشاندهنده HTTP/2 است. - بررسی هدر Alt-Svc: سرورهایی که HTTP/3 را اعلام میکنند، میتوانند هدر
Alt-Svcرا در پاسخ HTTP ارسال کنند تا مرورگر را از در دسترس بودن سرویس HTTP/3 مطلع کنند. - ابزارهای آنلاین: ابزارهایی مانند HTTP/3 Check میتوانند دامنه شما را بررسی کرده و اطلاعات مربوط به پشتیبانی از HTTP/3 و QUIC را نمایش دهند.
HTTP/2 یا HTTP/3؛ در نهایت کدام را انتخاب کنیم؟
برای اتخاذ تصمیم نهایی، جدول زیر راهنمای سریع و کاربردی بر اساس وضعیت زیرساخت شما است:
| شرایط وبسایت و زیرساخت | پیشنهاد نهایی |
|---|---|
| زیرساخت قدیمی با پردازنده محدود | HTTP/2 |
| وبسرور مدرن یا استفاده از CDN | HTTP/3 |
| مخاطبان عمدتا موبایل یا دارای شبکه ناپایدار | HTTP/3 |
| عدم امکان باز کردن پورت UDP 443 در فایروال | HTTP/2 |
| امکان پیادهسازی همزمان همراه با Fallback | HTTP/3 با Fallback به HTTP/2 |
اگر زیرساخت و وبسرور شما توانایی پشتیبانی از QUIC را دارد، فعالسازی HTTP/3 میتواند گامی موثر برای بهینهسازی تجربه کاربران باشد، بهخصوص اگر بخش قابلتوجهی از مخاطبان از شبکههای موبایل یا شبکههای دارای تاخیر و Packet Loss استفاده میکنند.
با این حال، HTTP/2 همچنان پروتکلی سریع، پایدار و قابلاعتماد است و فعال نبودن HTTP/3 به معنای ضعف زیرساخت وبسایت نیست. در بسیاری از پروژهها، بهترین رویکرد این است که HTTP/3 در کنار HTTP/2 فعال شود تا مرورگر بر اساس شرایط اتصال، مناسبترین مسیر را انتخاب کند.
سوالات متداول
HTTP/3 جدیدترین نسخه پروتکل ارتباطی وب است که بر پایه پروتکل QUIC و UDP توسعه یافته و برخلاف HTTP/2 که از TCP استفاده میکند، مشکل کندی شبکه در صورت افت بستههای داده را به طور کامل حل کرده است.
خیر، HTTP/3 نه تنها ناامن نیست بلکه پروتکل رمزنگاری TLS 1.3 به صورت پیشفرض و جداییناپذیر درون پروتکل QUIC ادغام شده است و تمام ارتباطات آن کاملا رمزگذاری میشوند.
بله، اکثر مرورگرهای مدرن از جمله کروم، فایرفاکس، اج و سافاری از HTTP/3 پشتیبانی میکنند و در صورت عدم پشتیبانی شبکه کاربر، ارتباط به صورت خودکار به HTTP/2 تغییر مییابد.
بله، پروتکل HTTP/3 بدون داشتن گواهینامه SSL فعال و معتبر اجرا نمیشود زیرا رمزنگاری لایه امنیتی بخشی از ساختار اصلی آن است.
خیر، استفاده از HTTP/3 به تنهایی سیگنال مستقیم رتبهبندی گوگل نیست، اما با بهبود شاخصهای سرعت و تجربه کاربری میتواند تاثیر مثبت غیرمستقیم بر سئو داشته باشد.
با باز کردن ابزار DevTools مرورگر در زبانه Network و فعال کردن ستون Protocol، در صورت استفاده از این پروتکل عبارت h3 در مقابل درخواستها نمایش داده میشود.




























شما میتوانید دیدگاه خود را در مورد این مطلب با ما با اشتراک بگذارید.