پروتکل انتقال ابرمتن نگارش ۳
پروتکل انتقال ابرمتن نگارش ۳ (به انگلیسی: HTTP/3)و یا بهطور خلاصه(H3) سومین نسخه اصلی پروتکل انتقال ابرمتن است که برای تبادل اطلاعات در شبکه وب جهانگستر مورد استفاده قرار میگیرد.
استاندارد بین المللی | Hypertext Transfer Protocol Version 3 (HTTP/3) (draft) |
---|---|
توسعه یافته توسط | کارگروه مهندسی اینترنت |
تاریخ معرفی | Internet-Draft تا تاریخ مه ۲۰۲۰ |
وبگاه |
نگارش سوم پروتکل انتقال ابرمتن یک پیشنویس مبتنی بر یک پیشنویس قبلی 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++ | https://github.com/facebook/proxygen#quic-and-http3 | |
C++ | 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 در گوگل کروم ، نسخه ۷۶)
منابع
- ↑ "Litespeed and Facebook Complete First HTTP/3 Server Test". LiteSpeed Blog (به انگلیسی). 2018-11-12. Retrieved 2019-08-02.
- ↑ Bishop, M. (September 19, 2019). "Hypertext Transfer Protocol Version 3 (HTTP/3)". quicwg.org (به انگلیسی). Archived from the original on 14 September 2019. Retrieved 2019-09-22.
- ↑ 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.
- ↑ Nottingham, Mark (28 October 2018). "Identifying our deliverables". IETF Mail Archive.
- ↑ Cimpanu, Catalin (12 November 2018). "HTTP-over-QUIC to be renamed HTTP/3 | ZDNet". ZDNet (به انگلیسی). Retrieved 12 November 2018.
- ↑ Daniel, Stenberg. "Daniel Stenberg announces HTTP/3 support in Firefox Nightly". Twitter. Retrieved 5 November 2019.
- ↑ Cimpanu, Catalin (26 سپتامبر 2019). "Cloudflare, Google Chrome, and Firefox add HTTP/3 support". ZDNet. Retrieved 27 September 2019.
- ↑ "First HTTP/3 with curl". Daniel Stenberg. August 5, 2019. Retrieved October 2, 2019.
- ↑ "cURL HTTP3 wiki". Daniel Stenberg. September 26, 2019. Retrieved October 2, 2019.
- ↑ "Experiment with HTTP/3 using NGINX and quiche". The Cloudflare Blog (به انگلیسی). 2019-10-17. Retrieved 2019-11-09.
- ↑ "Milestone nginx-1.17". trac.nginx.org. Retrieved 2019-11-09.