BLOG main image
분류 전체보기 (116)
일상 (28)
IT이야기 (61)
시스템이야기 (27)
VM 없는 맥 생활
Forest : Behind everywhere
네트워크 트래픽을 줄이자, Apac..
지돌스타 블로그
뉘른베르크
Die Freiheit
[트랙백] 중국 정부기관 사이트..
::: Unknown Dragon :::
광고에만 타케팅이냐? '보이스..
순디자인기술지원센터
177877 Visitors up to today!
Today 117 hit, Yesterday 144 hit
daisy rss
한RSS에 추가
tistory 티스토리 가입하기!
'웹서버'에 해당되는 글 5건
2008/06/09 23:10
아파치 웹서버에는 UseCanonicalName 이라는 옵션이 있다. 이 옵션은 CGI나 php등에 SERVER_NAME과 SERVER_PORT변수값을 넘길 때, 어떤값을 넘길 것인지 결정한다. On으로 설정되어 있을 경우는 아파치의 ServerName으로 지정한 값이 넘겨지고, Off로 설정되어 있을 경우는 클라이언트가 요청한 호스트명과 포트명이 넘겨진다.

이런 경우를 가정해보자. www.coffeenix.net 로 서비스되는 서버가 5대라고 하고, 각 5대의 서버는 w101~w105.coffeenix.net 이름을 갖고 있다.

ServerName www.coffeenix.net

위처럼 설정되어 있을 때 On과 Off의 차이를 확인홰보자. 유저가 브라우저에서 w101.coff...를 요청했을 때이다.

다음은 On으로 설정한 경우이며, ServerName에 설정된 호스트명이 출력된다.
사용자 삽입 이미지

Off으로 설정한 경우이며, 브라우저에서 요청한 호스트명이 출력된다.
phpinfo _SERVER변수

UseCanonicalName 옵션은 아피치 1.3에선 기본값이 On으로, 2.x대(2.0, 2.2)는 Off로 되어 있다. 기본값의 차이가 있으니 반드시 ServerName에서 지정한 호스트명이 나와야할 경우 주의가 필요하다. 다음은 아파치 웹서버의 httpd.conf 일부다.

[ 아파치 1.3.x의 httpd.conf ]
# UseCanonicalName:  (new for 1.3)  With this setting turned on, whenever
# Apache needs to construct a self-referencing URL (a URL that refers back
# to the server the response is coming from) it will use ServerName and
# Port to form a "canonical" name.  With this setting off, Apache will
# use the hostname:port that the client supplied, when possible.  This
# also affects SERVER_NAME and SERVER_PORT in CGI scripts.
#
UseCanonicalName On

[ 아파치 2.2.x의 httpd-default.conf ]
# UseCanonicalName: Determines how Apache constructs self-referencing
# URLs and the SERVER_NAME and SERVER_PORT variables.
# When set "Off", Apache will use the Hostname and Port supplied
# by the client.  When set "On", Apache will use the value of the
# ServerName directive.
#
UseCanonicalName Off

이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://truefeel.tistory.com/trackback/116
Name
Password
Homepage
Secret
2008/05/17 00:40
.html이나 .js 등의 파일들을 전송할 때 압축해서 보낸다면, 웹페이지 접속시에 약간의 전송속도 향상을 가져올 수 있을 것이다. 요즘 워낙 회선속도가 좋아 그 영향이 미비할 수도 있지만. 주요 포털들과 랭킹 상위 사이트 몇개를 대상으로 gzip 압축 전송을 지원하는지를 체크해봤다. 메인페이지를 기준으로 확인해봤으며, 메인페이지 접속시에 함께 요청되는 페이지도 체크에 포함했다.

gzip 압축 전송 지원여부 체크는 초기에는 직접 Request 헤더에 'Accept-Encoding: gzip, deflate'를 포함해서 만들어 보내고, Response 헤더에 'Content-Encoding: gzip'가 포함되어 있는지를 파악했다. 그러나 정확도가 떨어진데다가 한 페이지에 .css, .js등 여러 request가 있는 경우까지 체크하기 위해서 Fiddler툴을 이용해서 결과를 정리했다.

사용자 삽입 이미지

gzip을 지원하는 사이트들이다.

1. 다음( www.daum.net )
   .html 파일의 gzip 압축 전송을 지원했으며, top-sc.daum.net 의 .js 파일과 top-sc.daum-img.net 의 .xml 파일도 지원한다.

2. 네이버( www.naver.com )
   20bytes의 작은 사이즈도 gzip 압축했으며, .js, .css 파일은 사이즈에 무관하게 압축을 하지 않았다.
   auto.naver.com의 .html 파일, .js 파일, .css 파일의 gzip 압축 전송 지원

3. 네이트( www.nate.com )
   .html 파일, .js 파일, .ico 파일의 gzip 압축 전송을 지원한다. 특이하게 .ico까지 한다. 아니, 일반적인 이미지파일을 제외하고는 확장자에 무관하게 gzip을 지원하는 것일 수도 있다. 300bytes대의 사이즈도 gzip 압축을 했다. 메인페이지의 최소사이즈 파일이 300bytes였으며, 이보다 작은 사이즈의 파일이 있었으면 압축을 지원했을 수 있다. 적용범위를 폭넓게 생각하면, 파일확장자와 사이즈에 무관하게 압축할 가능성이 있다.
   .css파일은 존재하지 않아 gzip 압축 전송 여부 확인할 수 없었다.
   
4. 야후! 코리아( kr.yahoo.com )
   .html 파일의 gzip 압축을 지원한다. .js와 .css는 img.yahoo.co.kr 이미지 웹서버에 존재하는데 .js, .css 파일의 압축을 지원한다.
   adz.kr.yahoo.com 요청 중에 .js 파일의 압축을 지원한다.

5. 싸이월드( www.cyworld.com )
   .asp(.html), .js 파일의 gzip 압축을 지원한다. 31bytes의 작은 사이즈도 압축했으므로, 사이즈 상관없이 압축한다는 의미일 것이다.
   .css는 압축 지원을 하지 않았다.

6. 구글( www.google.co.kr )
   .html, .js, .css 파일의 gzip 압축 전송을 지원한다.

7. Live Search( www.live.com )
   .html 파일의 gzip 압축 전송을 지원한다.

8. MSN Korea( kr.msn.com )
   .html 파일의 gzip 압축 전송을 지원한다.
   stckr.msn.com의 .css 파일, stjkr.msn.com 의 .js 파일의 gzip 압축을 지원하며,
   특이하게도 ads1.msn.com의 js 파일과 stj.msn.com의 .js 파일은 deflate 압축을 지원한다. 아마도 'Footprint 4.2/FPMCP' 캐싱 서버 때문일 것 같다.

위 사이트를 확장자별로 지원 여부를 표시했다.

                 .html       .js       .css       .ico       .xml
다음               O          O          X          X          O
네이버             O          X          X          X          -
네이트             O          O          -          O          -
야후!코리아        O          O          O          X          -
싸이월드          O          O          X          X          -
구글               O          O          O          X          -
Live Search        O          -          -          X          -
MSN Korea          O          O          O          X          -

다음은 지원하지 않는 사이트이다.

엠파스( www.empas.com ), 파란닷컴( www.paran.com ), 드림위즈( www.dreamwiz.com )
이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://truefeel.tistory.com/trackback/114
Tracked from 지돌스타 블로그 | 2008/05/20 09:33 | DEL
XML, JSON 방식으로 데이터를 전송할 때 그 크기가 1MB이상 되면 전송시간이 상당히 많이 걸리는 것을 볼 수 있다. 데이타 량이 많으면 트래픽이 늘어나고 특별히 웹호스팅을 받는 사람들에게는 트래픽량이 바로 금전적인 문제와 연관이 된다. 이 문제를 해결하기 위해 나는 Apache에서 지원하는 gzip을 이용했다.문서파일은 Text형태이기 압축할 경우 80%~90%이상의 압축률을 보인다. 압축해서 데이타를 보내게 되면 데이터 전송시간도 줄겠지만..
BlogIcon 나인테일 | 2008/05/17 01:56 | PERMALINK | EDIT/DEL | REPLY
음음... 제로보드XE같은 경우는 툴 자체에서 옵티마이저가 지원이 되는 것 같던데... 호스팅 업체에 따라서 그게 또 달라지는건가요?
BlogIcon 좋은진호 | 2008/05/19 12:31 | PERMALINK | EDIT/DEL
'제로보드XE'를 사용하지 않아서, 거기에서 얘기하는 '옵티마이저'가 어떤 기능인지는 모릅니다.

제가 얘기한 gzip 압축지원 관련해서만 답변을 드리면. 1) 웹서버의 설정으로 지원하는 방법과 2) php등의 프로그램내 zlib 모듈을 동해서 지원하는 방법이 있습니다. 따라서 호스팅업체에 따라서 gzip압축지원여부는 달라질 수 있습니다.
Name
Password
Homepage
Secret
2008/04/23 23:19
MaxMind의 GeoIP 데이터와 GeoIP apache 모듈을 사용하여, 아파치의 웹로그에 국가코드를 남겨보자.

1. GeoIP C API 설치한다.
2. 그리고, Apache mod_geoip2 모듈을 설치한다. (apache 2.x 기준임)

apache 모듈이 설치된 상태에서 phpinfo() 를 살펴보면, Apache Environment 부분에서 GEOIP_CONTINENT_CODE, GEOIP_COUNTRY_CODE, GEOIP_COUNTRY_NAME환경 변수를 볼 수 있다.
이중에서 GEOIP_COUNTRY_CODE 변수값을 로그에 남기면 된다.

사용자 삽입 이미지

<IfModule geoip_module>
        GeoIPEnable On
        GeoIPDBFile /usr/local/GeoIP/share/GeoIP/GeoIP.dat
</IfModule>

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{Host}i %{GEOIP_COUNTRY_CODE}e" cnxlog

CustomLog logs/access_log cnxlog

위에서 %{변수명}i 형식은 Header중 해당 변수값을 말한다. %{변수명}e 는 환경변수를 의미한다.

%{Host}i : 요청한 호스트명을 로그에 남긴다. 이를테면 하나의 서버에 2개 이상의 도메인을 갖고 있을 때 유용하다.  www.foobar.com, www.foobar.net, foobar.com 등의 도메인이 있을 때 어떤 도메인으로 요청했는지를 남길 수 있게 된다.
%{GEOIP_COUNTRY_CODE}e : GEOIP_COUNTRY_CODE 환경변수, 즉 국가코드를 남긴다.

로그는 다음과 같이 남는다.

125.129.xxx.xxx - - [01/Apr/2008:01:07:15 +0900] "GET /bbs/ HTTP/1.1" 200 29388 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ko; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13" foobar.com KR
61.243.xxx.xxx - - [01/Apr/2008:01:17:20 +0900] "GET /data/linux_base/editors.html HTTP/1.1" 403 520 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; DigExt)" foobar.com CN

자세한 것은 커피닉스의 'GeoIP 활용(아파치 웹로그에 국가코드 남기기 외)' 에 정리해뒀다.

이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://truefeel.tistory.com/trackback/111
Name
Password
Homepage
Secret
2007/05/05 23:56
Netcraft의 5월 웹서버 통계에 따르면 apache 웹서버는 지난달 약 6689만대에서 6608만대로 줄었고, 점유율에서도 58.86%에서 56.00% 로 무려 2.86%나 감소했다.
이같은 감소의 원인은 Netcraft가 GFE(Google Front End) 로 불리는 구글웹서버의 트래킹을 시작했기 때문으로 apache로 분류했던 웹서버를 이제 GFE로 판단하기 때문이다. 이로 인해 GFE 서버는 호스트명 기준으로 지난달 51,665개에서 2,753,041개로 급증했다. 이 숫자가 서버대수를 의미하는 것은 아니다.구글의 서버대수는 정확하게 들은 것 없고, 45만대라는 글을 읽은 적이 있다.

May 2007 Web Server Survey
http://news.netcraft.com/archives/2007/05/01/may_2007_web_server_survey.html

사용자 삽입 이미지

Developer    April 2007    Percent    May 2007    Percent    Change
Apache        66899485    58.86    66087698    56.00    -2.86  <-- 급감
Microsoft    35380121    31.13    37170290    31.49    0.36
Sun        1907610        1.68    2141252        1.81    0.13
lighttpd    1382843        1.22    1411788        1.20    -0.02
Zeus        488838        0.43    491989        0.42    -0.01

www.google.com 의 HEAD를 살펴보니 다음과 같이 나온다.

Cache-Control: private
Date: Sat, 05 May 2007 14:06:34 GMT
Server: GWS/2.1
Content-Length: 0
Content-Type: text/html; charset=EUC-KR
Client-Date: Sat, 05 May 2007 14:05:04 GMT
Client-Response-Num: 1
Set-Cookie: PREF=ID=3d0f7baffb602710:NW=1:TM=1178373994:LM=1178373994:S=R-OKql9t_NDp3pE8; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.co.kr

그외의 서비스에 대해서도 살펴봤다. 웹서버명에 GWS, NFE, mfe, bsfe, OFE, codesite, GWS-GRFE, TWS, DFE  등을 볼 수 있는데, 이는 서비스 환경에 맞게 웹서버를 커스터마이징하고 있음을 의미할 것이다.

search.google.com          Server: GWS/2.1
mail.google.com            Server: GFE/1.3
news.google.com            Server: NFE/1.0
earth.google.com           Server: GWS/2.1
video.google.com           Server: GFE/1.3
images.google.com          Server: GWS/2.1
maps.google.com            Server: mfe
moon.google.com            Server: mfe
local.google.com           Server: mfe
blogsearch.google.com      Server: bsfe
books.google.com           Server: OFE/0.1
catalogs.google.com        Server: OFE/0.1
desktop.google.com         Server: GFE/1.3
finance.google.com         Server: SFE/0.8
toolbar.google.com         Server: GFE/1.3
code.google.com            Server: codesite/4511653
labs.google.com            Server: Apache
groups.google.com          Server: GWS-GRFE/0.50
picasa.google.com          Server: GWS/2.1
sketchup.google.com        Server: GWS/2.1
mobile.google.com          Server: GWS/2.1
webaccelerator.google.com  Server: GFE/1.3
translate.google.com       Server: TWS/0.9
directory.google.com       Server: DFE/1.0

www.googlestore.com        Server: Microsoft-IIS/6.0
www.blogspot.com           Server: GFE/1.3
www.youtube.com            Server: Apache
www.orkut.com              Server: GFE/1.3
이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://truefeel.tistory.com/trackback/52
| 2007/05/06 00:08 | PERMALINK | EDIT/DEL | REPLY
비밀댓글 입니다
Name
Password
Homepage
Secret
2007/04/04 12:20
Netcraft의 2007년4 월 웹서버 통계에 아파치가 약 6689만 site(58.86%), MS의 IIS가 3538만 site(31.13%)로 그 비율 변화는 거의 없어 이부분에 대해서는 따로 언급할 게 없다. 통계표를 살펴보자.
 
사용자 삽입 이미지
이미지 출처 : Netcraft

Top Developers
 
Developer       March 2007      Percent April 2007      Percent Change
Apache          64747516        58.62   66899485        58.86   0.24
Microsoft       34265321        31.02   35380121        31.13   0.11
Sun             1851269         1.68    1907610         1.68    0.00
lighttpd        1399786         1.27    1382843         1.22    -0.05
Zeus            525405          0.48    488838          0.43    -0.05
 
Netcraft에서는 이번달부터 공식적으로 정적인 데이터 서비스에 특히 고성능을 발휘하는 lighttpd 웹서버를 통계발표( 웹서버별 총 목록( http://survey.netcraft.com/Reports/0703/byserver/index.html )을 통해서는 다양한 서버 통계를 예전부터 제공하고 있었으며, 발표에 포함하기는 처음)에 추가했다. 통계발표에 포 함됐다는 것은 lighttpd 웹서버가 성장했다는 것을 의미한다. 요즘에는 루비온레일즈(RoR)환경으로 lighttpd+FCGI나 lighttpd+Pound+Mongrel을 사용하기도 한다. 이번달에는 138만 site에 1.22%를 차지해서 Zeus의 48만 site를 멀치감치 제쳤고, Sun의 190만 사이트를 바짝 쫓고 있는 형태이다.
 
Netcraft의 발표자료를 보면 SourceForge(sf.net, 1.4.13), 소셜 미디어 허브 사이트 Reddit(reddit.com, 1.4.13), 웹메신저 Meebo(meebo.com), 그리고 YouTube(youtube.com), Wikipedia(wikipedia.org, upload.wikimedia.org) 등에서 주서버 또는 부분적으로 사용하고 있다. 이외에 Mininova(mininova.org), sendspace(sendspace.com), zSHARE(zshare.net) 등에서도 사용하고 있다. 국내에서는 file.sayclub.co.kr, md.egloos.com (이글루스는 spy님께서 알려주셨습니다.) 등에서 사용하고 있다. lighttpd 웹서버를 사용하는 사이트는 http://trac.lighttpd.net/trac/wiki/PoweredByLighttpd 에서 확인할 수 있다.
 
[ 관련글 ]
 
* 2006.12월 웹서버 통계 (netcraft)
* 2005.10 현재 웹서버점유율 (netcraft)
* 2003년은 아파치의 해였다.

이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://truefeel.tistory.com/trackback/40
Name
Password
Homepage
Secret
prev"" #1 next