9.브라우저 구분


  사용자가 무슨 브라우저를 쓰느냐에 따라서 메시지를 따로따로 출력하는 CGI를 하나 작성해보자. 여기서 알아야 할 것은 사용자가 사용하는 브라우저 정보가 특정한 환경변수(HTTP_USER_AGENT)로 저장된다는 점이다. 보자!

#include <stdio.h>

main()
{
    char *UserAgent;

    UserAgent = getenv("HTTP_USER_AGENT");

    printf("Content-type: text/html\n\n");

    if( strstr(UserAgent, "MSIE") != NULL ){
       printf("<h1> Explorer </h1>\n");
    }else if( strstr(UserAgent, "Mozilla") != NULL ){
       printf("<h1> Netscape </h1>\n");
    }else{
       printf(" UserAgent is [%s]\n", UserAgent);
    }
}

  * 실행결과는 접속하는 브라우저에 따라 다른 메시지를 출력하게 된다. 사실 HTTP_USER_AGENT의 환경변수는 브라우저마다 이렇게 생겼다.

Netscape 3.01Mozilla/3.01Gold (Win95; I)
Explorer 4.0Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)
Netscape 4.5Mozilla/4.5 [en] (Win95; I)


  다른 브라우저의 경우에 확인해 보고 싶다면, 단지 getenv("HTTP_USER_AGENT")의 return값이 문자열이므로, 이걸 별도의 조작없이 그대로 출력하면 위와 같은 문자열을 얻을 수 있을 것이다.

  이렇게 활용할 수 있는 환경변수는 종류가 많다.다음장에서 환경변수들을 알아보자.

- Last Update : 2001.7.9 by Deadfire(http://www.deadfire.net)

CGI with C 활용
브라우저구분
환경변수LIST
클라이언트풀
서버푸쉬
Form Mail
진행현황보기
Cookie
MD5
File Download
SSI
Redirection
File Upload
GD1.2
Database
마치며

Copyright ⓒ 1997 ~, Deadfire Program Master