Apache HTTP Server Version 2.4
아파치 모듈 mod_imagemap
설명: | 서버측 이미지맵(imagemap) 처리 |
---|---|
상태: | Base |
모듈명: | imagemap_module |
소스파일: | mod_imagemap.c |
요약
이 모듈은 imagemap
CGI 프로그램을 대신하여
.map
파일을 처리한다. 이 모듈은 (AddHandler
나 SetHandler
를 사용하여)
imap-file
핸들러를 사용하도록 설정한 디렉토리나
문서를 처리한다.
아래 지시어는 .map
으로 끝나는 파일을 이미지맵
파일로 설정한다.
AddHandler imap-file map
아직도 아래와 같은 설정을 지원한다.
AddType application/x-httpd-imap map
그러나 우리는 점차 "서버에게 특별한 의미가 있는 MIME type"을 제거하려고 하기때문에 이 방법은 없어질 것이다.
새로운 기능
이미지맵 모듈에는 이전 이미지맵 프로그램에는 없는 몇가지 새로운 기능이 있다.
- Referer: 정보에 상대적인 URL 참조.
- 새로운
base
맵지시어를 사용하여 기본<base>
지정. imagemap.conf
파일 필요없음.- 점(point) 참조.
- 이미지맵 메뉴 조정 가능.
이미지맵 파일
이미지맵 파일은 아래와 같은 형식으로 작성한다.
directive value [x,y ...]
directive value "Menu text" [x,y
...]
directive value x,y ... "Menu text"
directive는 base
, default
,
poly
, circle
, rect
,
point
중 하나다. value에는 절대 URL이나 상대
URL 혹은 아래에서 열거할 특수값을 사용한다. 좌표는 공백으로
구분한 x,y
쌍이다. 따옴표로
묶은 문구는 이미지맵 메뉴를 만들때 링크 제목으로 사용한다.
'#'로 시작하는 줄은 주석이다.
이미지맵 파일 지시어
이미지맵 파일에서 6가지 지시어를 사용할 수 있다. 지시어는 특별한 순서없이 사용할 수 있지만, 이미지맵 파일에 나온 순서대로 처리한다.
base
지시어<base href="value">
기능을 한다. 맵파일에서 나오는 URL은 절대 URL이 아니라면 이 값에 상대 URL로 취급한다.base
지시어는.htaccess
파일이나 서버설정파일에서 설정한ImapBase
값을 무시한다.ImapBase
설정지시어가 없다면 기본base
값은http://server_name/
이다.base_uri
는base
와 같다. URL에서 마지막 슬래쉬를 잊지마라.default
지시어- 해당 좌표가
poly
,circle
,rect
지시어에 해당하지 않고point
지시어를 사용하지 않은 경우 행동을 지정한다.ImapDefault
설정이 없다면 기본값은204 No Content
상태코드를 반환하는nocontent
이다. 이 경우 클라이언트는 동일한 페이지를 보여줘야 한다. poly
지시어- 점을 세개에서 백개까지 지정할 수 있다. 사용자가 이 점들로 이루어진 다각형 안의 좌표를 선택한 경우에 사용한다.
circle
- 원의 중심과 원위의 한 점의 좌표를 받는다. 사용자가 원 안의 좌표를 선택한 경우에 사용한다.
rect
지시어- 사각형의 두 모서리 점의 좌표를 받는다. 사각형 안의 좌표를 선택한 경우에 사용한다.
point
지시어- 한 점의 좌표를 받는다. 다른 지시어들을 만족하지 않은
경우 사용자가 선택한 좌표에 가장 가까운 point 지시어를
사용한다.
point
지시어를 사용하고 유효한 좌표를 선택한 경우default
는 절대로 사용되지 않는다.
지시어에 사용할 수 있는 값들
지시어에 아래 value를 사용할 수 있다.
- URL
상대 URL이나 절대 URL을 사용할 수 있다. 상대 URL에 '..'을 사용할 수 있으며,
base
값을 기준으로 찾는다.base
를 설정할때는 현재 base값은 무시한다. 그러나,base mailto:
문은 사용할 수 있다.map
- 이미지맵 파일 자체 URL과 같다. 좌표가 없고
ImapMenu
가none
이 아니라면 메뉴를 만든다. menu
map
과 같다.referer
- 참조(링크를 따라오기 전) 문서 URL과 같다.
Referer:
헤더가 없다면 기본값은http://servername/
이다. nocontent
- 클라이언트에게 동일한 페이지를 그대로 보여주라는
204 No Content
상태코드를 보낸다.base
를 제외한 모든 지시어에서 사용할 수 있다. error
- 실패를 나타내는
500 Server Error
를 보낸다.base
를 제외한 모든 지시어에서 사용할 수 있지만,default
외에는 사용할 일이 없다.
좌표
0,0 200,200
- 좌표는 쉼표로 구분한 x와 y 값이다.
좌표들은 서로 공백으로 구분한다. 이미지맵을 다루는 방식상
Lynx의 편의를 위해 사용자가
0,0
좌표를 선택하였다면 좌표를 선택하지 않은 것처럼 동작한다.
따옴표로 묶은 문구
"Menu Text"
value 뒤나 좌표 뒤에 쌍따옴표로 묶은 문구를 적을 수도 있다. 이 문자열은 메뉴를 만들때 링크 제목으로 사용한다.
<a href="http://foo.com/">Menu text</a>
따옴표로 묶은 문구가 없다면 다음과 같이 링크를 링크 제목으로 사용한다.
<a href="http://foo.com/">http://foo.com</a>
문구에 쌍따옴표를 쓰려면
"
와 같이 적어야 한다.
맵파일 예제
#'formatted'나 'semiformatted' 메뉴는 주석을 출력한다.
#그리고 주석에 html 태그를 쓸 수 있다. <hr>
base referer
poly map "메뉴를 보여주세요." 0,0 0,10 10,10 10,0
rect .. 0,0 77,27 "참조 문서가 있는 디렉토리"
circle http://www.inetnebr.com/lincoln/feedback/ 195,0 305,27
rect another_file "참조 문서와 같은 디렉토리에 있는" 306,0 419,27
point http://www.zyzzyva.com/ 100,100
point http://www.tripod.com/ 200,200
rect mailto:[email protected] 100,150 200,0 "버그?"
맵파일 사용하기
HTML 에제
<a href="/maps/imagemap1.map">
<img ismap src="/images/imagemap1.gif">
</a>
XHTML 예제
<a href="/maps/imagemap1.map">
<img ismap="ismap" src="/images/imagemap1.gif" />
</a>
ImapBase 지시어
설명: | 이미지맵 파일에서 base 기본값 |
---|---|
문법: | ImapBase map|referer|URL |
기본값: | ImapBase http://servername/ |
사용장소: | 주서버설정, 가상호스트, directory, .htaccess |
Override 옵션: | Indexes |
상태: | Base |
모듈: | mod_imagemap |
ImapBase
지시어는 이미지맵 파일에서
사용할 base
기본값을 설정한다. 이미지맵 파일
안에서 base
지시어를 사용하면 여기서 설정한
값은 무시한다. 둘 모두 없다면, base
기본값은
http://servername/
이다.
참고
ImapDefault 지시어
설명: | 이미지맵에 어느 영역에도 해당하지 않는 좌표를 준 경우 기본 행동 |
---|---|
문법: | ImapDefault error|nocontent|map|referer|URL |
기본값: | ImapDefault nocontent |
사용장소: | 주서버설정, 가상호스트, directory, .htaccess |
Override 옵션: | Indexes |
상태: | Base |
모듈: | mod_imagemap |
ImapDefault
지시어는 이미지맵
파일에서 사용할 default
기본값을 설정한다.
이미지맵 파일 안에서 default
지시어를 사용하면
여기서 설정한 값은 무시한다. 둘 모두 없다면, default
행동은 클라이언트에게 204 No Content
를 보내는
nocontent
이다. 이 경우 클라이언트는 원래 페이지를
그대로 보여줘야 한다.
ImapMenu 지시어
설명: | 좌표없이 이미지맵 요청시 취할 행동 |
---|---|
문법: | ImapMenu none|formatted|semiformatted|unformatted |
사용장소: | 주서버설정, 가상호스트, directory, .htaccess |
Override 옵션: | Indexes |
상태: | Base |
모듈: | mod_imagemap |
ImapMenu
지시어는 이미지맵 파일에
유효한 좌표를 주지 않은 경우 취할 행동을 결정한다.
none
- ImapMenu가
none
이면, 메뉴를 만들지않고default
행동을 취한다. formatted
formatted
메뉴는 가장 간단한 메뉴다. 이미지맵 파일의 주석은 무시한다. 가장 큰 표제와 수직선을 출력하고, 링크를 한줄씩 출력한다. 메뉴는 일관되고 평이하며, 디렉토리 목록과 흡사하다.semiformatted
semiformatted
메뉴는 이미지맵 파일에 나오는 주석을 출력한다. 빈줄은 HTML 행바꿈으로 변환한다. 표제나 수직선을 그리지 않지만, 나머지는formatted
메뉴와 같다.unformatted
- 주석은 출력하고, 빈줄은 무시한다. 이미지맵 파일에 있는 내용만 출력한다. 이미지맵 파일의 주석에 필요한 모든 행바꿈과 표제를 적어야 한다. 메뉴의 외관을 가장 자유자제로 꾸밀 수 있지만, 이미지맵 파일을 사실상 일반 문자파일이 아닌 HTML로 봐야 한다.