הצהרה לגבי קידוד תווים

השרתים והדפדפנים מתקשרים ביניהם באמצעות שליחת בייטים של נתונים באינטרנט. אם השרת לא מציין באיזה פורמט קידוד תווים הוא משתמש כשהוא שולח קובץ HTML, הדפדפן לא יידע איזה תו כל בייט מייצג. הבעיה הזו נפתרת באמצעות המפרט של ההצהרה לגבי קידוד תווים.

רכיב <meta charset> שמופיע מאוחר (לא כלול ב-1,024 הבייטים הראשונים של המסמך) יכול להשפיע באופן משמעותי על ביצועי הטעינה, כי הדפדפן יניח קידוד תווים מסוים, ואם הוא יגלה מאוחר יותר שההנחה שלו הייתה שגויה, הוא יצטרך להתחיל לנתח את ה-HTML מחדש מההתחלה.

איך מיישמים את התובנה הזו

התובנה מתייחסת לקידוד התווים כאל מוצהר אם היא מוצאת אחד מהדברים הבאים:

  • רכיב <meta charset> ב-<head> של המסמך, שנמצא כולו ב-1,024 הבייטים הראשונים של המסמך
  • Content-Type כותרת תגובת HTTP עם הנחיית charset שתואמת לשם IANA תקין

צריך להגדיר רק אחד מהם כדי שהתובנה תעבור.

מוסיפים רכיב <meta charset> ל-HTML

מוסיפים רכיב <meta charset> ב-1,024 הבייטים הראשונים של מסמך ה-HTML. הרכיב חייב להיות כלול במלואו ב-1,024 הבייטים הראשונים. השיטה המומלצת היא להגדיר את הרכיב <meta charset> כרכיב הראשון ב-<head> של המסמך.

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    …

הוספת כותרת תגובת HTTP של Content-Type

מגדירים את השרת להוספת כותרת תגובת HTTP‏ Content-Type שכוללת את ההנחיה charset.

Content-Type: text/html; charset=UTF-8

משאבים