השרתים והדפדפנים מתקשרים ביניהם באמצעות שליחת בייטים של נתונים באינטרנט. אם השרת לא מציין באיזה פורמט קידוד תווים הוא משתמש כשהוא שולח קובץ 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