https 프로토콜을 사용하여 접근해야하는 주소에 http 로 접근하는 경우( HTTPS 를 강제하게 될 때 ) 서버측에서 302 Redirect 를 이용하여 전환시킬 수 있습니다.

하지만 HTTP 연결을 거쳐가는 것이기 때문에 쿠키 정보 탈취 등 보안에 취약할 수 있습니다. 이때 클라이언트에게 HTTPS 를 강제 하도록 하는 것이 권장되는데 이것이 "HSTS" 입니다.

만약 해커와 같은 공격자가, 중간자공격(MITM attack)을 하여, 중간에 Proxy Server를 두고, 사용자와는 HTTP 통신을 하고, 실제 Site 와는 HTTPS 통신을 해도, 사용자는 전혀 인식을 하지 못하게 됩니다. 즉 사용자가 실제 Site 와 주고 받는 모든 정보는 공격자에게 노출이 되게 됩니다. 이러한 공격을 “SSL Stripping” 공격(attack)이라고 부르며, 이러한 공격을 방지하기 위하여 HSTS 기능을 사용합니다. SSL StrippingSSL/TLS Hijacking이라고도 부릅니다.

즉 사용자가 실수로 HTTPS Protocol을 지원하는 Site를, HTTP Protocol로 접속 했을 때, 중간자 공격에 의해, HTTP Protocol을 사용한 통신을 하게 되고, 이로 인해 통신 정보가 공격자에게 노출이 되는 것을 방지하고자 하는 목적입니다.

또한 cookie hijacking을 방지하는 용도로도 사용된다고 합니다.

웹서버에서 HSTS 설정방법