No entiendo la diferencia entre UseHsts y UseHttpsRedirection en la sección de configuración del archivo de inicio en .net core. ¿Alguien podría explicarlo?
Recomendamos que todas las aplicaciones web ASP.NET Core de producción llamen: El middleware de redirección HTTPS ( UseHttpsRedirection ) para redirigir todas las solicitudes HTTP a HTTPS. UseHsts , HTTP Protocolo de seguridad de transporte estricto (HSTS). ASP.NET Core Aplicar HTTPS. Los . UseHttpsRedirection () emitirá códigos de respuesta HTTP
UseHsts agrega el encabezado Strict-Transport-Security a la respuesta, que informa al navegador que solo se debe acceder a la aplicación con HTTPS. Después de esta declaración, los navegadores compatibles deberían convertir automáticamente cualquier solicitud http de la aplicación en una solicitud HTTPS.
UseHttpsRedirection provoca una redirección automática a la URL HTTPS cuando se recibe una URL HTTP, de manera que fuerza una conexión segura.
Una vez que se establece la primera conexión segura HTTPS, el strict-security header evita futuras redirecciones que podrían usarse para realizar ataques de intermediario.
De acuerdo con la documentación, debe usar ambos juntos:
Recomendamos que todas las aplicaciones web ASP.NET Core de producción llamen:
- El middleware de redirección HTTPS (UseHttpsRedirection) para redirigir todas las solicitudes HTTP a HTTPS.
- UseHsts, protocolo de seguridad de transporte estricto (HSTS) de HTTP.
.UseHttpsRedirection() emitirá códigos de respuesta HTTP que redirigirán de http a https. El .UseHsts() agregará el encabezado de respuesta HSTS que se supone que debe obedecer el cliente.