2008-09-16 4 views
6

Tomcat을 서버로 사용하고 Internet Explorer 6을 브라우저로 사용하고 있습니다. 우리 앱의 웹 페이지에는 약 75 개의 이미지가 있습니다. 우리는 SSL을 사용하고 있습니다. 모든 콘텐츠를로드하는 데 매우 느립니다. Internet Explorer에서 이미지를 캐시하도록 Tomcat을 구성하려면 어떻게해야합니까?HTTPS를 통해 제공되는 이미지와 같은 콘텐츠를 클라이언트 측에 캐시하려면 어떻게해야합니까?

답변

10

https를 통해 페이지를 게재하는 경우 https를 통해 보안 경고가 표시되지 않도록 포함 된 모든 정적 또는 동적 리소스를 https (동일한 도메인 또는 다른 도메인 또는 https를 통해 제공)를 통해 제공해야합니다. 브라우저.

보안 채널을 통해 전달되는 콘텐츠는 대부분의 브라우저에서 기본적으로 디스크에 기록되지 않으므로 디스크 캐시보다 훨씬 작은 브라우저 메모리 캐시에 저장됩니다. 응용 프로그램이 종료되면이 캐시도 사라집니다.

단일 브라우저 설정 내에서 SSL 자산에 대한 접근 가능성을 개선하기 위해 할 수있는 일이 모두 있습니다. 우선, 모든 자산에 적당한 Expires 및 Cache-Control 헤더가 있는지 확인하십시오. Tomcat이 아파치 뒤에 있으면 mod_expires를 사용하여 추가하십시오. 이미지가 두 번째로

<Location /images> 
    FileEtag none 
    ExpiresActive on 
    ExpiresDefault "access plus 1 month" 
</Location> 

페이지

사이에 변경된 경우이 확인하는 데 브라우저를 방지하며,이 MSIE와 아파치에 고유 한, 대부분의 아파치 SSL의 CONFIGS 다음 행을 포함 킵 얼라이브를 비활성화

SetEnvIf User-Agent ".*MSIE.*" \ 
    nokeepalive ssl-unclean-shutdown \ 
    downgrade-1.0 force-response-1.0 

모든 MSIE 요원에게. IMHO 이것은 너무 보수적입니다. SSL을 사용하여 문제가 발생한 마지막 MSIE 브라우저는 5.x 및 6.0 이전 SP2의 패치되지 않은 버전이었습니다. 둘 다 매우 드문 경우입니다. 일부 브라우저가 SSL 콘텐츠를 캐시합니다

BrowserMatch "MSIE [1-4]" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0 
BrowserMatch "MSIE [5-9]" ssl-unclean-shutdown 
-1

HTTPS 연결을 통해 제공되는 콘텐츠 은 브라우저에서 캐시되지 않습니다. 당신은 그것에 대해 많이 할 수 없습니다.

일반적으로 웹 사이트의 이미지는 민감하지 않으며 HTTP를 통해 제공됩니다.

2

75 개의 이미지가 많이 들립니다. 작은 이미지가 많으면 많은 이미지를 하나의 묶음으로 묶는 방법이 있습니다. 그렇게하는 라이브러리를 찾을 수 있는지 알 수 있습니다. 또한 이미지를 google gears과 같이 캐시하도록 강제 할 수 있습니다.

-1

첫 번째 대답은 HTTPS를 사용할 때 아무 것도 캐시되지 않는다는 것입니다. 그러나 웹 페이지를 만들 때 개별 URL로 이미지를 참조하는 것을 고려할 수 있습니다. 이 방법으로 이미지를 HTTP 소스에서 비롯된 것으로 지정할 수 있으며 브라우저에서 캐시 할 수 있습니다.

5

MSIE 및 SSL을 사용하는 경우 다음은 관대하고 킵 얼라이브를 해제하지 않습니다. Firefox 2.0 이상에서는 기본적으로 개인 정보 보호를 위해 디스크에 SSL 리소스를 캐시하지 않습니다. Firefox 3 이상에서는 Cache-control : public 헤더가 나타나지 않으면 디스크에 캐시하지 않습니다.

Expires : 헤더를 올바르게 설정하고 Cache-control : public을 설정하십시오. 예 :

<Files ~ "\.(gif|jpe?g|png|ico|css|js|cab|jar|swf)$"> 
     # Expire these things 
     # Three days after access time 
     ExpiresDefault "now plus 3 days" 
     # This makes Firefox 3 cache images over SSL 
     Header set Cache-Control public 
</Files> 
-1

https가없는 이미지를 제공하는 추가 서버/하위 도메인을 추가 할 수 있습니까?

4

그 75 개 이미지의 많은, 당신은 크게, 따라서 HTTP 요청의 수를 감소하고 CSS 스프라이트를 사용하여 모든 페이지에 나타나는 아이콘이나 이미지 빠르게 페이지를로드하는 경우 :

http://www.alistapart.com/articles/sprites/

관련 문제