HTTP는 자체적인 인증 관련 기능을 제공하며, HTTP에는 기본 인증과 다이제스트 인증이라는 두 가지 공식적인 인증 프로토콜이 있다.
여기서는 기본 인증에 대해 다룬다.
기본 인증에서 위 모델을 수행할 때 사용하는 헤더는 다음과 같다.
HTTP 기본 인증은 사용자 이름과 비밀번호를 콜론으로 이어서 합치고, base-64 인코딩 메서드를 사용해 인코딩한다.
8비트 바이트로 이루어져 있는 시퀀스를 6비트 덩어리의 시퀀스로 변환하는 인코딩 방식이다. 각 6비트 조각은 대부분 문자와 숫자로 이루어진 특별한 64개의 문자 중에서 선택된다.
Base-64 인코딩은 바이너리, 텍스트, 국제 문자 데이터 등 어떤 시스템에서는 문제를 일으킬 수 있는 문자열들을 전송 가능한 알파벳 문자로 변환하기 위해 발명됐다.
Base-64는 국제 문자나 HTTP 헤더에서 사용할 수 없는 큰따옴표, 콜론, 캐리지 리턴 등의 문자를 포함한 사용자 이름이나 비밀번호를 보내야 할 때 유용하다.