이 모듈은 HTTP Digest Authentication을 구현한다. 그러나 많은 테스트를 거치지 않은 실험적인 모듈이다.
MD5 Digest authentication은 매우 쉽게 사용할 수 있다.
AuthType Basic과 AuthType Digest와
htdigest 도구를 사용하여 사용자 (문자)파일을 만들 수 있다.
Digest authentication은 Basic authentication보다 더 안전하지만, 브라우저가 지원해야 한다. 2002년 11월 현재 digest authentication을 지원하는 브라우저에는 Amaya, Konqueror, (Windows용은 질의문자열과 함께 사용하면 안되지만 - 해결방법은 아래 "MS Internet Explorer 문제 해결하기"를 참고) Mac OS X와 Windows용 MS Internet Explorer, Mozilla, Netscape 버전 7, Opera, Safari 등이 있다. lynx는 digest authentication을 지원하지 않는다. digest authentication이 basic authentication 만큼 널리 구현되지 않았기때문에 모든 사용자가 지원하는 브라우저를 사용하는 경우에만 사용해야 한다.
현재 Windows용 Internet Explorer는 Digest authentication
사용시 질의문자열이 있는 GET 요청을 RFC와 다르게
처리하는 문제가 있다. 몇가지 방법으로 이 문제를 해결할 수
있다.
첫번째는 프로그램에 자료를 넘겨주기위해 GET
대신 POST 요청을 사용하는 방법이다. 이 방법이
가능하다면 가장 간단한 해결책이다.
또, 아파치 2.0.51부터 AuthDigestEnableQueryStringHack
환경변수를 제공하여 문제를 해결한다. 요청에
AuthDigestEnableQueryStringHack을 설정하면
아파치는 MSIE 버그를 피해갈 조치를 취하고 요청 URI를 digest
비교에서 제외한다. 이 방법은 다음과 같이 사용한다.
선택적인 환경변수 설정에 대한 자세한 내용은
On이면 기본제공자(file)를 사용한다.
file
제공자를 구현하기때문에 서버에 이 모듈이 있는지 확인해야
한다.
제공자는
값이 Off이면 제공자 목록을 지우고 기본상태로
돌아간다.
auth는 (사용자명/암호) 인증만 하고,
auth-int는 인증과 완결성 검사를 (MD5 해쉬도
계산하여 검사한다) 한다. none은 (완결성 검사를
하지않는) 오래된 RFC-2069 digest 알고리즘을 사용한다.
auth와 auth-int를 모두 지정할
수 있다. 이 경우 브라우저는 어떤 것을 사용할지 선택한다.
브라우저가 어던 이유에서건 challenge를 좋아하지 않는다면
none을 사용해야 한다.
auth-int는 아직 구현되지 않았다.
stale=true와
함께 401을 반환한다. seconds가 0보다 크면 nonce가
유효한 기간을 지정한다. 아마도 10 초보다 작게 설정하면 안된다.
seconds가 0보다 작으면 nonce는 영원히 만기되지
않는다.
MD5-sess는 아직 완전히 구현되지 않았다.
이 지시어는 항상 지정해야 하며, 최소한 영역들의
기본 URI(들)를 포함해야 한다. 생략하면 클라이언트는
이 서버로 보내는 모든 요청에 Authorization 헤더를
포함한다. 그러면 요청의 크기가 커지며,
다른 서버의 URI를 지정하면, (이를 이해하는) 클라이언트는 여러 서버마다 매번 사용자에게 묻지않고 같은 사용자명/암호를 사용할 수 있다.
0으로
설정하고 서버를 시작한후 오류문을 참고하라.
size는 보통 바이트 단위이지만, 뒤에
K나 M을 사용하여 KBytes나 MBytes를
나타낼 수 있다. 예를 들어, 다음 지시어들은 모두 같다: