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>
הפרק הקודם: הצהרת סוג מסמך |
כותרת HTML תרגילים |
הפרק הבא: אין |