پروتکل انتقال ابرمتن نگارش ۳

از ویکی‌پدیا، دانشنامهٔ آزاد
پروتکل انتقال ابرمتن نگارش ۳
استاندارد بین المللیHypertext Transfer Protocol Version 3 (HTTP/3) (draft)
توسعه یافته توسطکارگروه مهندسی اینترنت
تاریخ معرفیInternet-Draft تا تاریخ مه ۲۰۲۰

پروتکل انتقال ابرمتن نگارش ۳ (به انگلیسی: HTTP/3)و یا به‌طور خلاصه(H3)[۱] سومین نسخه اصلی پروتکل انتقال ابرمتن است که برای تبادل اطلاعات در شبکه وب جهان‌گستر مورد استفاده قرار می‌گیرد.[۲][۳]

نگارش سوم پروتکل انتقال ابرمتن یک پیش‌نویس مبتنی بر یک پیش‌نویس قبلی RFC میباشد بعد تر به نام "پروتکل انتقال ابرمتن (HTTP) بر روی QUIC" نام نهاده شد.QUIC یک لایه انتقال و پروتکل انتقال میباشد که به صورت بدوی توسط گوگل توسعه داده شده است. کنترل ازدحام در این فضای کاربری روی یک پروتکل داده‌نگاری کاربران(UDP) استفاده میشود.

در روز ۲۸ اکتبر ۲۰۱۸ در یک گفت گوی داخل میلینگ لیست مارک ناتینگام بر کرسی کارگروه مهندسی اینترنت (IETF) نشست. این کارگروه بواسطه گروه های کاربری HTTP و QUIC طی یک درخواست رسمی خواست تا نام پروژه از HTTP-over-QUIC به HTTP/3 (نگارش سوم پروتکل انتقال ابرمتن) تغییر کند. این درخواست بدین منظور صورت گرفت که شناسایی آن از دیگر مفاهیم اتصال HTTP به‌صورت پروتکل سیمی شفاف و قابل‌شناسایی شود و بدین صورت مردم تفکیک این از QUIC را متوجه شدند. فعالیت اخیر به این دلیل نیز انجام شد ، که توسعه این ابزار پس از نهایی شدن و انتشار پیش‌نویس از گروه کاربری QUIC به گروه کاربری HTTP محول شود.[۴] مدتی بعد پیشنهاد ناتینگام توسط همکارانش در کارگروه مهندسی اینترنت در نوامبر ۲۰۱۸ مورد قبول گرفت.[۵]

پشتیبانی از نگارش سوم HTTP در سپتامبر ۲۰۱۹ به گوگل کروم اضافه شد ، همچنین در نوامبر ۲۰۱۹ نیز فایرفاکس این پشتیبانی را اضافه کرد.[۶][۷]

پیاده‌سازی ها[ویرایش]

مرورگرها[ویرایش]

مرورگر نگارش پیاده‌سازی شده تاریخ
گوگل کروم Canary build سپتامبر ۲۰۱۹
فایرفاکس Nightly build (72.0a1) نوامبر ۲۰۱۹

کتابخانه ها[ویرایش]

کتابخانه هایی متن‌باز که منطق کلاینت یا سرور را برای HTTP/3 یا QUIC پیاده کرده اند به شرح زیر هستند.

نام کتابخانه زبان برنامه‌نویسی شرکت سازنده آدرس مخزن
quiche Rust Cloudflare https://github.com/cloudflare/quiche
neqo Rust Mozilla https://github.com/mozilla/neqo
proxygen C++ Facebook https://github.com/facebook/proxygen#quic-and-http3
C++ Google https://github.com/chromium/chromium/tree/master/net/quic
lsquic C LiteSpeed https://github.com/litespeedtech/lsquic
Flupke Java https://bitbucket.org/pjtr/flupke
h2o C https://github.com/h2o/h2o
libcurl[۸][۹] C https://github.com/curl/curl
aioquic Python https://github.com/aiortc/aioquic
quic-go Go https://github.com/lucas-clemente/quic-go

کتابخانه quiche (ساخته کلادفلر) میتواند به انجین‌اکس متصل شود.[۱۰] بر طبق برنامه ریخته شده HTTP/3 از نسخه ۱.۱۷ انجین‌ایکس پشتیبانی میشود.[۱۱]

تعدادی کتابخانه وجود دارند که پیش‌نویسی قدیمی‌تر از پروتکل یا نگارش های گوگل از QUIC را پیاده‌سازی کرده اند.(مانند : Q046 در گوگل کروم ، نسخه ۷۶)

منابع[ویرایش]

  1. "Litespeed and Facebook Complete First HTTP/3 Server Test". LiteSpeed Blog. 2018-11-12. Retrieved 2019-08-02.
  2. Bishop, M. (September 19, 2019). "Hypertext Transfer Protocol Version 3 (HTTP/3)". quicwg.org. Retrieved 2019-09-22.
  3. Bishop, Mike (November 4, 2019). Hypertext Transfer Protocol Version 3 (HTTP/3). Internet Engineering Task Force. I-D draft-ietf-quic-http-23. https://tools.ietf.org/html/draft-ietf-quic-http-23.
  4. Nottingham, Mark (28 October 2018). "Identifying our deliverables". IETF Mail Archive.
  5. Cimpanu, Catalin (12 November 2018). "HTTP-over-QUIC to be renamed HTTP/3 | ZDNet". ZDNet. Retrieved 12 November 2018.
  6. Daniel, Stenberg. "Daniel Stenberg announces HTTP/3 support in Firefox Nightly". Twitter. Retrieved 5 November 2019.
  7. Cimpanu, Catalin (26 September 2019). "Cloudflare, Google Chrome, and Firefox add HTTP/3 support". ZDNet. Retrieved 27 September 2019.
  8. "First HTTP/3 with curl". Daniel Stenberg. August 5, 2019. Retrieved October 2, 2019.
  9. "cURL HTTP3 wiki". Daniel Stenberg. September 26, 2019. Retrieved October 2, 2019.
  10. "Experiment with HTTP/3 using NGINX and quiche". The Cloudflare Blog. 2019-10-17. Retrieved 2019-11-09.
  11. "Milestone nginx-1.17". trac.nginx.org. Retrieved 2019-11-09.

پیوند به بیرون[ویرایش]