مرجع المستمع
إعدادات عنوان المستمع والبروتوكول لـServerBlock.listen.
تربط قيمة Listen الخادم بعنوان محلي (مقبس TCP أو Unix) وتتحكم في إصدارات بروتوكول HTTP المُتفاوض عليها على ذلك المقبس. في معظم الحالات، الاختصار النصي (مثل ":8080") كافٍ؛ استخدم صيغة الكائن الكاملة عندما تحتاج لتخصيص اختيار البروتوكول.
> هذه الصفحة مُولَّدة تلقائياً من مخطط PKL. راجع الدليل لأمثلة الاستخدام.
الأنواع
Protocol
معرف إصدار بروتوكول HTTP لتفاوض بروتوكول المستمع.
-
"h1" — HTTP/1.1 عبر TCP (متاح دائماً؛ أوسع دعم للعملاء) -
"h2" — HTTP/2 عبر TLS عبر تفاوض ALPN (تدفقات متعددة) -
"h2c" — HTTP/2 عبر TCP بنص واضح (وضع المعرفة المسبقة؛ استخدمه فقط على الشبكات الداخلية الموثوقة حيث TLS غير ضروري) -
"h3" — HTTP/3 عبر QUIC/UDP (يتطلب TLS؛ يُفتح مستمع UDP مرافق تلقائياً على نفس المنفذ) -
"webrtc" — قنوات بيانات WebRTC عبر UDP (STUN/DTLS/SCTP). راجع WebRtcListener لإعداد المعالج.
typealias Protocol = "h1" | "h2" | "h2c" | "h3" | "webrtc"---
Listen
يصف مقبس مستمع واحد يربطه الخادم.
في معظم الإعدادات، الاختصار النصي في ServerBlock.listen كافٍ. استخدم هذا الصنف عندما تحتاج لتخصيص اختيار البروتوكول لكل مستمع.
أمثلة:
new { address = ":8080" } — جميع الواجهات، المنفذ 8080
new { address = "0.0.0.0:443" } — بطاقة IPv4 صريحة
new { address = "[::]:443" } — بطاقة IPv6 مزدوجة المكدس
new { address = "unix:///run/elide.sock" } — مقبس نطاق Unix| الحقل | النوع | الافتراضي | الوصف |
|---|---|---|---|
address | String(!isEmpty) | (مطلوب) | عنوان المقبس للربط. يقبل عدة صيغ: |
protocols | Listing | defaultProtocols | إصدارات بروتوكول HTTP المُتفاوض عليها على هذا المستمع. العملاء الذين |
address
عنوان المقبس للربط. يقبل عدة صيغ:
:PORT — جميع الواجهات على المنفذ المحدد
HOST:PORT — الربط بواجهة ومنفذ محددين
[IPv6]:PORT — عنوان IPv6 ومنفذ
unix:///path/to/sock — مقبس نطاق Unix (مسار مطلق)
unix://./relative.sock — مقبس نطاق Unix (مسار نسبي)
لمستمعي TCP، يجب ألا يتعارض المنفذ مع مستمعين آخرين في نفس كتلة الخادم ما لم يختلفوا بالبروتوكول (مثل TCP مقابل UDP لـh3).
protocols
إصدارات بروتوكول HTTP المُتفاوض عليها على هذا المستمع. العملاء الذين لا يدعمون أي بروتوكول مُدرج يعودون إلى أعلى إصدار مدعوم مشترك.
الافتراضي هو ["h1", "h2"]. أضف "h3" لتفعيل QUIC — هذا يتطلب TLS ويفتح مستمع UDP مرافق على نفس المنفذ. استخدم allProtocols كاختصار لـ{ "h1"; "h2"; "h3" }.
---