HTTPS를 사용한 크로스 브라우저 글꼴 삽입: IE @font-face EOT 로딩 문제 해결
삽입 시 직면하는 주요 문제 중 하나 @font-face를 사용하는 글꼴은 다양한 브라우저 간의 호환성을 보장합니다. 대부분의 브라우저는 다양한 글꼴 형식을 지원하지만 Internet Explorer 7, 8, 9는 HTTPS를 통해 EOT 글꼴에 액세스할 때 특이한 동작을 나타냅니다.
HTTPS를 통해 EOT 글꼴을 로드하려고 할 때 문제가 발생하지만 HTML은 @font-face 선언이 포함된 페이지는 HTTP 또는 HTTPS에서 호스팅될 수 있습니다. 이러한 시나리오에서 Internet Explorer는 일반 HTTP를 통해 원활하게 작동하더라도 EOT 글꼴을 로드하지 못합니다.
근본 원인을 조사하려면 글꼴을 호스팅하는 서버를 조사하는 것이 중요합니다. 대부분의 경우 서버는 EOT 글꼴 파일에 대해 적절한 콘텐츠 유형 헤더, 즉 "application/vnd.ms-fontobject"를 보내야 합니다.
HTTP 헤더 Cache-Control이 설정된 경우 문제가 발생합니다. 글꼴에 대해 "캐시 없음"으로 설정합니다. 이 설정은 HTTP 환경에서는 허용되지만 Internet Explorer는 HTTPS를 통해 다운로드된 글꼴을 무시하게 됩니다.
이 동작에 대한 가장 가능성 있는 설명은 KB 815313에 설명된 동작과 유사하다는 것입니다. SSL을 통해 활성 문서를 다운로드합니다. 따라서 "Cache-Control" 헤더가 존재하고 "no-cache"로 설정된 경우 이를 제거하면 문제가 해결됩니다.
따라서 Internet Explorer가 개발자 도구의 글꼴 옵션을 통해 진행되는 것을 관찰하면 HTTPS를 통해 EOT 글꼴을 로드하지 않고 네트워크 보기에서 "Cache-Control" 헤더를 확인하고 제거하는 것이 잠재적인 해결책일 수 있습니다. 이러한 미묘한 차이를 해결하면 HTTPS를 통해 글꼴에 액세스하는 경우에도 브라우저 전반에 걸쳐 일관된 글꼴 삽입을 보장할 수 있습니다.
위 내용은 Internet Explorer 7, 8, 9가 HTTPS를 통해 EOT 글꼴을 로드할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!