웹마스터 팁
웹 재요청 방지 및 트래픽 감소를 위한 방법
2015.04.06 09:07
from cache
서버에 요청자체를 하지 않는다.
가장 효과가 좋다.(요청 자체가 없으므로)
최초 한번 데이터를 가져오면, 그 후로는 웹 브라우저의 캐시에서 데이터를 가져온다.
즉, 서버와의 통신이 없어진다.
하지만 F5를 누를 경우 새로 데이터가 전송된다.(HTTP Code 200 발생)
관련 응답 해더 및 PHP 적용법 ($g는 캐시 기간(초))
header('Cache-Control:public, max-age='.$g); // HTTP/1.1
지정 초 이전까지는 재요청하지 않도록 권장함 (새로 고침에서는 무시됨)
header("Expires: ".gmdate("D, d M Y H:i:s", time()+$g)." GMT"); //캐시
지정 시간까지는 재요청 하지 않도록 권장함 (새로 고침에서는 무시됨)
apache의 경우 mod_expires 적용
304 Not Modified
요청은 하지만, 트래픽이 아주 적게 발생된다.(해더 전송 정도만 발생)
F5로 새로 요청해도 Etag나 Last-Modified의 조건에 맞으면 HTTP Code는 304가 발생된다.(실제 데이터 전송은 없음)
(ctrl+F5의 경우 etag와 Last-Modified 가 없이 요청되므로 새로 가져온다.)
관련 응답 해더 및 PHP적용법
header("Etag: ".$etag_key); //etag
파일의 수정내역을 Etag로 만들어서 출력한다.
클라이언트가 같은 Etag로 요청하면, 304코드를 알려준다.
아파치의 경우 FileETag 부분 참고
파일 수정 시간을 사용할 경우 문제가 될 수 있다.
서버를 여러대 사용할 경우 서버 간의 파일의 시간 차가 발생될 수 있기 때문이다.
여러서버를 묶어쓰는(L4에 연결 해서) 경우 사용안하는게 좋다
PHP에서 처리할 경우 요청에서 HTTP_IF_NONE_MATCH 관련 처리가 필요
header('Last-Modified: '.gmdate("D, d M Y H:i:s", time()+$g)." GMT");
지정 시간까지는 파일이 수정되지 않는다는 것을 나타낸다.
즉, 그 시간에 재요청해봤자 304 코드가 반환된다.
apache의 경우 mod_expires 적용
PHP에서 처리할 경우 요청에서 HTTP_IF_MODIFIED_SINCE 관련 처리가 필요
댓글 0
제목 | 글쓴이 | 날짜 |
---|---|---|
즐겨찾기 소스 - 파비콘등록 | soroweb | 2015.04.16 |
누리고 쇼핑몰 상품취소 혹은 반품시 마일리지 자동회복하기 [6] | garnecia | 2015.01.21 |
확장변수에 시분초 추가하기 [1] | 해떨 | 2015.04.15 |
JS로 IE 6,7,8 구분하기 [4] | 키스투엑스이 | 2015.04.14 |
|웹폰트(네이버 맑은 고딕, 나눔고딕) 적용하기 [1] | 다큰왕자 | 2014.03.18 |
나눔고딕 웹 폰트 적용하기. [10] | 정찬명 | 2011.12.15 |
에디터에서 URL 클릭시 "http://" 삭제하는 방법 [2] | 콜롬보. | 2015.03.13 |
통합검색 사용 가부 설정 및 특정 그룹만 사용가능하게 제한 설정 기능 추가 - 보안이슈가 될 수 있는 부분 [1] | sejin7940 | 2015.04.10 |
요청한 기능을 실행할 수 있는 권한이 없습니다. - 오류해결 | I-JEX | 2015.04.10 |
댓글 새로고침 수정 [22] | Lansi | 2013.09.06 |
메인 로고 및 메인 이미지 변경 방법 [1] | okcashbag042 | 2015.04.08 |
웹 재요청 방지 및 트래픽 감소를 위한 방법 | 마루디자인 | 2015.04.06 |
setModule() 오류 발생시 | qkrcjfgus33 | 2015.04.04 |
ie11에서 통합검색시 page가 바뀌면 검색키워드가 없어지거나 이상한 글자로 바뀌는 것에 대한 팁 | garnecia | 2015.04.03 |
[고급] 내 XE 모듈에 editor 삽입하기 [8] | 개발해보쟈 | 2013.01.22 |
스케치북게시판 최신버전에 네이트온 /마이피플/플립보드 추가하는 방법 [4] | 가을풍경 | 2015.03.09 |
로고 만들기 귀찮을때^^* [1] | 수백 | 2015.03.06 |
[스케치북5] 댓글 수정 간략화하기.. (새로고침 없이 하는 방법 추가) [16] | XE만세 | 2014.01.05 |
php 5.6에서 인증메일 SMTP 연결에 실패할때.. | 루비스코 | 2015.03.31 |
한국 ip list 범위 체크 및 데이터 갱신 | 마루디자인 | 2015.03.30 |