본문 바로가기

ETag3

Nginx 캐시 서버 구축 및 운영 시 필요한 다양한 설정 방법 루트 경로 /에 대해서만 캐시를 완전히 비활성화하고, 다른 경로에 대해서는 기본 캐시 설정을 유지하려면, Nginx의 location 블록을 정확히 지정하여 설정할 수 있습니다. 다음은 이러한 설정을 구현하는 방법의 설정 예시입니다.http { server { listen 80; server_name example.com; # 정확히 루트 경로에 대한 설정 location = / { root /usr/share/nginx/html; index index.html index.htm; expires -1; add_header Cache-Control "no-store, no-.. 2024. 7. 31.
서블릿 응답 헤더(Response Header) 서블릿에서 응답 헤더들을 설정하는 방법 - 응답헤더는 클라이언트에게 문서 내용을 한글자라도 보내기 전에 설정해야 한다. - 일반적으로 setHeader("","") 로 사용한다. - 서블릿 버전2.1에서는 헤더를 설정하면 바꿀수 없었다 같은 이름으로 헤더를 설정하더라도 이전것은 유지되면서 새로운 해더가 추가되는 형식이 였다. 하지만 서블릿 버전 2.2 에서는 setHeader를 같은 이름으로 하면 덮어쓰기 형식으로 지원하며, 같은 이름으로 추가는 addHeader("","")로 하면 된다. Accept-Range - HTTP1.1 에서 추가 - 클라이언트가 보낸 Range요청헤더를 받아들 일 수 있는지의 여부를 뜻한다. - 받아들 일 수 있다면 byte 단위 지정 아니면 none을 지정한다. Age - .. 2009. 8. 5.
아파치 ETag 이용한 정적파일 최적화 ETag는 Http1.1 에서 새롭게 등장한 header값인데 브라우져 캐쉬에 저장된 파일과 웹서버의 파일이 일치하는지를 판단하기 위한 방법중에 하나이다. 보통 ETag는 파일을 구분하기 위해 inode 값을 사용하는데 이게 여러대의 웹서버를 운영하는 환경에서는 접근하는 서버에 따라 inode 값이 다르기때문에 ETag 값도 달라기게 된다. 브라우져는 캐쉬된 파일의 갱신여부를 확인하기 위해서 수정일자와 ETag값을 사용하게 되는데 (이중에서 ETag값을 먼저 비교하고 수정일자를 나중에 비교한다.) 위와 같이 여러대의 서버를 사용하는 환경에서는 ETag값이 다르게 인식되어 다른 서버에 접근하게 되면 캐쉬를 지우고 새로 받게 된다. 많은 웹서버를 쓰는 환경에서는 캐쉬효율이 떨어져서 응답 속도가 느려질수 있다.. 2009. 5. 13.
728x90