gzip filter를 이용해 압축해서 사용자에게 보내기
2009/11/16 16:36
gzip ?
gzip은 리눅스나 유닉스 체제에서 사용하는 압축 방식인데 .. WEB에서 (사용자)브라우저에게 압축해 내용을 보내주는 것이다. HTTP HEADER에 '이건 gzip이야 .. 그러니 알아서 처리해줘!'하고 보내주면 브라우저가 분석해 gzip압축내용을 해제 후 사용자에게 보여준다.
사실 대부분의 브라우저들이 gzip을지원하고 있고 .. 지원한지도 오래되었지만 이제서야 직접 테스트해 봤다. 쌩자로 html을 만들어(서버사이드에서 연산된 후 사용자에게 보여질 때) 사용자에게 보여주는 경우가 일반적이지만 gzip의 압축을 통해 사용자에게 보내주면, 트래픽이 감소할 것이고 사용자는 보다 빠른 응답을 받을 수 있는 것이다.
필자가 보기엔 이거 .. *.js,*.css, *.html, *.htm같은 정적인 페이지만 영향이 있는줄 알았는데(정적페이지) *.jsp도 잘 된다. 본 테스트 데이터는 단순히 text기반의 정보이므로 당연히 무지막지한 압축율을 자랑한다. 그리고 이미지나 압축된 파일 등은 gzip으로 압축되지 않는다. 오직 text기반만 적용 된다. (블로그를 검색해 보니 60%정도 압축된다고 한다.)
gzip.html (정적 페이지 테스트)
결과>
gzip은 리눅스나 유닉스 체제에서 사용하는 압축 방식인데 .. WEB에서 (사용자)브라우저에게 압축해 내용을 보내주는 것이다. HTTP HEADER에 '이건 gzip이야 .. 그러니 알아서 처리해줘!'하고 보내주면 브라우저가 분석해 gzip압축내용을 해제 후 사용자에게 보여준다.
사실 대부분의 브라우저들이 gzip을지원하고 있고 .. 지원한지도 오래되었지만 이제서야 직접 테스트해 봤다. 쌩자로 html을 만들어(서버사이드에서 연산된 후 사용자에게 보여질 때) 사용자에게 보여주는 경우가 일반적이지만 gzip의 압축을 통해 사용자에게 보내주면, 트래픽이 감소할 것이고 사용자는 보다 빠른 응답을 받을 수 있는 것이다.
필자가 보기엔 이거 .. *.js,*.css, *.html, *.htm같은 정적인 페이지만 영향이 있는줄 알았는데(정적페이지) *.jsp도 잘 된다. 본 테스트 데이터는 단순히 text기반의 정보이므로 당연히 무지막지한 압축율을 자랑한다. 그리고 이미지나 압축된 파일 등은 gzip으로 압축되지 않는다. 오직 text기반만 적용 된다. (블로그를 검색해 보니 60%정도 압축된다고 한다.)
gzip.html (정적 페이지 테스트)
코드보기
결과>
gzip.jsp (동적 페이지 테스트)
코드보기
gzip사용(전송량 33KB)
결과를 표로 보자면 ...| gzip 미사용 | gzip 사용 |
|
| .html | 183KB |
937B |
| .jsp | 9.44MB |
33KB |
이제 효능을 확인했으니 적용 방법을 살펴보자. 라이브러리 추가 후 filter를 추가해 주면 된다. 물론 기존의 filter가 있다면 순서 등등의 문제가 이르킬수 있으니 순서정의를 잘 해야 한다.
web.xml
추가해야 할 라이브러리(왜 파일이 안올라가지 --)
commons-logging-1.1.1.jar
ehcache-1.3.0.jar
web.xml
추가해야 할 라이브러리(왜 파일이 안올라가지 --)
commons-logging-1.1.1.jar
ehcache-1.3.0.jar
'Dev > Java' 카테고리의 다른 글
| gzip filter를 이용해 압축해서 사용자에게 보내기 (0) | 2009/11/16 |
|---|---|
| SWT에서 사용하는 MS 리본UI... (0) | 2009/05/05 |
| 자바 리플랙션 객체 생성(Java Reflection instance construct) (3) | 2009/03/05 |
| 자바 리플랙션 필드값 수정(Java Reflection field value edit) (0) | 2009/03/05 |
| 자바 리플랙션 메소드 호출하기(Java Reflection method call) (0) | 2009/03/05 |
| 자바 리플랙션(Java Reflection) (0) | 2009/03/05 |