DNS 조회는 사람이 기억하기 쉬운 이름과 실제 통신 주소 사이를 연결한다. 브라우저가 example.com을 사용하더라도 네트워크 계층은 결국 목적지 IP를 알아야 통신을 시작할 수 있다.
한 번 찾은 결과는 일정 시간 동안 캐시에 저장될 수 있어 같은 이름을 다시 사용할 때 매번 처음부터 조회하지 않아도 된다. 이름과 주소가 분리되어 있기 때문에 서버 주소가 바뀌어도 사용자는 같은 도메인을 계속 사용할 수 있다.
브라우저에 주소를 입력한 뒤
사용자가 웹 주소를 입력하면 먼저 도메인 이름에 대응하는 IP 주소를 찾는다.
그다음 해당 서버와 통신 연결을 만들고, 웹 페이지에 필요한 데이터를 요청한다.
↓
DNS 조회
↓
서버 연결
↓
HTTP 요청
↓
HTTP 응답
DNS로 주소를 찾았다고 바로 웹 페이지가 나타나는 것은 아니다. 서버와 통신할 수 있는 연결을 준비하고, 어떤 자원을 원하는지 HTTP 요청으로 전달해야 한다. 서버는 요청을 처리한 뒤 상태와 데이터를 포함한 응답을 돌려준다.
웹 페이지 안에 이미지나 스타일 파일이 더 있다면 브라우저는 필요한 자원을 추가로 요청한다. 주소 입력 한 번 뒤에도 여러 통신이 이어질 수 있다는 뜻이다.
웹도 요청과 응답으로 움직인다
서버 → “여기 있습니다.”
우리가 보는 웹 화면도 결국 네트워크 위에서 주고받는 수많은 요청과 응답의 결과다.
HTTPS는 통신을 보호한다
로그인 정보나 결제 정보가 네트워크를 그대로 지나간다면 중간에서 내용을 엿볼 위험이 있다.
여기서 우리는 자연스럽게 다음 방향의 핵심인 보안을 만나게 된다.