"نفس الموقع" و "اقتباسه المصدر نفسه"

في كثير من الأحيان، يتم الاستشهاد بمصطلحات "الموقع نفسه" و "المصدر نفسه"، ولكن غالبًا ما يُساء فهمهما. على سبيل المثال، تُستخدَم هذه الشارات في سياق عمليات انتقال الصفحات وطلبات fetch() وملفات تعريف الارتباط وفتح النوافذ المنبثقة والموارد المضمّنة وإطارات iframe. تشرح هذه الصفحة ماهيتها وكيف تختلف عن بعضها البعض.

الأصل
بنية المصدر

"الأصل" هو تركيبة من مخطط (يُعرَف أيضًا باسم البروتوكول، على سبيل المثال HTTP أو HTTPS)، واسم مضيف، ومنفذ (في حال تحديده). على سبيل المثال، إذا كان عنوان URL هو https://www.example.com:443/foo، يكون "المصدر" هو https://www.example.com:443.

"Same-origin" و " Cross-origin"

تُعتبر المواقع الإلكترونية التي تتضمّن نفس التركيبة من المخطط واسم المضيف والمنفذ "المصدر نفسه". يُعتبر كل شيء آخر "مشترك من مصادر متعددة".

المصدر (أ) المصدر (ب) "نفس المصدر" أم "مشترك من المصدر"؟
https://www.example.com:443 https://www.evil.com:443 مشاركة المصدر: نطاقات مختلفة
https://example.com:443 مشتركة المصدر: نطاقات فرعية مختلفة
https://login.example.com:443 مشتركة المصدر: نطاقات فرعية مختلفة
http://www.example.com:443 مشاركة المصدر: مخططات مختلفة
https://www.example.com:80 جميع المصادر: منافذ مختلفة
https://www.example.com:443 نفس المصدر: مطابقة تامة
https://www.example.com Same-origin: يتطابق رقم المنفذ الضمني (443)

الموقع

الموقع الإلكتروني (TLD+1)
أجزاء عنوان URL التي تتألف منها الموقع الإلكتروني:

يتم إدراج نطاقات المستوى الأعلى (TLD)، مثل .com و.org في قاعدة بيانات Root Zone. في المثال
السابق، يشكّل مصطلح "الموقع الإلكتروني" مزيجًا من المخطط وTLD، وجزء النطاق الذي يسبقه مباشرةً (نطلق عليه اسم TLD+1). على سبيل المثال، إذا كان عنوان URL هو https://www.example.com:443/foo، يكون "الموقع الإلكتروني" هو https://example.com.

قائمة اللاحقة العامة وeTLD

بالنسبة إلى النطاقات التي تتضمن عناصر مثل .co.jp أو .github.io، لا يكفي استخدام .jp أو .io لتحديد "الموقع الإلكتروني" فحسب. وليست هناك طريقة خوارزميًا لتحديد مستوى النطاقات القابلة للتسجيل لنطاق TLD معيّن. للمساعدة في ذلك، تحدّد قائمة اللواحق العامة قائمة باللاحقات العلنية التي تُسمى أيضًا نطاقات المستوى الأعلى (TLD) الفعّالة (eTLD). يتم الاحتفاظ بقائمة eTLD على publicsuffix.org/list.

لتحديد جزء "الموقع الإلكتروني" من نطاق يتضمّن eTLD، طبِّق الممارسة نفسها المتّبعة في المثال باستخدام .com. إذا نظرنا إلى https://www.project.github.io:443/foo كمثال، نجد أنّ المخطط هو https، وeTLD هو .github.io وeTLD+1 هو project.github.io، وبالتالي يُعتبر https://project.github.io "الموقع الإلكتروني" لعنوان URL هذا.

الموقع الإلكتروني (eTLD+1)
أجزاء عنوان URL يتضمن eTLD:

"المواقع الإلكترونية نفسها" و "المواقع الإلكترونية المتعدّدة"

تُعتبر المواقع الإلكترونية التي لها النظام نفسه ونطاق eTLD+1 نفسه "موقعًا واحدًا على الويب". المواقع الإلكترونية التي تحتوي على مخطط مختلف أو eTLD+1 مختلف هي "مواقع إلكترونية متعدِّدة".

المصدر (أ) المصدر (ب) "المواقع الإلكترونية نفسها" أم "متعددة المواقع الإلكترونية"؟
https://www.example.com:443 https://www.evil.com:443 مواقع مختلفة: نطاقات مختلفة
https://login.example.com:443 الموقع الإلكتروني نفسه: لا تهم النطاقات الفرعية المختلفة
http://www.example.com:443 Cross-site: المخططات المختلفة
https://www.example.com:80 الموقع نفسه: لا مهمة للمنافذ المختلفة
https://www.example.com:443 الموقع الإلكتروني نفسه: مطابقة تامة
https://www.example.com الموقع الإلكتروني نفسه: المنافذ غير مهمة

"الموقع نفسه بلا مخطط"

الموقع نفسه بلا مخطط

تم تغيير تعريف "الموقع الإلكتروني نفسه" ليشمل نظام عنوان URL كجزء من الموقع الإلكتروني لمنع استخدام HTTP كقناة ضعيفة. إنّ المفهوم القديم لـ "الموقع الإلكتروني نفسه" بدون مقارنة المخططات يُطلق عليه الآن اسم "الموقع الإلكتروني نفسه الذي لا مضمون له". على سبيل المثال، يتم اعتبار http://www.example.com وhttps://www.example.com موقعًا إلكترونيًا واحدًا بلا مخططات ولكن ليس نفس الموقع، لأنّ الجزء eTLD+1 فقط مهم جدًا ولا يتم أخذ المخطط في الاعتبار.

المصدر (أ) المصدر (ب) هل "موقع إلكتروني واحد بلا مخططات" أم "مواقع إلكترونية متعددة"؟
https://www.example.com:443 https://www.evil.com:443 مواقع مختلفة: نطاقات مختلفة
https://login.example.com:443 استخدام الموقع الإلكتروني نفسه بدون مخطط: لا تهم النطاقات الفرعية المختلفة
http://www.example.com:443 استخدام الموقع الإلكتروني نفسه بلا مخططات: لا تهم المخططات المختلفة
https://www.example.com:80 استخدام الموقع الإلكتروني نفسه بلا مخطط: لا تهم المنافذ المختلفة
https://www.example.com:443 استخدام الموقع الإلكتروني نفسه بدون مخطط: مطابقة تامة
https://www.example.com استخدام الموقع الإلكتروني نفسه بلا مخطط: لا تهم المنافذ

كيفية التحقّق مما إذا كان الطلب هو "الموقع الإلكتروني نفسه" أو "المصدر نفسه" أو "من مواقع إلكترونية متعددة"

التوافق مع المتصفح

  • 76
  • 79
  • 90
  • 16.4

المصدر

ترسِل جميع المتصفّحات الحديثة الطلبات باستخدام عنوان HTTP يتضمّن العلامة Sec-Fetch-Site. يحتوي العنوان على إحدى القيم التالية:

  • cross-site
  • same-site (يشير إلى الموقع الإلكتروني نفسه المخطط)
  • same-origin
  • none

يمكنك فحص قيمة Sec-Fetch-Site لتحديد ما إذا كان الطلب من موقع إلكتروني واحد أو مصدر واحد أو عدة مواقع إلكترونية.

يمكنك الوثوق بشكل معقول في قيمة عنوان Sec-Fetch-Site، للأسباب التالية: