HTML/כותרת HTML

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי
קפיצה לניווט קפיצה לחיפוש

כותרות HTML הן שם כללי למידע שעובר מהשרת ללקוח ה-HTML כדי שהלקוח ידע לזהות את סוג המסמך שנשלח אליו.

תפקידי הכותרות[עריכה]

  • זיהוי מסמך כ-HTML, XHTML וכו'.
  • זיהוי גרסת HTML.
  • זיהוי השפה שבה כתוב המסמך.
  • זיהוי הקידוד של המסמך.

בעיות שקשורות לכותרות[עריכה]

אי שליחת כותרות עלולה לגרום לבעיות הבאות:

  • מסמך נראה כמו ג'יבריש
  • עברית הפוכה
  • SVG לא מוצג נכון
  • הלקוח (דפדפן למשל) עובד קשה יותר ממה שהוא צריך, וגוזל זמן ומשאבי מערכת.

הצהרת XML[עריכה]

<?xml version="1.0" encoding="UTF-8"?>


חובה להכניס הצהרה זו לכל מסמך XML (ובכלל זה גם מסמכי XHTML ו-SVG) אם הקידוד של המסמך שונה מברירת המחדל UTF-8 או UTF-16. גם אם זהו הקידוד של המסמך מומלץ מאוד לעשות כן. הצהרת ה-XML היא השורה הראשונה במסמך, אם היא מופיעה. בסקירפטים שרצים על שרת (כמו PHP למשל) שמשתמשים בתג <? כדי לציין תחילת קטע קוד, עדיף לא לכתוב את ההצהרה ישירות במסמך אלא להדפיס אותה בעזרת PRINT או ECHO.

הצהרת XMLNS[עריכה]

מומלץ להשתמש בשורת הקוד הבאה.

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">


את השפה (en) יש להתאים לשפת המסמך במקרה שלנו (he) ולהוסיף מאפיין dir בשביל כיוון המסמך מימין לשמאל.

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="he" lang="he" dir="rtl">


כותרות HTTP[עריכה]

HTTP Headers/כותרות HTTP - זהו מידע שנשלח יחד עם המסמך אך אינו כתוב במסמך. אם אתה כותב HTML רגיל, תוכל לבקש ממנהל המערכת שלך שיתאים את ה-Headers בשבילך. אם אתה עובד עם PHP למשל תוכל להשתמש בפקודה header כדי לשלוח כותרות אלו לפני הדף. חובה להשתמש בפקודות האלו לפני שהסקריפט מוציא פלט!

<?php
header ('Content-Type: text/html; charset=utf-8');
header ('Content-Language: he');
echo '<?xml version="1.0" encoding="utf-8"?>'.chr(13);
?>


את שלושת הכותרות חשוב מאוד לשלוח. מכיוון שהמסמך הוא PHP עלינו להשתמש ב-echo על מנת להדפיס את כותרת ה-xml. אם היינו כותבים כפשוטה מחוץ לסקריפט, PHP היה מתבלבל וחושב שההפניה אליו.

  • כותרת Content-Type - סוג המסמך שנשלח (text/html במקרה של מסמך HTML, XHTML וכו').
  • charset - קידוד המסמך.
  • Content-Language - שפת המסמך.

אם אין באפשרותנו לשלוט עם כותרות ה-HTTP ניתן להשתמש בתג META שצריך להיות ממוקם בחלק ה-head של המסמך. את שתי שורות ה-header שלמעלה יחליפו שתי השורות הבאות:

<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta http-equiv="content-language" content="he" />


דוגמא למסמך תקני[עריכה]

מסמך שמשתמש ב-PHP לשליחת headers:

<?php
header ('content-type: text/html; charset=utf-8');
header ('content-language: he');
echo '<?xml version="1.0" encoding="UTF-8"?>'.chr(13);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="he" lang="he" dir="rtl">
<head>
</head>
<body>
</body>
</html>


מסמך רגיל שמשתמש בתג meta כתחליף לכותרות HTTP

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="he" lang="he" dir="rtl">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta http-equiv="content-language" content="he" />
</head>
<body>
</body>
</html>