요약
- RFC 2817은 이미 열린 HTTP/1.1 연결을
Upgrade로 TLS에 넘기는 방식을 제안했다. 평문과 보호된 HTTP가 80번 포트를 공유하고, 서버는 인증서를 고르기 전에Host값을 읽을 수 있었다. - 이 문서는
https를 별도 URI 공간으로 남겼고, 일반 웹 탐색에서 443번 포트의 대안을 구현하려는 관심이 적다고 기록했다. RFC 2818은 443번에서 TLS가 HTTP보다 먼저 시작하는 경로를 문서화했다.
초기의 웹에는 표지판이 붙은 문이 둘 있었다. 보통 HTTP는 80번 포트를 썼다. https 주소는 기본적으로 443번 포트로 향했고, HTTP 요청이 나오기 전에 TLS 악수가 시작됐다. 1997년 12월 IETF의 응용 분야 지도부는 새 프로토콜마다 일반 포트와 보안 포트를 한 쌍씩 배정하는 관행을 줄이자는 뜻을 다시 밝혔다. 2000년 5월의 제안은 그 생각을 구체적인 연결 절차로 바꿨다. 이미 있는 문에 자물쇠를 달면 되지 않을까.
RFC 2817은 HTTP/1.1의 Upgrade를 써서 같은 TCP 연결을 TLS/1.0으로 넘기도록 했다. 포트 번호 절약 말고도 이유가 있었다. 이름 기반 가상 호스팅은 HTTP 요청의 Host 필드 덕분에 한 IP 주소에서 여러 사이트를 운영할 수 있었다. TLS 악수가 HTTP보다 먼저 일어나면 서버는 그 필드를 보기 전에 인증서를 골라야 했다. 처음 몇 마디를 평문 HTTP로 나누면 서버가 방문할 호스트 이름을 확인한 뒤 TLS를 시작할 수 있다. 안내 데스크가 약속 상대를 묻고 문을 잠그는 순서다.
RFC 2616은 Upgrade를 연결의 바로 이웃한 두 참여자 사이의 전환으로 다뤘다. 평문 응답도 허용된다면 클라이언트는 일반 요청에 Upgrade: TLS/1.0과 Connection: Upgrade를 붙일 수 있었다. 평문 응답을 받아서는 안 되는 작업이라면 RFC 2817은 먼저 OPTIONS *를 보내도록 했다. 민감한 요청 내용을 내놓기 전에 서버가 보호된 대화로 옮길 준비가 됐는지 묻는 절차였다.
서버가 받아들이면 101 Switching Protocols를 보내고 TLS/1.0, HTTP/1.1 순서를 알렸다. 응답 헤더가 끝나는 즉시 TLS 악수가 이어졌고, 그다음 HTTP 대화는 TLS 안에서 계속됐다. 서버는 426 Upgrade Required로 특정 자원에 전환이 필요하다고 알릴 수도 있었다. 426은 요구 사항을 전하는 응답이다. 실제 전환에는 뒤따르는 Upgrade 교환이 필요하다. 문에 붙은 ‘잠그세요’라는 쪽지가 열쇠를 돌려 주지는 않는다.
프록시가 끼면 복도는 길어진다. Upgrade는 한 구간씩 적용됐다. 클라이언트와 프록시 사이에서 일어난 101이 프록시와 원본 서버 사이의 연결까지 자동으로 바꾸지는 않았다. RFC 2817은 원본 서버까지 TLS를 이어 가기 위해 먼저 CONNECT 터널을 만드는 방법을 설명했다. 목적지가 80번 포트여도 마찬가지였다. 성공을 뜻하는 2xx 응답 뒤에 클라이언트가 터널을 통해 원본 서버와 Upgrade를 협상할 수 있었다. 포트 하나로 줄인 설계에도 중간 경로의 지도가 필요했다.
브라우저 주소창에도 고유한 질서가 있었다. RFC 2817은 http://와 https://를 서로 다른 URI 공간으로 유지했다. 같은 달 나온 RFC 2818은 https의 기본 포트 443, 첫 단계의 TLS ClientHello, 그리고 TLS 안에서 이어지는 HTTP를 정리했다. 연결의 첫 동작을 바꿀 수 있어도 공개 주소가 가리키는 곳은 독자의 기대와 브라우저 동작을 함께 묶고 있었다.
RFC 2817의 저자들은 당시 반응을 솔직하게 적었다. 기본 구상에는 폭넓은 호응이 있었지만 일반 웹 탐색에서 443번의 대안을 구현하려는 관심은 적었다. 대신 인터넷 인쇄처럼 HTTP 위에 새로 세우는 프로토콜에서 가능성을 봤다. 이 평가는 제안서의 서두에 있다. 공유 포트는 보안용 짝 포트를 줄이고, 인증서 선택 전에 호스트 이름을 읽고, TLS 요구를 명확히 할 수 있었다. 동시에 평문 선행 단계와 프록시 터널, 이미 널리 쓰인 https 주소를 함께 다뤄야 했다. TLS는 80번을 두드렸다. 초대장에는 443번이 적혀 있었다.
회원 브리핑
프로필 심층 컨텍스트
올바른 멤버십 등급으로 로그인하면 전체 브리핑과 출처 노트를 볼 수 있습니다.
Strategic Circle 전용
Strategic Circle
모든 독자에게 공개됩니다. 가입 후 로그인하면 프로필 브리핑를 열람할 수 있습니다.
Strategic Circle 가입하기Leadership Alliance 전용
Leadership Alliance
자격을 갖춘 IP 자산 소유자 및 운영진을 위한 콘텐츠입니다. 로그인하면 Leadership Alliance 브리핑을 열람할 수 있습니다.
Leadership Alliance 가입하기





