이 글은 제가 20여년 동안 소프트웨어 설계를 공부하고, 적용해보면서 갖게 된 믿음에 관한 글입니다. 한때 설계에 빠져 공부했고, 잘못된 믿음도 가져봤습니다. 하지만 언어와 실력이 다른 분들과 일하며 설계를 했던 경험을 비롯해 다양한 학습이 저를 설계에 관한 다른 관점으로 이끌었습니다. 이 글을 읽고 최소한 여러분은 설계에 대해 기대하지 말아야 할 것들에 대한 제 견해를 알 수 있을 것입니다. 조금 욕심을 부리자면, 적어도 한 사람 정도는 제 글을 읽고 행동에 변화가 생기는 분이 나타날 수도 있다는 기대를 갖고 글을 씁니다.
대부분의 웹 사이트는 보안성을 위해 HTTPS를 지원합니다. 상업적인 웹 사이트뿐만 아니라 개인 블로그까지 이제 HTTPS는 선택이 아니라 거의 강제에 가까운 옵션이라 할 수 있습니다. 최신 브라우저들은 HTTPS를 지원하지 않는 웹 사이트를 위험성이 있는 페이지로 표시하고 있으며, 검색 엔진 또한 HTTPS를 적용한 사이트를 검색 결과에 우선적으로 노출하고 있습니다. 그렇지만 아직도 HTTPS를 사용하지 않는 웹 사이트와 클라이언트는 존재합니다. 이번 글에서는 브라우저가 웹 서버와 통신 시, 무조건 HTTPS 통신을 할 수 있도록 수행하는 HSTS 기술에 대해 알아보겠습니다.