용어
이 문서는 최신판 번역이 아닙니다.
최근에 변경된 내용은 영어 문서를 참고하세요.
이 문서는 웹 서비스 일반에 대한, 특히 아파치와 관련된, 용어들을
정의한다. 각 개념에 대한 자세한 정보는 링크를 참고하라.
(역주; 현재 단어의 순서는 한글 순서가 아니라, 영문자
순서입니다. 용어번역표는 여기를
참고하길 바랍니다.)
- 접근제어 (Access Control)
- 네트웍 영역에 대한 접근을 제한. 아파치에서는 보통 특정
URL의 접근을 제한하기위해 사용한다.
참고: 인증, 권한부여, 접근제어
- 알고리즘 (Algorithm)
- 유한한 단계를 거쳐 문제를 푸는 명확한 공식 혹은 규칙들.
암호화를 위한 알고리즘을 보통 암호기(Ciphers)라고
부른다.
- APache eXtension Tool
(apxs)
- 모듈
(module) 소스를 동적공유객체 (DSO)로
컴파일하고 아파치 웹서버에 설치하는 작업을 돕는 perl
스크립트.
참고: Manpage:
apxs
- 인증 (Authentication)
- 서버, 클라이언트, 사용자 등 네트웍 실체에 대한
확인.
참고: 인증, 권한부여,
접근제어
- 인증서 (Certificate)
- 서버나 클라이언트와 같은 네트웍 실체를 인증하는 자료.
인증서에는 소유자 (subject라고 함), 서명 인증기관 (Certificate
Authority) (issuer라고 함), 소유자의 공개키, CA가 만든 서명 등에 대한
X.509 정보가 있다. 네트웍 실체는 CA 인증서를 사용하여
서명을 검사한다.
참고: SSL/TLS 암호화
- 인증 서명 요청 (Certificate
Signing Request, CSR)
- 인증기관 (Certification
Authority)에 제출하여 CA 인증서 (Certificate)의
개인키 (Private Key)로 서명될 아직
서명되지않은 인증서. CSR이 서명되면
실제 인증서가 된다.
참고: SSL/TLS 암호화
- 인증기관 (Certification
Authority, CA)
- 안전한 방법으로
네트웍 실체에 대한 인증을 서명하는 신뢰하는 제삼자. 다른 네트웍
실체들은 서명으로 CA가 인증서 소유자를 인증했는지 확인할 수
있다.
참고: SSL/TLS 암호화
- 암호기 (Cipher)
- 자료를
암호화하는 알고리즘이나 시스템. 예를 들어, DES, IDEA, RC4 등이 있다.
참고: SSL/TLS 암호화
- 암호문 (Ciphertext)
- 평문 (Plaintext)을 암호기
(Cipher)로 처리한 결과.
참고: SSL/TLS
암호화
- 공통 게이트웨이 인터페이스
(Common Gateway Interface, CGI)
- 외부 프로그램이 요청을 서비스할 수 있도록 만든 웹서버와 외부
프로그램 사이의 인터페이스 표준. 인터페이스는 원래 NCSA가
정의했지만, RFC
프로젝트이기도 하다.
참고: CGI로 동적 페이지 생성
- 설정 지시어 (Configuration
Directive)
- 참고: 지시어
- 설정파일 (Configuration File)
- 아파치를 설정하는 지시어 (directive)를
적어둔 텍스트파일.
참고: 설정파일
- CONNECT
- HTTP를 통해 자료흐름을 프록시하는 HTTP 메써드
(method). SSL 프로토콜 등 다른 프로토콜을 감싸기위해 사용한다.
- 사용장소 (Context)
- 설정파일 (configuration file)에서
특정 지시어 (directive)를 사용할 수
있는 장소.
참고: 아파치 지시어를 설명하는데
사용한 용어정의
- 전자서명 (Digital Signature)
- 인증서나 다른 파일을 검사하는 암호화된 문자들. 인증기관 (Certification
Authority)은 인증서 (Certificate)에 포함된
공개키 (Public Key)를 해쉬한 결과를 자신의
개인키 (Private Key)로 암호화하여 서명을 만든다.
오직 CA의 공개키만이 서명을 풀 수 있기때문에, CA가 인증서
(Certificate)를 가진 네트웍 실체를 인증했음을 증명할
수 있다.
참고: SSL/TLS 암호화
- 지시어 (Directive)
- 아파치의
여러 기능을 조절하는 설정 명령어. 지시어는 설정파일 (Configuration File)에서
사용한다.
참고: 지시어 목록
- 동적공유객체 (Dynamic Shared
Object) (DSO)
- 아파치 httpd
실행파일과 별도로 컴파일하여 필요할때 읽어들일 수 있는 모듈 (Module).
참고: 동적공유객체 지원
- 환경변수 (Environment Variable)
(env-variable)
- 정보를 저장하고 프로그램간에 통신을 위해 운영체제 쉘이 관리하는
변수. 아파치에도 환경변수라는 내부 변수가 있지만, 쉘 환경이
아니라 아파치 내부에 저장된다.
참고: 아파치의 환경변수
- 수출용 (Export-Crippled)
- 미국 수출관리규제(Export Administration Regulations, EAR)를
준수하기위해 암호(와 보안)의 강도를 낮춤. 수출용 암호화
소프트웨어는 키 크기가 작게 제한되어, 암호문
(Ciphertext)을 무식한 방법(brute force)으로 풀 수 있다.
참고: SSL/TLS 암호화 (SSL/TLS Encryption)
- 필터 (Filter)
- 서버가 보내거나 받는 자료를 처리하는 과정. 입력필터는
클라이언트가 서버로 보내는 자료를 처리하고, 출력필터는 서버가
클라이언트에게 보낼 문서를 처리한다. 예를 들어,
INCLUDES
출력필터는 문서의 Server
Side Includes를 처리한다.
참고: 필터
- 완전한 도메인명
(Fully-Qualified Domain-Name) (FQDN)
- IP 주소에 대응하는, 호스트명과 도메인명으로 구성된 네트웍
실체의 유일한 이름. 예를 들어,
www
가 호스트명이고
example.com
이 도메인명일때,
www.example.com
은 완전한 도메인명이다.
- 핸들러 (Handler)
- 파일을 요청할때 수행하는 작업에 대한 아파치 내부 표현.
일반적으로 파일은 파일 종류에 따라 암묵적인 핸들러를 가진다.
보통 모든 파일은 서버가 간단히 서비스하지만, 어떤 파일 종류는
따로 "처리된다(handled)". 예를 들어,
cgi-script
핸들러는 CGI로 처리할 파일을 지정한다.
참고: 아파치에서 핸들러 사용
- 헤더 (Header)
- HTTP 요청과 응답에서 실제 내용 이전에
보내는 부분으로 내용을 설명하는 정보가 있다.
- .htaccess
- 웹문서들 안에 있는
설정파일 (configuration file)로,
설정 지시어 (directive)를 자신이 위치한
디렉토리와 모든 하위디렉토리에 적용한다. 이름과 달리 이
파일에서는 단순한 접근제어 지시어외에 거의 모든 종류의 지시어를
사용할 수 있다.
참고: 설정파일
- apache2.conf
- 아파치 주 설정파일 (configuration
file). 기본적인 위치는
/etc/apache2/apache2.conf
이지만, 실행할때
혹은 컴파일때 설정으로 변경할 수 있다.
참고: 설정파일
- HyperText Transfer
Protocol (HTTP)
- 월드와이드웹에서 사용하는 표준 전송 프로토콜. 아파치는
RFC 2616에서
정의한 HTTP/1.1이라는 프로토콜의 1.1 버전을 구현한다.
- HTTPS
- 월드화이드웹의 표준 암호통신 방법, HyperText Transfer
Protocol (Secure). 사실 밑단에 SSL을
사용한 HTTP이다.
참고: SSL/TLS 암호화
- 메써드 (Method)
- 클라이언트가
보내는 HTTP 요청줄이
자원에 수행하도록 지시한 행동. HTTP 메써드에는
GET
,
POST
, PUT
등이 있다.
- 메시지 요약 (Message Digest)
- 메시지 내용이 전송중 변경되지 않았음을 증명하기위한
메시지의 해쉬.
참고: SSL/TLS 암호화
- MIME-type
- 전송할 문서의
종류를 설명하는 방식. Multipurpose Internet Mail Extensions
형식을 빌려왔기때문에 이렇게 이름을 지었다. 슬래쉬를 사이에
둔 major type과 minor type으로 이루어진다. 예를 들면,
text/html
, image/gif
,
application/octet-stream
등이다. MIME-type은 HTTP의
Content-Type
헤더 (header)로
전송한다.
참고: mod_mime
- 모듈 (Module)
- 프로그램의 독립된
부분. 많은 아파치 기능은 당신이 포함여부를 선택할 수 있는 모듈에
들어있다. 아파치 httpd 실행파일과 같이 컴파일한 모듈을 정적
모듈이라고 하며, 따로 분리되어 실행시 선택적으로 읽어들일
수 있는 모듈을 동적 모듈 혹은 DSO라고
한다. 기본적으로 포함하는 모듈을 base 모듈이라고 한다.
아파치 웹서버 타볼 (tarball)과 같이
배포되지는 않지만 아파치에는 많은 모듈들이 있다. 이들을
제삼자가 만든(third-party) 모듈이라고 한다.
참고: 모듈 목록
- 모듈 마법수 (Module Magic Number)
(MMN)
- 모듈 마법수는 아파치 소스코드가 정의한 상수로, 모듈의
이진호환성과 관련이 있다. 모듈 마법수는 이진호환성을 더 이상 보장할
수 없도록 아파치 내부 구조나 함수 호출, 다른 API 일부가 변경된
경우에 바뀐다. MMN이 변하면 제삼자가 만든 모듈은 모두 최소한 다시
컴파일되야 한다. 새 아파치 버전에 맞도록 조금 수정해야할 경우도
있다.
- OpenSSL
- SSL/TLS를 위한 오픈소스 도구
참고 http://www.openssl.org/
- Pass Phrase
- 개인키 파일을 보호하는 문구. 인증하지않은 사용자가 이 개인키
파일을 사용하여 암호화하지 못하도록 한다. 보통 암호기
(Ciphers)가 사용하는 비밀스런 암호/해독 키이다.
참고: SSL/TLS 암호화
- 평문 (Plaintext)
- 암호화하지 않은 글.
- 개인키 (Private Key)
- 받은
자료를 해독하고 보내는 자료를 서명하기위한 공개키 암호화 (Public Key
Cryptography) 시스템의 암호키.
참고: SSL/TLS 암호화
- 프록시 (Proxy)
- 클라이언트와
실제 서버 사이에 있는 중간 서버. 클라이언트에게 요청을
받아 실제 서버로 보내고, 실제 서버에게서 받은 응답을 다시
클라이언트에게 보낸다. 여러 클라이언트가 같은 내용을 요청하면
프록시는 매번 서버에 요청하지않고 캐쉬에 저장된 내용을 사용하여
응답시간을 줄일 수 있다.
참고: mod_proxy
- 공개키 (Public Key)
- 공개키 암호화 (Public Key
Cryptography) 시스템에서 키의 소유자에게 보내는 문구를 암호화하거나
소유자가 만든 서명을 풀기위한 공개된 키.
참고: SSL/TLS 암호화
- 공개키 암호화 (Public Key
Cryptography)
- 암호와 해독에 서로 다른 키를 사용하는 비대칭(asymmetric)
암호화 시스템의 연구 및 활용. 암호와 해독에 사용하는 두개의 키는
키쌍(key pair)을 이룬다. 비대칭 암호화라고도 부른다.
참고: SSL/TLS 암호화
- 정규표현식 (Regular Expression) (Regex)
- 글의 패턴을 기술하는 방식.
예를 들어, "문자 A로 시작하는 모든 단어", "숫자 10개로된 전화번호",
심지어 "쉼표가 두개있고 대문자 Q가 없는 문장" 등을 표현할 수 있다.
정규표현식을 사용하면 매우 유연하게 파일이나 자원에 어떤 성질을 적용할
수 있다. 예를 들어, "images"란 디렉토리 아래에 있는 모든 .gif와
.jpg 파일은 "
/images/.*(jpg|gif)$
"로 지칭할 수
있다. 아파치는 PCRE 라이브러리를
사용하여 Perl호환 정규표현식을 지원한다.
- 역프록시 (Reverse Proxy)
- 클라이언트에게 실제 서버처럼 보이는 프록시 (proxy) 서버. 보안상 이유 혹은 부하를
분산하기위해 클라이언트에게 실제 서버를 숨길때 유용하다.
- Secure Sockets Layer (SSL)
- Netscape Communications사가 TCP/IP
네트웍의 일반적인 통신 인증과 암호화를 위해 만든 프로토콜.
가장 일반적인 용도는 HTTPS (HyperText Transfer Protocol
(HTTP) over SSL)이다.
참고: SSL/TLS 암호화
- Server Side Includes (SSI)
- HTML 파일 안에 처리지시어를 포함하는
기술.
참고: Server Side Includes 소개
- 세션 (Session)
- 일반적으로 통신의 상황(context) 정보.
- SSLeay
- Eric A. Young이 개발한 원래 SSL/TLS 구현 라이브러리
- 대칭적 암호법 (Symmetric
Cryptography)
- 암호와 해독 작업에 같은 암호키를 사용하는 암호기
(Ciphers)의 연구 및 활용.
참고: SSL/TLS Encryption
- 타볼 (Tarball)
tar
도구를 사용하여 파일들을 모은 묶음. 아파치는
tar 파일을 압축하거나 pkzip으로 압축하여 배포된다.
- Transport Layer Security (TLS)
- 인터넷기술 관련 국제표준화기구(Internet Engineering Task
Force, IETF)가 TCP/IP 네트웍의 일반적인 통신 인증과 암호화를
위해 만든 SSL의 후속 프로토콜. TLS 버전 1은 SSL 버전 3과 거의
유사하다.
참고: SSL/TLS 암호화
- Uniform Resource Locator
(URL)
- 인터넷에 있는 자원의 이름/주소. 정식으로는 Uniform Resource
Identifier라고 하는 것의 일상적인 비공식 명칭이다. 보통 URL은
http
나 https
같은 스킴(scheme), 호스트명,
경로로 구성된다. 이 페이지의 URL은
http://httpd.apache.org/docs/2.4/glossary.html
이다.
- Uniform Resource Identifier
(URI)
- 추상적인 자원이나 실제 자원을 지칭하기위한 간결한 문자열.
공식적으로 RFC
2396에서 정의한다. 월드와이드웹에서 사용하는 URI를 보통
URL이라고 부른다.
- 가상호스트 (Virtual Hosting)
- 아파치 하나로 여러 웹사이트를 서비스하기. IP 가상호스트는
웹사이트마다 IP 주소가 다르다. 이름기반(name-based)
가상호스트는 호스트명만을 사용하므로 한 IP 주소에서 여러
사이트를 서비스할 수 있다.
참고: 아파치 가상호스트 문서
- X.509
- 국제전기통신연합(International Telecommunication Union,
ITU-T)이 권장하는 인증서 양식. SSL/TLS 인증에서 사용한다.
참고: SSL/TLS 암호화