==================================================================

             qValue, Simple CGI utility for SSI technique
                        on Apache web server

==================================================================

1. Why Do We Made This One?

  qValue는 SSI가 적용된 웹페이지(SHTML)에 특정 쿼리를 전달하기 위해
  개발된 간단한 CGI 입니다. qValue를 사용함으로써 문서내의 링크나
  문구를 자유롭게 변경할 수 있으므로 보다 적은 노력으로 더욱 능동적인
  사이트를 개발할 수 있습니다.

  qValue is developed for transfering a specified query to web pages
  which applied SSI technique (normally called SHTML). By using
  qValue, you develope more flexible web sites with less efforts.
  Inserting links and texts for dynamic effects in web pages is much
  easier with qValue.

2. Basic Usages

  다음과 같은 SSI 명령을 SHTML 문서에 삽입합니다.

  <!--#exec cmd="/ABSOLUTE_SYSTEM_PATH/qValue.cgi QUERYNAME"-->
  ex) <!--#exec cmd="/home/www/cgi-bin/qValue.cgi name"-->

  다음의 간단한 적용 예를 살펴봐 주세요.

  +-[test.shtml]--------------------------------------------------
  | <!--#exec cmd="/..PATH../qValue.cgi name"-->님께서 주문하신
  | 상품 <!--#exec cmd="/..PATH../qValue.cgi product"-->에 대한
  | 주문번호는 <!--#exec cmd="/..PATH../qValue.cgi orderno"-->
  | 입니다.
  +---------------------------------------------------------------

  +-[Request #1]--------------------------------------------------
  | test.shtml?name=nobreak&product=DM21&orderno=5628
  +---------------------------------------------------------------

  +-[Result #1]---------------------------------------------------
  | nobreak님께서 주문하신 상품 DM21에 대한 주문번호는 5628 입니다.
  +---------------------------------------------------------------

  +-[Request #2]--------------------------------------------------
  | name=%B1%E8%BD%C2%BF%B5&product=%B7%CE%B9%CC%BF%C0&orderno=063
  +---------------------------------------------------------------

  +-[Result #2]---------------------------------------------------
  | 김승영님께서 주문하신 상품 로미오에 대한 주문번호는 063 입니다.
  +---------------------------------------------------------------

  Note) 인자로 주어지는 문자열은 URL Encoding 하여 전달하는 것이
  좋습니다만, 편의상 다음과 같이 사용하여도 별다른 문제는 없습니다.
  (SHTML 문서에서 qValue.cgi가 사용된 SHTML 문서를 virtual 명령으로
  include할 경우에는 조금 더 자유롭게 사용할 수도 있습니다. Advanced
  Usages 편을 보세요)

    o 띄어쓰기가 없을 경우엔 다음과 같이 써도 좋습니다.
      ex) test.shtml?name=김승영

    o 띄어쓰기는 '+'로 바꿉니다.
      ex) test.shtml?name=김+승+영   # "김 승 영"

    o '&', '=' 등과 같은 문자는 '%' + 16진 코드로 바꾸어 씁니다.
      ex) test.shtml?name=You%26Me   # "You&Me"

  Note) qValue는 문서간 Query Cascading시 쿼리가 유지될 수 있도록
  SSI 명령중 'cmd'를 사용합니다. 'virtual' 명령을 사용할 수 없고,
  'cmd' 명령은 시스템상의 절대 경로를 사용해야 함에 주의하세요.

  Note) SHTML 문서 내에서 SHTML 문서를 포함(include 명령)하는 것도
  가능하며 포함된 SHTML 문서 역시 동일하게 해석되어 동작합니다.

3. Advanced Usages

  +-[/DocumentRoot/prefix/header.shtml]---------------------------
  | <html>
  | <head>
  | <title><!--#exec cmd="/..PATH../qValue.cgi title"--></title>
  | </head>
  | <body>
  +---------------------------------------------------------------

  +-[/DocumentRoot/prefix/tailer.shtml]---------------------------
  | <!--#config timefmt="%Y/%m/%d %H:%M:%S"-->
  | Last modified at <!--#echo var="LAST_MODIFIED"-->
  | </body>
  | </html>
  +---------------------------------------------------------------

  +-[document.shtml]----------------------------------------------
  | <!--#include virtual="/prefix/header.shtml?title=검색 결과"-->
  | 1위: Metallica
  | 2위: 블랙홀
  | 3위: Aerosmith
  | <!--#include virtual="/prefix/tailer.shtml"-->
  +---------------------------------------------------------------
  Note) 위와 같이 qValue.cgi가 사용된 SHTML 문서를 SHTML 문서에서
  incude 할 때에는 특수한 몇몇 문자(예, '&')를 제외하고는
  URL Encoding을 하지 않아도 좋습니다.

  document.shtml의 출력결과
  +-[Result]------------------------------------------------------
  | <html>
  | <head>
  | <title>검색 결과</title>
  | </head>
  | <body>
  | 1위: Metallica
  | 2위: 블랙홀
  | 3위: Aerosmith
  | Last modified at 1999/11/24 22:01:00
  | </body>
  | </html>
  +---------------------------------------------------------------

4. To enable CGI & SSI.

  Apache 웹서버 설정파일(httpd.conf)에서 다음 행을 찾가 주석을 제거
  하고, 적용할 디렉토리에 Includes 옵션을 추가합니다.

  +-[httpd.conf]--------------------------------------------------
  | # To use CGI scripts:
  | AddHandler cgi-script .cgi
  |
  | # To use server-parsed HTML files
  | AddType text/html .shtml
  | AddHandler server-parsed .shtml
  |
  | <Directory "/SYSTEM_PATH">
  |   Options FollowSymLinks ExecCGI Includes
  | </Directory>
  +---------------------------------------------------------------

+-----------------------------------------------------+
+------------------ E     N     D --------------------+
+-----------------------------------------------------+
