hamed hajiloo
hamed hajiloo
خواندن ۱ دقیقه·۲ سال پیش

بهبود مسائل مربوط به Network در NET7.

یکی از مهم ترین تغییرات در NET7. در بحث Network مشاهده می‌شود که می‌توان آن‌ها را به سه دسته زیر تقسیم بندی کرد.

  • بهبود‌های مربوط به HTTP
  • معرفی API جدید QUIC
  • امنیت شبکه
  • مسائل مربوط به WebSocket ها



بررسی موارد مربوط به HTTP

  • یکی از تاثیر گذارترین تغییرات مدیریت connection هایی هست که attempt failures در آن‌ها رخ داده است.
  • دومین مورد Thread safe شدن HttpHeader ها است.
  • مورد بعدی قابل درک تر شدن خطاهای HTTP/2 و HTTP/3

قابل درک‌تر شدن یعنی چی؟

در لایه های پایینی ممکن است خطاهای خاصی رخ دهد. مثلا امکان دارد در HTTP2 خطای REFUSED_STREAM (0x7) رخ دهد. یا در HTTP3 با خطای H3_EXCESSIVE_LOAD (0x0107) مواجه شوید.

اینها همگی خطاهایی هستند که برای کاربر در لایه های بالاتر کد معنای خاصی ندارند.

در عوض در NET7. ما می‌توانیم با استفاده از HttpProtocolException که در inner exception کلاس HttpRequestException هست خطاهای مربوطه را catch کنیم.

زمانی هم که با ریسپانس های HttpContent کار می‌کنیم، مستقیم می‌توانیم از HttpProtocolException استفاده کنیم.

توضیح مختصری در مورد QUIC

پروتکل QUIC یا Quick UDP Internet Connections یکی از پروتکل های لایه transport شبکه است که قبلا مایکروسافت پیاده سازی خودش رو در قالب MsQuic ارائه داده بود.

بعد ها در NET5. در کدهای خودش هم از این امکان استفاده می‌کرد.

در NET7. هم امکان استفاده از این قابلیت با استفاده از System.Net.Quic امکان پذیر شده است.

نحوه کارکرد آن نیز در استفاده از سه کلاس زیر خلاصه می‌شود.

QuicListener QuicConnection QuicStream

در این بین تمرکز اصلی ما بر روی مورد اول یعنی (بهبود‌های مربوط به HTTP) بود و توضیح کوتاهی نیز در مورد مورد QUIC ارائه دادیم،

برای مشاهده توضیحات کامل می‌توانید از ? این لینک استفاده کنید.

httpnet7netcsharpnetwork
حامد حاجیلو هستم، یک NET Full Stack Developer.
شاید از این پست‌ها خوشتان بیاید