Transportهای گره

پوشش شبکه‌ای گره را با پروفایل ارائه‌دهنده هماهنگ کنید.

396 کلمه 2 دقیقه
گره (گره‌ها) TransportهاWebSocketgRPCXHTTP fa

Transport شکل بیرونی اتصال است. بیشتر گره‌های واردشده از قبل Transport درست را دارند. فقط وقتی آن را تغییر دهید که ارائه‌دهنده یا تنظیمات سرور خودتان گفته باشد.

گزینه‌های Transport در Tunna

RAW

اتصال مستقیم Protocol است، بدون پوشش شبیه HTTP.

مناسب وقتی ارائه‌دهنده یک اتصال Proxy ساده با سبک TCP می‌خواهد.

نامناسب وقتی ارائه‌دهنده path، host، service name یا XHTTP mode داده است.

WebSocket

گره را از راه یک endpoint WebSocket عبور می‌دهد؛ معمولاً پشت web server یا CDN.

مناسب وقتی پروفایل برای WebSocket مقدارهای Host و Path می‌دهد.

نامناسب وقتی path دقیق یا headerها را نمی‌دانید.

gRPC

از service name در gRPC و گاهی authority استفاده می‌کند.

مناسب وقتی ارائه‌دهنده service name یا authority برای gRPC می‌دهد.

نامناسب وقتی سرور با WebSocket، XHTTP یا HTTPUpgrade توضیح داده شده است.

XHTTP

یک Transport جدیدتر بر پایه HTTP است، با modeها و رفتار پیشرفته برای requestها.

مناسب وقتی پروفایل صریحاً XHTTP نوشته و مقدارهای mode، host یا path دارد.

نامناسب وقتی اولین اتصال را راه می‌اندازید و گره واردشده همین حالا کار می‌کند.

HTTPUpgrade

با HTTP شروع می‌شود و بعد به اتصال Proxy ارتقا پیدا می‌کند.

مناسب وقتی سرور یک HTTP upgrade path می‌خواهد.

نامناسب وقتی ارائه‌دهنده به‌جای آن WebSocket یا XHTTP داده است.

mKCP

یک Transport بر پایه KCP است، با تنظیمات MTU، timing و window.

مناسب وقتی سرور یا ارائه‌دهنده دقیقاً مقدارهای mKCP را داده است.

نامناسب وقتی فقط دارید تنظیمات performance را حدس می‌زنید.

ویرایش امن Transport

  • مقدارهای Host و Path واردشده را نگه دارید، مگر اینکه چیدمان سرور را می‌شناسید.
  • header اضافه نکنید، مگر اینکه ارائه‌دهنده آن‌ها را داده باشد.
  • برای XHTTP، قبل از آزمودن تغییرات performance، Mode و تنظیمات اضافه واردشده را نگه دارید.
  • برای mKCP، مقدارهای timing و window را تغییر ندهید، مگر اینکه سرور برای همان مقدارها تنظیم شده باشد.

XHTTP چون رفتار بیشتری دارد، کنترل‌های بیشتری هم دارد

XHTTP می‌تواند request mode، اندازه‌های POST، فاصله بین requestها، padding، اندازه server header و multiplexing را کنترل کند. این فیلدها را دستور ارائه‌دهنده یا تنظیم پیشرفته بدانید، نه گزینه‌هایی برای اولین اتصال.