هل تحتاج كل صفحة HTML مع Doctype إلى اتصال إنترنت لتقديم الصفحة بشكل صحيح؟

StackOverflow https://stackoverflow.com/questions/1986819

  •  22-09-2019
  •  | 
  •  

سؤال

يستخدم العديد من doctype رابط URL

مثله

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

وملف DTD هذا على عنوان URL المباشر http://www.w3.org/tr/html4/strict.dtd

ما هو استخدام هذا DTD المباشر عبر الإنترنت وكيف سيتم عرض أي صفحة (التي تستخدم هذا doctype) بشكل صحيح وفقًا لهذا Doctype دون الوصول إلى عنوان URL هذا (أقصد إذا لم يكن الوصول إلى الإنترنت متاحًا؟)

تحديث : لقد وجدت هذه المعلومات من ويكيبيديا http://en.wikipedia.org/wiki/system_identifier

في HTML و XML ، معرف النظام هو مرجع URI بدون جزء. يحدث عادة في إعلان نوع المستند. في هذا السياق ، يهدف إلى تحديد نوع المستند الذي يتم استخدامه بشكل حصري في تطبيق واحد ، في حين أن المعرف العام يهدف إلى تحديد نوع المستند الذي قد يمتد أكثر من تطبيق واحد.

في المثال التالي ، يكون معرف النظام هو النص الوارد في عروض الأسعار:

تحديث 2: هل هو فقط للاستخدام للمقدين؟ كيف توفر بعض البرامج مثل Dreamweaver التحقق من الصحة في وضع عدم الاتصال؟

تحديث 3: لقد وجدت هذه المعلومات من موقع W3C http://www.w3.org/qa/tips/doctype

لماذا تحدد doctype؟ لأنه يحدد إصدار (x) html الذي يستخدمه المستند بالفعل (نسخة لأي متصفح أو مدقق؟), ، وهذه جزء مهم من المعلومات التي تحتاجها بعض الأدوات (ما هي الأدوات؟ أي أدوات أخرى ثم التحقق؟) معالجة المستند.

على سبيل المثال ، يتيح لك تحديد doctype من المستند الخاص بك استخدام أدوات مثل مصلحة العلامات للتحقق من بناء جملة HTML (x). لن تكون هذه الأدوات قادرة على العمل إذا لم تعرف نوع المستند الذي تستخدمه.

ولكن الشيء الأكثر أهمية هو أنه مع معظم عائلات المتصفحات ، فإن إعلان Doctype سيجعل الكثير من التخمين غير ضروري ، وبالتالي سيؤدي إلى وضع "عرض قياسي".

هل كانت مفيدة؟

المحلول

لا ، لا توجد متصفحات تجلب فعليًا أو التحقق من صحة Doctype. نرى لا تعمل DTDs على الويب للحصول على حجة جيدة حول سبب جلب DTDs والتحقق من التحقق منه ، يعد فكرة سيئة.

Doctype موجود ، من الناحية النظرية ، لمعرفة إصدار المعيار الذي يستخدمه المستند. المتصفحات عمومًا لا تستخدم هذه المعلومات ، بخلاف ذلك التبديل بين المراوغات ووضع المعايير. تقبل جميع المتصفحات الحديثة أبسط doctype ممكن ، مع عدم وجود معلومات عن عنوان URL أو الإصدار ، <!DOCTYPE html>, ، لهذا الغرض؛ و لهذا، HTML5 اعتمدت هذا باعتباره doctype الموصى به.

يستخدم المدققون في بعض الأحيان هذه المعلومات لمعرفة ما هو DTD للتحقق من صحة ، ولكن DTDs المضمنة في المستند ليست في الواقع طريقة جيدة للغاية لتحديد معلومات التحقق من الصحة. تكمن مشكلة التحقق من التحقق من صحة DTD المشار إليها داخل وثيقة في أن المستهلك لهذه الوثيقة لا يهتم حقًا بكل ما إذا كانت الوثيقة متسقة ذاتيًا ، ولكن ما إذا كان يتبع مخططًا يعرفه المستهلك كيفية تفسيره بشكل موثوق. بدلاً من ذلك ، من الأفضل بشكل عام التحقق من صحة المخطط الخارجي ، بلغة مخطط أكثر قوة مثل استرخ نانوغرام.

عندما يستخدم المدققون هذه المعلومات ، فإنهم يستخدمون URI بشكل متكرر ك المعرف فقط ، ليس ك المحدد. هذا يعني أن المدقق يعرف بالفعل جميع أنواع HTML الشائعة ، ويستخدم تلك المعرفة للتحقق من الصحة ، بدلاً من التنزيل من URI المشار إليها. هذا جزئيًا لتجنب مشكلة الاضطرار إلى تنزيل DTD في كل مرة ، وأيضًا لأن DTD لا يحدد فعليًا معلومات كافية لتوفير رسائل التحقق من الصحة والخطأ الجيدة للغاية ، لذلك قد يتم تحديد بعض أجزاء المدقق في التعليمات البرمجية المخصصة أو لغة مخطط أقوى. لمزيد من المعلومات، راجع أطروحة هنري سيفونين على تنفيذه من المدقق HTML5 مدقق المطابقة.

يجوز لبعض المدققين أيضًا تنزيل DTDs ثم ذاكرة التخزين المؤقت ، لذلك يجب أن يكونوا متصلين مرة واحدة لتنزيله ، ولكن سيعملون لاحقًا من الإصدار المخزنة مؤقتًا.

نصائح أخرى

URI موجود لتحديد نوع المستند بشكل فريد - إنه ليس مخصصًا للاسترجاع ولا يجب أن يعتمد أي متصفح (أو أي برامج أخرى) على مستند موجود على عنوان الويب هذا.

اعتدت أن أتساءل عن ذلك بنفسي. ولكن إذا كان لديك خادم HTTP الخاص بك ، فمن السهل جدًا إثبات أنه لا يهم. ما عليك سوى انتزاع الكابل إلى العالم الخارجي ومعرفة ما إذا كان لا يزال بإمكانك فتح الصفحات على الخادم الخاص بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top