Antes de la introducción de HTML5, configurar la codificación de caracteres en un documento con un elemento que requiera escribir la línea un tanto verbosa que se ve a continuación. Estos son los elementos del Meta Charset si estaba usando HTML4 en su página web:
Lo que es importante notar en este código son las comillas que ve alrededor del contenido atributo: contenido = ' texto / html; conjunto de caracteres = iso-8859-1 ' . Al igual que todos los atributos HTML, estas comillas definen el valor del atributo, lo que indica que toda la cadena texto / html; conjunto de caracteres = iso-8959-1 es el contenido de este elemento. Este es el HTML correcto y es la forma en que se escribió esta cadena. ¡También es difícil de manejar largo y feo! ¡Tampoco es algo que probablemente recuerdes de la cabeza! En la mayoría de los casos, los desarrolladores web tendrían que copiar y pegar este código de un sitio en cualquiera de los nuevos que estaban desarrollando porque escribir esto desde cero era algo muy importante.
HTML5 recorta las "cosas" adicionales
HTML5 no solo agregó una serie de nuevos elementos al lenguaje, sino que también simplificó en gran medida gran parte de la sintaxis de HTML, incluido el elemento Meta Charset. Con HTML5, puede agregar la codificación de caracteres con la sintaxis mucho más fácil de recordar paraMETA Elemento que se ve a continuación:
Compare esa sintaxis simplificada con lo que escribimos al principio de este artículo, la sintaxis antigua usada para HTML4, y verá cuánto más fácil de escribir y recordar es realmente la versión HTML5. En lugar de tener que copiar y pegar esto de un sitio existente en uno nuevo en el que estaba trabajando, esto es absolutamente algo que, como desarrollador web de front-end, podría recordar. Este ahorro de tiempo puede no ser mucho, pero si considera las otras áreas de sintaxis que HTML5 simplificó, ¡los ahorros se suman!
Incluir siempre la codificación de caracteres
Siempre debe incluir la codificación de caracteres para sus páginas web, incluso si nunca tuvo la intención de utilizar caracteres especiales. Si no incluye una codificación de caracteres, su sitio se vuelve vulnerable a un ataque de scripts entre sitios utilizando UTF-7.
En este escenario, un atacante ve que su sitio no tiene una codificación de caracteres definida, por lo que engaña al navegador para que piense que la codificación de caracteres de la página es en realidad UTF-7. A continuación, el atacante inyecta scripts codificados en UTF-7 en la página web y su sitio es hackeado. Esto obviamente es problemático para todos los involucrados, desde su empresa hasta sus visitantes. La buena noticia es que es un problema simple de evitar, solo asegúrese de agregar codificación de caracteres a todas sus páginas web.
Dónde agregar la codificación de caracteres
La codificación de caracteres para una página web debe ser la primera línea de su HTML
elemento. Esto asegura que el navegador sepa qué es la codificación de caracteres antes de hacer cualquier otra cosa en la página que no sea para determinar el doctype e identificar que es una página HTML. Su HTML debe leer:…
Uso de encabezados HTTP para seguridad adicional
También puede especificar la codificación de caracteres en los encabezados HTTP. Esto es incluso más seguro que agregarlo a la página HTML, pero es necesario que tenga acceso a las configuraciones del servidor o a los archivos .htaccess, lo que significa que puede necesitar trabajar con el proveedor de alojamiento de su sitio web para obtener este tipo de acceso Los cambios para ti. El acceso es realmente el reto aquí. El cambio en sí es simple, por lo que cualquier proveedor de alojamiento debería poder realizar este cambio con relativa facilidad.
Si está utilizando Apache, puede establecer el conjunto de caracteres predeterminado para todo el sitio agregando: AddDefaultCharset UTF-8 a tu raíz .htaccess expediente. El conjunto de caracteres predeterminado de Apache es ISO-8859-1.