2012-03-21 3 views
0

페이지를로드하고이 페이지에 3 개의 이미지가 있다고 가정 해 보겠습니다. 먼저 "/images/1.jpgn", 두 번째는 "/images/2.jpg", 세 번째는 "/images/1.jpg"를 다시 참조하십시오. 페이지가 브라우저로 전송되면 브라우저가 서버에 새로운 요청을하고 이미지를 요청하게됩니까? 그리고 이미지가 이미 요청 된 경우 (예 : "말하기"와 같이 동일한 이미지가 두 번 있음) 다시 요청할 수도 있고이 이미지/URL이 이미로드되어 있음을 알게되며 임시에서 검색합니다 ?브라우저에서 이미지를 처리하는 방법과 다시로드하지 않고 이미지를 저장하는 방법은 무엇입니까?

내게 두 번째 질문으로 이어질 수있는 방법은 다시 자바 스크립트에서/jquery (이 파일을 다운로드하는 경우처럼 다운로드 상자 열기와 함께) 컴퓨터에서이 이미지를 임시 직원으로부터 다시 요청하지 않고 저장하는 것입니다 서버?

정말 명확한 지 모르지만 요약하면 캐시에서 페이지의 이미지를 저장하고 서버에 다운로드를 요청하지 않습니다.

+0

왜 이것을하고 일반 캐시 메커니즘이 이것을 허용하지 않습니까? –

+0

내 이미지가 php 파일에 의해 전송되어 이미지를 볼 수 있도록 확인을 실행하고 이미 만들어 졌을 때이 확인을 실행하지 않기를 원했기 때문입니다. – maniak

답변

2

브라우저는 일반적으로 HTTP 응답 헤더가 말한 바에 따라 할 수있는 것을 캐시합니다. 즉, 서버는 궁극적으로 어떤 브라우저가 캐시 할 수 있는지 (또는 캐시해야하는지) 제어하므로 일반적으로 이러한 구성을 제어하는 ​​서버 구성입니다. 일반적으로 브라우저가 두 이미지가 같은 소스를 가지므로 한 번만 다운로드 것을 볼 수 등

+0

정확히 내가 알고 싶었던 멋진 감사. 그것이 모든 콘텐츠 유형을위한 것인지 확실하지 않았습니다. – maniak

1

브라우저가 처리해야합니다. 같은 파일을 계속해서 다시 요청하지는 않습니다.

2

서버가 처음으로 이미지를 전송하는 방법 (캐싱의 유무에 관계없이)입니다.

브라우저에서 캐싱을 사용하는 경우 브라우저는 서버에서 파일을 요청하기 전에 보통 캐쉬를 확인합니다 ().

+0

이미지가 PHP 파일로 전송 되더라도? – maniak

+0

@maniak 올바른 헤더를 사용하고 있는지 확인하십시오. – Neal

+0

예 물론 D는 요청한 자원 유형에 의존하지 않았 음을 확신하고 싶었습니다. – maniak

1

HTML 페이지, CSS, 자바 스크립트, :

이 이미지를 제외한 모든 콘텐츠에뿐만 아니라 적용됩니다.

그러나 나중에 다시 동일한 이미지를 요청하면 브라우저에서 If-Not-Modified-Since 헤더를 서버로 보냅니다. 그런 다음 서버는 304 Not Modified으로 응답 할 수 있으며 브라우저는 로컬 사본을 사용하여 "즉시 다운로드"합니다.

+0

확인해 주셔서 감사합니다. – maniak

관련 문제