태터 플러그인: 압축 전송 플러그인
전송량 급증
태터툴즈 1.x를 설치하기 위해 호스팅 업체를 변경했다. 호스팅 업체를 변경하고 태터툴즈를 설치한 후 놀란 점은 두 가지이다. 먼저 TraceWatch 통계는 별다른 변화가 없는 데 태터툴즈 카운트는 두 배로 증가했다. 원래 하루 평균 800~900명 정도가 방문하는 것으로 되어 있는데 하루 방문자 수가 1500~1600 정도로 증가했다. 두번째로 전송량이 급증했다. 이야넷에서 웹 호스팅을 받을 때 전송량은 하루 500M였지만 단 한 번도 전송량 초과를 경험한 적이 없다. 그런데 카페24로 이주하고 태터툴즈 1.x로 판올림한 후에는 거의 80% 전송량을 사용했으며 올블로그 추천글에라도 오르면 항상 오후 6시가 조금 지나면 전송량이 초과했다.
전송량 급증
이전 글에서 설명했듯 태터툴즈 1.x를 설치하기 위해 호스팅 업체를 변경했다. 호스팅 업체를 변경하고 태터툴즈를 설치한 후 놀란 점은 두 가지이다.
- 카운터 급증
그림에서 알 수 있듯이 압축된 파일 크기는 12,596 바이트이며 실제 파일 크기는 52,209 바이트인 것을 알 수 있다.
다운로드
- 내려받기: TransferGzipPlugin.zip
- 내려받기: TransferGzipPlugin0.9x.zip
사용법
- 플러그인 설치
- 플러그인을 설치하는 방법은 간단하다. 내려받은 파일을 푼 후 태터툴즈 플러그인 폴더에 폴더째 올리고 '관리 도구/환경 설정/플러그인 설정'에서 'TransferGZip'을 '미사용'에서 '사용중'으로 변경하면 된다.
- 플러그인 사용 가능성 검사
-
이 플러그인은 Zlib를 사용한다. 따라서 최소한 Zlib를 PHP 설치시 함께 설치했어야 사용 가능하다. 'Zlib'의 사용 가능 여부는 다음과 같은 방법으로 검사할 수 있다. '플러그인을 사용할 수 있다'는 메시지가 나타난다면 태터툴즈를 패치하기 바란다.
http://host.dom/태터 설치 폴더/plugins/TransferGZip/?zlibcheck 예: https://offree.net/plugins/TransferGZip/?zlibchkeck - 플러그인 설정
-
플러그인 시작 부분에 설정할 수 있는 변수 두개가 있다. 하나는 압축 정도를 표시하는
$level이며, 또 하나는 압축 전송의 사용 여부를 나타내는$encoding이다.// 1~9까지 지정 가능. 9는 최대 압축 $level = 9; // 0~2까지 지정 가능. // 0: 압축하지 않음. // 1: 브라우저가 GZip 인코딩을 지원하면 GZip으로 인코딩 // 따라서 1로 설정해서 사용하면 큰 문제를 발생하지 않음 // 2: 무조건 GZip으로 인코딩. GZip 인코딩을 지원하지 못하는 브라우저는 // 파일 저장 창이 나타남. 보다 자세한 내용은 https://qaos.com/article.php?sid=1543 // 를 참고하기 바람. $encoding = 1;위 설명에서 알 수 있듯이 보통
$encoding을 1로 설정해서 사용하면 무난하다. 1로 설정하면 GZip 인코딩을 지원하는 브라우저는 자동으로 'GZip'으로 압축해서 전송하며, GZip 인코딩을 지원하지 못하는 브라우저(거의 없으며 대부분 브라우저 설정 문제임)는 'GZip'으로 압축하지 않고 전송하기 때문이다. 만약$encoding를 2로 설정하고 사용하는 경우에는 반드시 공지를 확인하기 바란다. - 태터툴즈 패치 1.x
-
적당한 이벤트가 없기때문에 사용자 페이지를 만드는 모든 파일을 패치해야 한다. 일반적으로 패치는 각 파일 끝부분의
print $view;라는 행을 다음처럼 변경하면된다.fireEvent('OBStartSession'); print $view; fireEvent('OBEndSession');변경해야 하는 파일은 다음과 같다.
blog/item.php는if($view!='[##_article_rep_##]') print $view;를 fireEvent('') 함수로 감싸야 하며,keylog/index.php파일은print $view와print $out을 fireEvent('') 함수로 감싸면 된다./blog/index.php print $view; /blog/item.php if(isset($_POST['partial'])){ if($view!='[##_article_rep_##]') print $view; }else { print $view; } /archive/index.php print $view; /archive/item.php print $view; /category/index.php print $view; /entry/index.php print $view; /guestbook/index.php print $view; /keylog/index.php if(strlen($suri['value'])){ print $out; }else{ print $view; } /location/index.php print $view; /notice/index.php print $view; /notice/item.php print $view; /search/index.php print $view; /tag/index.php print $view; - 태터툴즈 패치 0.9x
-
태터툴즈 0.9x는
index.php로 모든 페이지를 처리하기때문에 패치하기 훨씬 쉽다. 일단index.php파일을 좋아하는 편집기로 불러온 후 다음처럼 수정하면 된다.<? include("inc_global.php"); include("inc_function.php"); include("inc_presswork.php"); include("transfergzip.php"); GZipStart(); . . . GZipEnd(); ?>5행에
include("transfergzip.php");와GZipStart();문을 삽입하고,index.php파일 마지막 행(?>가 나오기 전 행)에GZipEnd();을 추가하면된다.
남은 이야기
마지막으로 태터&컴패니[1]에 바라는 점이 있다면 이 압축 전송 기능은 태터툴즈 자체내에 내장했으면 한다. 물론 PHP 설치 환경에따라 사용할 수도 있고 그러지 못할 경우도 있지만 기능이 있지만 사용할 수 없는 경우와 기능이 없는 경우는 조금 다르기때문이다.
관련 글타래- 태터 플러그인: 인쇄 버튼 - 판올림 태터툴즈가 1.x에는 플러그인 기능이 있다. 0.9x까지는 태터... 새창
- 태터 플러그인: StripBRTags 사람에 따라 다르겠지만 난 글을 올릴 때 <PRE>를 ... 새창
- 태터 플러그인: TraceWatch 통계 얼마 전 태터툴즈 1.x로 갈아탄 후 800명 정도이던 접속자 ... 새창
- 현재 사용중인 태터툴즈 플러그인 어느 광고인지 정확히 기억이 나지 않지만 광고 카피 중 '골라먹... 새창
- 태터 플러그인: 분류를 수평으로 표시하는 플러그인 태터툴즈가 1.x대로 판올림되면서 가장 마음에 드... 새창
- 태터&컴패니 회사 홈페이지 주소를 몰라 굵은 글씨로 처리했습니다. ↩