
웹이 초창기에는 HTTP 연결이 상대적으로 빨랐고 HTTPS 연결은 고통스러울 정도로 느렸습니다.
지난 몇 년 동안 HTTPS 연결 속도는 HTTP 연결 속도와 매우 유사한 경우가 많습니다. 눈에 띄는 차이가 없는 경우도 있습니다.
HTTPS 연결 속도가 HTTP 연결 속도에 필적할 수 있도록 변경된 사항은 무엇입니까?
답변1
그 개선에는 다양한 이유가 있습니다
초기 연결 설정 시간HTTPS 연결에는 초기 HTTP 연결이 설정된 후 추가 핸드셰이크가 필요합니다. 시간이 지남에 따라 연결 대기 시간이 감소했습니다(모뎀의 경우 ~100-200ms에서 DSL의 경우 10-100ms로, FTTH(Fiber-to-the-Home) 또는 기타 신기술의 경우 훨씬 더 낮아졌습니다). 대기 시간이 줄어들면 추가 핸드셰이크가 눈에 덜 띄게 됩니다.
프리페치/사전 연결 최신 브라우저는 다양한 종류의 프리패치 및 사전 연결 방법을 사용하여 더 빠르게 탐색할 수 있습니다. 연결이 이미 설정되었으므로 언급된 핸드셰이크가 전혀 눈에 띄지 않을 수 있습니다.
SPDY와 같은 다른 것들도 여기에 도움이 되며 동일한 아이디어를 사용합니다.
더 많은 계산 능력HTTPS에는 암호화로 인해 더 많은 계산 리소스가 필요합니다. 더 빠른 CPU(서버 및 클라이언트 측)는 HTTPS를 더 빠르게 만드는 데 도움이 됩니다. 또한 일부 서버는 성능을 높이기 위해 특수 암호화 하드웨어를 사용합니다.
정책 변경HTTP와 HTTPS에 얼마나 많은 리소스가 소비되는지를 결정하는 정책이 있습니다. 간단한 단일 서버 설정의 경우 이 정책은 OS 스케줄러에 의해 암시적으로 정의됩니다. 다중 서버 또는 다중 인터페이스 설정의 경우 암시적일 수도 있으며 각 서버의 대역폭과 CPU에만 의존할 수도 있습니다.
과거에는 HTTPS가 이색적이고 비용이 많이 드는 것으로 간주되어 제대로 지원되지 않았습니다(예: 느린 시스템에서 실행).
그러나 오늘날, 특히 대규모 웹사이트를 생각하면 각 서비스를 처리하고 우선순위를 지정하는 방법에 대한 명시적인 정책이 있음을 확신할 수 있습니다. 그리고 HTTPS(예: Google)와 같은 회사가 점점 더 많아지고 있기 때문에 정책을 통해 이를 표현하기도 합니다.