¿Por qué el RFC prohíbe que el servidor envíe HSTS al cliente a través de HTTP?
Puedo ver que si un cliente HTTP responde a esa respuesta HTTP no segura, podría hacer que el sitio sea inaccesible para el cliente, pero no veo ninguna razón para que el servidor tenga una DEBE en el protocolo.
Más bien, el cliente NO DEBE responder a HSTS en respuestas HTTP no seguras, es el enfoque correcto en mi mente. ¿Qué me estoy perdiendo?
7.2. Tipo de solicitud HTTP
Si un Host HSTS recibe un mensaje de solicitud HTTP a través de un no seguro transporte, DEBERÍA enviar un mensaje de respuesta HTTP que contenga un código de estado que indica una redirección permanente, como el código de estado 301 ( Sección 10.3.2 de [RFC2616] ), y un valor de campo de encabezado de ubicación que contiene el URI de solicitud efectivo original de la solicitud HTTP (consulte Sección 9 ("Creación de un URI de solicitud efectiva")) modificado como es necesario tener un esquema de URI de "https", o un URI generado de acuerdo con la política local con un esquema URI de "https".
NOTA: El comportamiento anterior es un "DEBE" en lugar de un "DEBE" debido a:
Riesgos en redirecciones no seguras a seguras del lado del servidor [ OWASP-TLSGuide ].
Características de implementación del sitio. Por ejemplo, un sitio que Incorpora componentes de terceros que pueden no comportarse correctamente. al hacer redirecciones no seguras a seguras del lado del servidor en el caso de ser accedido a través de transporte no seguro, pero hace comportarse correctamente cuando se accede de manera uniforme a través de transporte seguro. Este último es el caso dado un UA capaz de HSTS que tiene ya mencioné el sitio como un Host HSTS conocido (por cualquier medio, por ejemplo, interacción previa o configuración de UA).
Un host HSTS NO DEBE incluir el campo de encabezado STS en HTTP Respuestas transmitidas a través de transporte no seguro.