홈페이지를 맡기면 견적서에 도메인, 호스팅, SSL이 나란히 한 줄씩 적혀 나옵니다. 세 줄이 붙어 있어서 비슷한 걸 쪼개 놓은 것처럼 보이는데, 실제로는 이름을 맡는 것, 파일을 두는 곳, 오가는 내용을 암호로 묶는 것으로 하는 일이 서로 다릅니다. 주소창에 이름을 넣었을 때 셋이 각각 어느 대목에서 일을 하는지부터 보겠습니다.
주소를 입력하면 셋이 차례로 움직여요
브라우저에 mybrand.kr 같은 이름을 넣으면, 브라우저는 먼저 그 이름이 어느 컴퓨터를 가리키는지부터 찾습니다. 이름만으로는 어느 컴퓨터로 가야 할지 알 수 없어서, 이름과 실제 컴퓨터 번호(IP 주소)를 짝지어 적어 둔 장부를 한 번 거쳐야 하거든요. 그 장부가 DNS고, 이름을 등록해 두고 장부에 "이 이름은 이 서버"라고 적어 두는 일이 도메인 쪽에서 하는 일입니다.
찾아낸 컴퓨터에 브라우저가 이 페이지를 달라고 요청하면, 그 컴퓨터는 저장해 둔 HTML과 이미지, 글꼴을 찾아서 돌려줍니다. MDN 웹 서버 설명을 보면 요청한 파일이 없을 때 404를 돌려주는 것도 이 컴퓨터가 하는 일인데, 파일이 놓여 있는 이 컴퓨터와 거기서 도는 소프트웨어를 빌려 쓰는 게 호스팅이에요.
요청과 응답은 여러 통신망을 거쳐 오갑니다. 그 사이에서 내용을 들여다보거나 바꿔치기할 수 없도록, 주고받는 내용을 암호로 묶어서 보내는 단계가 하나 더 있는데 그게 SSL/TLS예요.

하나가 빠지면 방문자 화면에 이렇게 나타나요
빠진 것 | 방문자에게 보이는 일 |
|---|---|
도메인만 있고 호스팅이 없을 때 | 이름은 등록돼 있는데 열어 줄 화면이 없어서, 접속이 안 되거나 등록대행사의 빈 페이지가 뜹니다 |
호스팅만 있고 도메인이 없을 때 | 사이트는 돌아가지만 사람이 기억할 이름이 없어서, 임시 주소나 IP 번호로만 들어갈 수 있습니다 |
둘 다 있고 SSL이 없을 때 | 화면은 보이지만 주소창에 "안전하지 않음"이 붙고, 오가는 내용이 잠기지 않습니다 |
SSL은 살아 있는데 도메인이 만료됐을 때 | 이름이 서버를 가리키지 못해서, 인증서와 무관하게 접속 자체가 끊깁니다 |
도메인은 소유하는 게 아니라 기간을 빌리는 이름이에요
도메인은 방문자가 직접 입력하는 이름인데, MDN 도메인 설명은 도메인은 살 수 없고 1년 이상의 기간 동안 쓸 권리에 값을 치르는 것이라고 분명하게 적어 둡니다. 쓰지도 않는 이름이 영원히 묶여 있지 않게 하려는 장치인데, 대신 기간이 끝날 때 갱신할 권리는 기존 등록자에게 우선으로 주어지고요. 등록은 등록대행사(registrar)를 통해 하고, 누가 이 이름의 등록자인지는 등록부에 기록으로 남습니다.
등록을 마치면 이름과 함께 설정칸이 하나 따라옵니다. 앞에서 말한 장부에 들어갈 내용, 그러니까 이 이름이 어느 서버를 가리킬지 적는 칸이에요. 호스팅을 계약하고 받은 서버 정보를 여기 넣어야 주소를 쳤을 때 그 서버로 갑니다. 도메인을 등록했는데 사이트가 안 열린다면 대개 이 칸이 비어 있는 경우입니다.
이름은 업체를 옮겨도 그대로 가져갈 수 있습니다. 호스팅을 다른 곳으로 바꿔도 DNS 설정만 새 서버로 고치면 주소는 안 바뀌거든요. 한 업체에서 묶어 결제하더라도 둘은 분리해서 옮길 수 있는 계약입니다.
호스팅은 파일이 실제로 놓여 있는 컴퓨터예요
호스팅은 홈페이지 파일이 저장되고 방문자 요청에 응답하는 서버를 빌려 쓰는 서비스입니다. 파일을 사무실 컴퓨터에 두고 서버 노릇을 시킬 수도 있지만 보통 그렇게 하지 않는데, MDN이 드는 이유가 셋이에요 — 늘 켜져 있어야 하고, 번호(IP)가 바뀌지 않아야 하고, 누군가 계속 손봐 줘야 하거든요.
같은 호스팅이라는 이름으로도 금액이 크게 갈리는데, 갈리는 지점은 관리 범위입니다. 서버 자리만 내주는 상품인지, 보안 업데이트와 백업, 장애가 났을 때의 대응까지 맡는 상품인지에 따라 값이 달라집니다. 게시판이나 예약처럼 방문자가 쓴 내용이 쌓이는 기능이 있으면 데이터베이스가 함께 돌아야 해서, 회사 소개만 있는 사이트보다 사양도 손도 더 듭니다.
흔히 쓰는 공유 호스팅은 서버 한 대를 여러 회사가 칸을 나눠 쓰는 방식이라 값이 싼 대신, 서버를 통째로 옮겨 받기는 어렵습니다. 그래서 업체를 바꿀 때는 사이트 파일과 데이터베이스, 도메인 연결 정보를 어떤 형태로 넘겨받는지를 미리 정해 두는 편이 좋습니다. 백업은 설정해 뒀다는 말만으로 확인이 안 돼서 무엇을 물어봐야 하는지 따로 정리해 뒀어요.

SSL 인증서는 연결을 잠그지, 사이트를 보증하지는 않아요
통상 SSL이라고 부르지만 지금 웹에서 실제로 쓰이는 건 그 뒤를 이은 TLS입니다. MDN의 TLS 설명을 보면 이 기술이 맡는 일은 셋으로 나뉘는데, 오가는 내용을 암호화하고, 중간에서 바뀌지 않았는지 확인하고, 접속한 서버가 그 도메인의 서버가 맞는지 확인하는 일이에요. 주소가 https로 시작하면 이 세 가지가 걸려 있다는 뜻입니다.
견적서에 적히는 "SSL"은 이 기술을 쓰기 위해 서버에 설치하는 인증서를 말합니다. 발급기관이 "이 서버가 그 도메인의 서버가 맞다"고 확인해 준 파일이고, 무료로 받는 것도 있고 연 단위로 값을 치르는 것도 있어요.
다만 인증서가 있다고 해서 믿을 만한 회사라는 뜻은 아닙니다. 크롬 팀도 자물쇠 아이콘을 설명하면서 피싱 사이트도 거의 다 HTTPS를 쓴다는 점을 들었습니다. 인증서가 보장하는 범위는 연결이 잠겨 있고 상대가 그 도메인의 서버라는 데까지입니다.
인증서에는 유효기간이 있어서 주기적으로 다시 받아야 합니다. 무료로 많이 쓰는 Let's Encrypt는 기본 인증서가 90일짜리고 60일마다 갱신하기를 권하는데, 보통 서버에서 자동으로 갱신하도록 걸어 둡니다. 그 자동화가 조용히 멈추면 만료일에 방문자 화면에 접속 경고가 뜨니까, 알림을 누가 받는지는 정해 두는 편이 좋습니다.

견적서에서는 세 줄로 나눠 받으면 돼요
"도메인·호스팅·SSL 포함"이라고만 적혀 있다면 이 금액에 첫해만 들어가 있는지, 내년부터 매년 얼마가 나가는지 물어보면 됩니다. 무료 인증서를 쓰더라도 갱신과 설정을 관리하는 일까지 없어지지는 않거든요.
도메인에서 실제로 문제가 되는 건 갱신 안내를 누가 받느냐입니다. ICANN의 만료 도메인 삭제 정책을 보면 등록 기간이 끝났는데 갱신 의사가 확인되지 않으면 등록대행사가 두 번째 안내까지 보낸 뒤 등록을 취소하도록 돼 있는데, 그 안내가 퇴사한 담당자의 개인 메일로만 가고 있으면 두 번 다 아무도 못 보는 셈이에요. 등록자가 회사나 운영 주체 이름으로 돼 있는지, 관리 이메일이 회사가 계속 열어 볼 수 있는 주소인지 한 번 보면 됩니다. .kr 도메인은 KRNIC에서, 그 밖의 도메인은 ICANN 등록 안내에서 등록·관리 기준을 확인할 수 있어요.
납품 때는 셋의 관리 주체와 갱신일을 한 문서로 받아 두면 나중이 편합니다. 도메인은 등록자와 관리 이메일, 만료일까지. 호스팅은 관리 범위와 업체를 옮길 때 받을 수 있는 것. 인증서는 자동 갱신 여부와 만료 알림을 받는 사람. 이 정도가 정리돼 있으면 담당자가 바뀌어도 이어받을 수 있어요. 비밀번호를 한 문서에 평문으로 모아 두기보다는 회사 명의 계정을 만들어 두고, 제작사에 넘길 권한을 따로 구분해 두는 편이 안전하고요.
이미 운영 중인 사이트가 있다면 도메인 만료일부터 확인해 볼 수 있습니다. .kr 도메인은 KRNIC 후이즈 검색에, 그 밖의 도메인은 등록대행사 사이트의 후이즈(whois) 검색창에 주소를 넣으면 등록자와 만료일이 바로 나옵니다.
홈페이지의 HTTPS·검색 기본 상태를 함께 확인하려면 저희가 만든 무료 진단 도구 Wavvy Surf를 이용할 수 있어요. 주소를 넣으면 항목별 점검 결과를 볼 수 있어요.



