FreeToGenerate.com

كل الرموز المسجَّلة، معلَّمة بالشيء الوحيد الذي لا يقوله السجل. لا يُرفع شيء.

السجل بحسب ما يمكنك فعله بالرمز فعلًا

صفًّا في السجل
24
يمكن إرسالها
15
لا تظهر على السلك أبدًا
3
محجوز بلا معنى
1

اكتب الرقم الذي أبلغ عنه عميلك، أو جزءًا من معنى. والرقم الذي لا صفّ له يُحَلّ إلى المدى الذي يقع فيه.

الرمزالمعنىعلى السلكالمرجع
1000Normal Closureيمكن إرساله[RFC6455]
1001Going Awayيمكن إرساله[RFC6455]
1002Protocol errorيمكن إرساله[RFC6455]
1003Unsupported Dataيمكن إرساله[RFC6455]
1004Reservedمحجوز[RFC6455]
1005No Status Rcvdلا يُرسَل أبدًا[RFC6455]
1006Abnormal Closureلا يُرسَل أبدًا[RFC6455]
1007Invalid frame payload dataيمكن إرساله[RFC6455]
1008Policy Violationيمكن إرساله[RFC6455]
1009Message Too Bigيمكن إرساله[RFC6455]
1010Mandatory Ext.يمكن إرساله[RFC6455]
1011Internal Errorيمكن إرساله[RFC6455][RFC Errata 3227]
1012Service Restartيمكن إرسالهسُجّل عبر قائمة بريدية
1013Try Again Laterيمكن إرسالهسُجّل عبر قائمة بريدية
1014The server was acting as a gateway or proxy and received an invalid response from the upstream server. This is similar to 502 HTTP Status Code.يمكن إرسالهسُجّل عبر قائمة بريدية
1015TLS handshakeلا يُرسَل أبدًا[RFC6455]
1016-2999مدىUnassignedغير مخصَّص
3000Unauthorizedيمكن إرساله
3001-3002مدىUnassignedغير مخصَّص
3003Forbiddenيمكن إرساله
3004-3007مدىUnassignedغير مخصَّص
3008Timeoutيمكن إرساله
3009-3999مدىUnassignedغير مخصَّص
4000-4999مدىReserved for Private Useغير مخصَّص[RFC6455]

على السلك

يمكن إرساله
يجوز لطرف أن يضع هذا الرمز في إطار Close، وإن وصلك فقد اختاره الطرف الآخر عن قصد.
لا يُرسَل أبدًا
يمنع RFC 6455 وضعه في إطار Close. فإن أبلغ عنه عميلك فلم يحمله أي إطار Close، بل اختلقته مكتبتك محليًا لتصف ما جرى.
محجوز
مسجَّل لكن بلا معنى محدَّد، وبلا البند الذي يمنع إرساله. ولا ينبغي أن يستعمله شيء.
غير مخصَّص
مدى بلا تخصيصات، أو مدى الاستعمال الخاص الذي لك أن تعرّفه بنفسك.

الرمز 1006 لا يسافر على السلك أبدًا

هذا ما يستحق أن تخرج به، ولا يُظهره أي جدول منقول عن السجل. فثلاثة رموز — 1005 و1006 و1015 — يحمل كلٌّ منها في RFC 6455 جملةً تقول إنه قيمة محجوزة لا يجوز إطلاقًا ضبطها رمزَ حالة في إطار تحكّم Close. وهي موجودة لتجد المكتبة ما تُبلغ به حين لا شيء يستحق الإبلاغ: لم يصل أي رمز، أو ماتت الوصلة بلا أي إطار Close، أو أخفقت مصافحة TLS قبل أن يوجد WebSocket أصلًا.

فالرمز 1006 إذن ليس رسالة من الخادم. بل يعني أن عميلك لم يستلم إطار Close قط، والسبب أدنى من البروتوكول: وصلة سقطت، أو وسيط انتهت مهلته، أو مصافحة لم تكتمل. وتصحيحه بالبحث عمّن أرسل 1006 بحثٌ عن شخص لا وجود له.

ما يقوله السجل وما لا يقوله

تنشر IANA خمسة أعمدة: الرمز ومعناه وجهة اتصال ومرجعًا وجهةَ التحكم بالتغيير. ولا عمود فيها عن جواز إرسال الرمز، فيظهر 1000 و1006 صفّين من النوع نفسه ويستشهد كلاهما بالوثيقة نفسها. والتمييز لا يوجد إلا في نثر تلك الوثيقة، ولهذا تفقده أكثر الجداول المنشورة.

ولثلاثة رموز أصلٌ طريف يستحق العرض لا التسوية. فـ 1012 و1013 و1014 — إعادة تشغيل الخدمة، وحاول لاحقًا، وخطأ بوابة يحاكي 502 في HTTP — سُجّلت برسالة إلى قائمة بريدية لا بوثيقة معيارية، وعمود المرجع في السجل يشير إلى تلك الرسالة.

الصفوف من سجل رموز إغلاق WebSocket لدى IANA، وتصنيف السلك من القسم 7.4.1 في RFC 6455، والمولّد يرفض البناء إن لم تعد تلك الوثيقة تحوي الجملة التي ينسبها إلى كل رمز. لا يُرفع شيء.

متوفر أيضًا بلغات أخرى: English · Español · Português · Français

رموز إغلاق WebSocket

قائمة IANA الكاملة، والرموز التي يمنع RFC 6455 وضعها في إطار Close معلَّمة بما هي عليه فعلًا، ومنها الرمز الذي جاء بك على الأرجح.

ما رمز إغلاق WebSocket؟

حين تنتهي وصلة WebSocket انتهاءً نظيفًا، يرسل الطرف المُغلِق إطار Close يحمل عددًا من أربعة أرقام يبيّن السبب. فـ 1000 يعني أن الوصلة انتهت طبيعيًا، و1001 أن الطرف راحل، و1011 أن الخادم صادف حالة غير متوقَّعة. ومكتبة العميل لديك تعرض ذلك العدد، وهو عادةً الدليل الوحيد الذي تحصل عليه عمّا اعتلّ.

وتدير IANA هذه الأعداد في سجل من أربعة وعشرين صفًّا: ستة عشر رمزًا مفردًا في نطاق 1000، وبضعة تخصيصات في نطاق 3000، وعدة مديات غير مخصَّصة أو مفروزة لتعرّفها أنت. وهذه الصفحة تسردها كلها مع بحث، والعدد الذي لا صفّ له يُحَلّ إلى المدى الذي يقع فيه.

وهي تعلّم كذلك شيئًا لا يستطيع السجل تعليمه. فثلاثة من تلك الرموز ليست رسائل البتة، وأحدها هو على الأرجح سبب قراءتك لهذا.

كيفية الاستخدام

  1. اكتب العدد الذي أبلغ عنه عميلك. يظهر الصفّ المطابق أولًا. وإن لم يكن للعدد صفّ خاص — كأي عدد في نطاق 2000، أو رمز استعمال خاص في نطاق 4000 — فستحصل على المدى الذي يشمله بدل ألا تحصل على شيء.
  2. اقرأ الحالة لا المعنى وحده. يذكر كل صفّ هل يمكن إرسال الرمز فعلًا. وهذا هو العمود الذي يخبرك هل اختاره الطرف الآخر أم اختلقته مكتبتك أنت.
  3. ابحث بالكلمات أيضًا. كتابة جزء من معنى تعمل — abnormal أو policy أو restart — وهو أسرع حين تتذكر العبارة نصف تذكّر ولا تتذكر العدد.

الرمز 1006 ليس رسالة من الخادم

هذا هو ما يستحق أن تخرج به. فثلاثة رموز — 1005 و1006 و1015 — يحمل كلٌّ منها في RFC 6455 جملةً تقول إنها قيم محجوزة لا يجوز ضبطها رمزَ حالة في إطار تحكّم Close. وليست مما يستطيع طرفٌ إرساله. بل هي موجودة لتجد المكتبة ما تُبلغ به حين لا شيء يستحق الإبلاغ.

فالرمز 1006 يعني أن عميلك لم يستلم أي إطار Close على الإطلاق. لم يخترْه أحد ولم يرسله أحد، بل ملأته المكتبة لتصف وصلةً توقفت ببساطة. ومن ثم فالسبب أدنى من البروتوكول: وصلة TCP سقطت، أو وسيط أو موازن حِمل انتهت مهلة المقبس عنده، أو شبكة اختفت، أو مصافحة لم تكتمل قط. والتنقيب في سجلات خادمك عمّن أرسل 1006 بحثٌ عن شخص لا وجود له.

والرمز 1005 هو الفكرة نفسها خطوةً أبعد: فقد وصل إطار Close فعلًا لكنه لم يحمل أي رمز حالة، وهذا جائز. أما 1015 فيبلّغ أن TLS أخفق قبل أن يوجد WebSocket يُتحدَّث عنه. وثلاثتها جانبك أنت يصف حاله، بالمفردات التي أفردتها المواصفة لهذا الغرض بعينه.

وثمة حالة رابعة يسهل خلطها بها وينبغي ألا تُخلط. فالرمز 1004 محجوز ومعناه غير محدَّد، ولا يحمل أي بند يمنع إرساله: إنه ببساطة عدد لم يُسنَد إليه عمل. أربع حالات إذن، حيث يُظهر الجدول المنقول عن السجل حالتين.

ما يقوله السجل وما لا يقوله

تنشر IANA خمسة أعمدة لكل صفّ: رمز الحالة ومعناه وجهة اتصال ومرجعًا وجهةَ التحكم بالتغيير. ولا عمود فيها عن جواز إرسال الرمز، ولا سبيل إلى إضافته دون تغيير مخطط السجل نفسه. فالتمييز لا يعيش إلا في نثر القسم 7.4.1 من RFC 6455.

ولهذا تفقده جداول منشورة كثيرة. فـ 1000 و1006 صفّان بالشكل نفسه، بالنوع نفسه من المعنى وبالإشارة نفسها إلى الوثيقة نفسها، فيرسمهما أي جدول مولَّد من السجل متطابقين. وليس في البيانات ما يقول إن أحدهما رسالة والآخر اختلاق محلي.

ولثلاثة رموز أصلٌ يستحق العرض لا التمويه. فـ 1012 و1013 و1014 — إعادة تشغيل الخدمة، وحاول لاحقًا، وخطأ بوابة يحاكي عمدًا الرمز 502 في HTTP — لم تعرّفها أي وثيقة معيارية. بل سُجّلت برسالة إلى قائمة بريدية، وعمود المرجع في السجل يشير إلى تلك الرسالة لا إلى وثيقة RFC. وهي تعمل، ومنفَّذة على نطاق واسع، ووصلت إلى هناك بطريق يخالف كل ما حولها.

والحدّ المعلن لصفحة كهذه أنها لقطة لسجل قد يكسب صفوفًا. والذي يمنعها من التقادم صامتةً أن المولّد يرفض البناء إن لم تعد وثيقة RFC 6455 تحوي الجملة الحرفية التي ينسبها إلى كل واحد من الرموز الثلاثة التي لا تُرسَل، فلا يمكن للتصنيف أن ينزاح عن مصدره دون أن يفشل البناء.

لماذا هي مجانية؟

القائمة كلها في الصفحة، والبحث فيها يجري داخل متصفحك. فلا شيء يُشغَّل على خادم ولا سبب يدعو لطلب حساب منك.

لا يُرفع شيء مما تكتبه ولا يُخزَّن ولا يُسجَّل. فأنت تصل إلى هنا عادةً برمز مأخوذ من سجل إنتاج، والطريقة الموثوقة لإبقاء ذلك خاصًا ألا نستقبله أبدًا.