지시어를 설명하는데 사용한 용어들 - Apache HTTP Server Version 2.2

Apache HTTP Server Version 2.2

Apache > HTTP Server > Documentation > Version 2.2

# 지시어를 설명하는데 사용한 용어들

가능한 언어: en | ja | ko | tr

이 문서는 최신판 번역이 아닙니다. 최근에 변경된 내용은 영어 문서를 참고하세요.

이 문서는 아파치 설정 지시어를 설명하는데 사용한 용어들을 설명한다.

### 참고

- 설정파일

- Comments

## 설명 (Description)

지시어의 목적에 대한 간단한 설명.

## 문법 (Syntax)

설정파일에서 사용할 지시어의 형식을 알려준다. 이 문법은 지시어마다 매우 다르며, 지시어를 정의할 때마다 자세히 설명한다. 일반적으로 지시어 이름 뒤에 공백으로 구분한 아규먼트들이 나온다. 아규먼트가 공백을 포함한다면 아규먼트를 쌍따옴표로 묶어야 한다. 선택적인 아규먼트는 중괄호로 묶는다. 아규먼트가 여러 값중 하나일 경우 값들을 수직막대 "|"로 구분한다. 문자그대로 사용할 부분은 기본 문자체로 쓰고, 대체할 아규먼트는 강조한다. 아규먼트 개수가 정해지지않은 지시어는 마지막 아규먼트가 반복됨을 나타내는 "..."으로 끝난다.

지시어는 매우 다양한 종류의 아규먼트를 받는다. 이중 자주 사용하는 것은 아래와 같다.

URL
  `http://www.example.com/path/to/file.html`과 같이 스킴(scheme), 호스트명, 선택적인 경로명을 포함한 완전한 Uniform Resource Locator
URL-path
  `/path/to/file.html`과 같이 url에서 스킴과 호스트명 뒤에 나오는 부분. url-path는 파일시스템에서 본 시점이 아닌 웹에서 본 시점에서의 자료를 나타낸다.
file-path
  `/usr/local/apache/htdocs/path/to/file.html`과 같이 root 디렉토리로 시작하는 파일시스템상의 파일 경로. 따로 언급하지않으면, 슬래쉬로 시작하지않은 file-path는 ServerRoot에 상대경로로 취급한다.
directory-path
  `/usr/local/apache/htdocs/path/to/`와 같이 root 디렉토리로 시작하는 파일시스템상의 디렉토리 경로.
filename
  `file.html`과 같이 경로 정보가 없는 파일명.
regex
  Perl 형식의 정규표현식(regular expression). 지시어는 regex로 무엇인가를 검색한다.
extension
  일반적으로 filename에서 마지막 마침표 뒤에 나오는 부분이다. 그러나 아파치는 여러 확장자를 인식할 수 있기때문에, filename에 마침표가 여러개 포함된 경우 마침표로 구분된 모든 부분을 확장자(extension)로 처리한다. 예를 들어, 파일명 `file.html.en`은 `.html`과 `.en`이라는 두가지 확장자를 가진다. 아파치 지시어에서 extension에 지정한 값 앞에 마침표가 있어도 되고 없어도 된다. 또, extension은 대소문자를 가리지않는다.
MIME-type
  `text/html`과 같이 슬래쉬로 major format type과 minor format type를 구분하여 파일의 형식을 설명하는 방식.
env-variable
  아파치 설정에서 정의한 환경변수 이름. 운영체제의 환경변수와 다름을 주의하라. 자세한 내용은 환경변수 문서를 참고하라.

## 기본값 (Default)

지시어에 기본값이 있다면 (예를 들어, 설정에서 지시어를 생략한 경우 아파치 웹서버는 이 값을 사용한다.) 이 항목에 나온다. 기본값이 없다면 이 항목은 "None"이어야 한다. 기본값이 서버에 포함된 기본 httpd.conf의 지시어 값과 다를 수 있음을 주의하라.

## 사용장소 (Context)

서버의 설정파일중 어느곳에서 지시어를 사용할 수 있는지 알려준다. 다음 값들을 쉼표로 구분한 목록이다:

주서버설정 (server config)
  지시어를 서버 설정파일에서 (예를 들어, `httpd.conf`) 사용할 수 있으나, `<VirtualHost>`나 `<Directory>`에서 사용할 수 없음을 뜻한다. 이 지시어는 `.htaccess` 파일에서도 사용할 수 없다.
가상호스트 (virtual host)
  지시어를 서버 설정파일의 `<VirtualHost>` 안에서 사용할 수 있음을 뜻한다.
디렉토리 (directory)
  지시어가 섹션 설정에 설명한 제약을 따르며, 서버 설정파일의 `<Directory>`, `<Location>`, `<Files>`, `<Proxy>`에서 사용할 수 있음을 뜻한다.
.htaccess
  지시어를 디렉토리별 `.htaccess` 파일에서 사용할 수 있음을 뜻한다. 이 지시어는 현재 사용하는 overrides 값에 따라 무시될 수 있다.

지시어는 지정된 장소에서만 사용할 수 있다. 다른 곳에서 사용하면 설정오류가 발생하고 서버는 부분에 대한 요청을 올바로 처리하지 못하거나 작동이, 예를 들어 시작조차도, 안될 수 있다.

지시어를 사용할 수 있는 장소는 열거한 장소를 모두 불린(boolean) OR한 결과이다. 즉, "`server config, .htaccess`"에서 가능하다는 지시어는 `httpd.conf` 파일과 `.htaccess` 파일에서는 사용할 수 있지만, `<Directory>`나 `<VirtualHost>`에서는 사용할 수 없다.

## Override 옵션 (Override)

이 지시어를 `.htaccess` 파일에서 사용하려면 어떤 override 옵션을 사용해야 하는지를 나타낸다. 지시어의 사용장소가 지시어를 `.htaccess` 파일에서 사용할 수 없다고 한다면 어떤 사용장소도 나오지 않는다.

Overrides는 `AllowOverride` 지시어로 지시하고, (디렉토리 등의) 특정 범위와 하위 범위에서 다른 `AllowOverride` 지시어로 다른 값을 설정하지않았다면 하위 범위에도 그대로 적용된다. 지시어 설명에 사용가능한 override 이름들이 나온다.

## 상태 (Status)

지시어가 아파치 웹서버에 얼마나 긴밀히 묶여있는지를 나타낸다. 즉, 그 지시어나 기능을 사용하기위해 서버를 모듈과 같이 다시 컴파일할 필요가 있을 수도 있다. 가능한 값은 다음과 같다:

Core
  지시어가 "Core" 상태를 가지면, 지시어가 아파치 웹서버 핵심부분에 속하고 항상 사용가능함을 뜻한다.
MPM
  "MPM" 상태인 지시어는 다중처리 모듈을 제공한다. 이런 지시어는 지시어 설명에서 모듈에 열거된 MPM중 하나를 사용할때만 가능하다.
Base
  기본적으로 서버와 같이 컴파일되므로 직접 구성에서 모듈을 제거하지 않았다면 일반적으로 사용가능한 표준 아파치 모듈이 제공하는 지시어는 "Base" 상태이다.
Extension
  아파치 서버 배포본에는 포함되있지만 보통 서버와 같이 컴파일되지않는 모듈이 제공하는 지시어는 "Extension" 상태이다. 이런 지시어를 사용하려면 서버 컴파일 구성파일을 수정하고 아파치를 다시 컴파일해야 한다.
Experimental
  "Experimental"은 지시어가 아파치 배포본에 포함되있지만, 사용은 자신의 책임임을 나타낸다. 지시어는 문서화되있지만, 실제와 다를 수 있다. 지시어를 제공하는 모듈은 기본적으로 아파치와 같이 컴파일될 수도 안될 수도 있다. 지시어와 모듈을 설명하는 문서 앞에서 사용할 수 있는지 살펴봐라.

## 모듈 (Module)

단순히 지시어를 정의한 소스 모듈명을 열거한다.

## 지원 (Compatibility)

지시어가 원래 아파치 버전 2 배포본의 일부가 아니였다면, 지시어를 추가하기 시작한 버전이 여기 나온다. 또, 어떤 플래폼에서만 사용가능한 지시어도 여기 나온다.

가능한 언어: en | ja | ko | tr

## Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.