2012-05-09 5 views
1

나는 모든 페이지에 이미지가 많은 웹 사이트가 있습니다. 각 이미지는 PHP에 의해 동적으로 생성됩니다 (img 태그의 src = ""속성은 "/image.php?id=4553"과 같은 의미입니다).웹 페이지에 많은 PHP 생성 이미지를로드하는 방법

동일한 이미지로드 속도를 높이기 위해 캐시를 올바르게 제어하고 단일 이미지를로드하는 데 걸리는 시간이 매우 빠릅니다. 문제는 첫 번째 5-6 이미지가 페이지로드와 동시에로드되고 다른 이미지는 나중에 두 번째로드됩니다 (5-10-15 초 후). Firebug는 서버에 동시 연결을 제한하기 위해 브라우저가 수행하는 요청의 대기열로 인해 발생한다고 설명합니다.

페이지의 HTML을 보낼 때 "연결 : 연결 유지"헤더를 보내려고했지만 충분하지 않을 수 있습니다!

어떤 도움이 필요합니까?

뷰포트에 표시 될 때만 이미지를로드하는 lazy load와 같은 jQuery 플러그인이 있다는 것을 알고 있습니다. 좋은 "해결 방법"이 될 것이지만이 유형의 이미지로드를 제어하는 ​​적절한 방법이 있는지 알고 싶습니다.

대단히 감사합니다.

+0

해당 스크립트에서 이미지를 처리합니까? – Leri

+0

예, 원본 이미지를 해당 "이미지 태그"에 필요한 형식으로 크기 조정 (gdlib)합니다. –

+0

성능 향상을 위해 업로드시 이미지를 처리하고 나중에 출력하기 만하면됩니다. 이미지가 한 번 업로드되었지만 여러 번 표시되기 때문입니다. – Leri

답변

4

방화 광이 문제를 아주 잘 요약하고 있습니다. 브라우저는 도메인에서 한 번에 x 개의 리소스 만로드합니다. x은 일반적으로 약 8이지만 브라우저마다 다를 수 있으며 설정에 따라 사용자가 변경할 수 있습니다. 이것을 극복하는 유일한 방법은 브라우저가 한 번에 더 많은 양의 리소스를 다운로드 할 수 있도록 다른 도메인의 리소스 (하위 도메인은 다른 도메인으로 계산 됨)를 다운로드하게하는 것입니다. .htaccess 및 mod_rewrite를 사용하여 다른 도메인에서 다운로드하는 것으로 생각하도록 브라우저를 속이면 실제로 동일한 도메인에서 다운로드 한 위조 된 하위 도메인에서 이미지를 다운로드 할 수 있습니다. 이렇게하면 한 번에 할당 된 리소스를 더 많이 다운로드 할 수 있습니다.

+0

매우 명확하고 완전한 답변을 주셔서 감사합니다! –

관련 문제