2010-02-05 18 views
5

Mi amigo me ha enviado un enlace a este pequeño page que muestra una página simple de HTML + CSS. Sin embargo, si observa el código fuente, notará que no hay un enlace al archivo css.El archivo CSS "oculto" solo funciona para FF, Opera

Si está utilizando ff con firebug, puede ver que en NET, el archivo css está vinculado a través de un encabezado enviado (solo quería mostrarles eso).

Mi pregunta es, ¿tiene alguna suposición de por qué esto no funciona con safari, es decir? Supongo que los encabezados no dependen del navegador. ¿Lo que da?

Respuesta

3

Es posible encontrar este es un recurso útil: http://www.w3.org/TR/html4/present/styles.html#h-14.6

No sé por qué no funciona en Safari/Chrome (WebKit) pero podría ser debido a esto:

En esta sección sólo se aplica a los agentes de usuario que se ajustan a las versiones de HTTP que definen un campo de encabezado de enlace. Tenga en cuenta que HTTP 1.1 como se define en [RFC2616] no incluye un campo de encabezado de enlace (consulte la sección 19.6.3).

1

Esto es parte de la especificación de HTML, aunque no es una parte estándar de HTTP 1.1. (RFC2616 no define el campo de enlace.)

Debido a eso, corresponde a los agentes de usuario individuales implementarlo. Es bastante oscuro, y no muy útil, así que supongo que no está implementado en Webkit ya sea por desconocimiento o por intención deliberada de evitar funciones poco claras.

+0

No forma parte de las especificaciones HTML. Es parte de HTTP 1.0 RFC, con el objetivo explícito de proporcionar enlaces de recursos para recursos no HTML. :-) –

0

http://www.w3.org/TR/html4/present/styles.html#h-14.6

14,6 Vinculación a las hojas de estilo con cabeceras HTTP

Esta sección sólo se aplica a los agentes de usuario conformes a las versiones de HTTP que definen un campo de encabezado Link. Tenga en cuenta que HTTP 1.1 como se define en [RFC2616] no incluye un campo de encabezado de enlace (consulte la sección 19.6.3).

Básicamente, esto no es estándar en http 1.1.

+0

Un poco fuera de tema, pero WebKit (erróneamente?) 'Permite' Javascript en sus encabezados. Consulte http://ha.ckers.org/weird/chrome-redirection.cgi y sus encabezados, compare los navegadores WebKit con otros ... –

1

El encabezado HTTP que envía es Link: <style.css>; REL=stylesheet, que es equivalente al elemento HTML <link rel="stylesheet" href="style.css" />.

Es un encabezado compatible con HTTP 1.0. Agregado en RFC2068, 19.6.1.2 LINK, eliminado en RFC2616 (junto con PATCH y UNLINK) debido a la falta de implementaciones.

0

Mozilla en realidad tiene un artículo de MDC titulado Link prefectching que se refiere a casi todo lo que le gustaría saber sobre esto y por qué lo admiten. Personalmente, creo que suena como una enorme pérdida de tiempo y ancho de banda y simplemente deja una puerta abierta a los ataques del navegador. Aquí hay una cita que aborda su pregunta directamente:

¿Qué navegadores son compatibles con la captación previa de enlace?

navegadores basados ​​en Mozilla 1.2 (o más adelante), así como navegadores basados ​​en Mozilla 1.0.2 (o posterior) de soporte prefetching. Esto incluye Firefox y Netscape 7.01+.Las versiones de Camino a partir del de marzo de 2003 se basan en Mozilla 1.0.1, y, por lo tanto, no admiten la recuperación previa de . Pruebe su navegador para ver si es compatible con la captura previa de enlaces.

Cuestiones relacionadas