웹사이트에 접속하면 서버에서는 어떤 일이 일어날까?

작성자

카테고리:

메타 설명 브라우저에 웹사이트 주소를 입력하면 어떤 일이 일어날까요? DNS 조회부터 서버의 요청 처리, 데이터베이스 응답과 브라우저 화면 표시까지 웹사이트 접속 과정을 초보자도 이해하기 쉽게 설명합니다.

웹사이트 주소를 입력하고 Enter를 누르면 잠시 뒤 화면이 나타납니다. 이 짧은 순간에 브라우저와 여러 서버는 주소를 찾고, 연결을 만들고, 필요한 파일과 데이터를 주고받습니다. 화면이 만들어지는 과정은 단순히 서버가 페이지 한 장을 보내는 일로 끝나지 않습니다. 이미지나 스타일 파일처럼 저장된 자료를 가져오기도 하고, 로그인 상태나 상품 재고처럼 매번 달라지는 정보를 서버에 요청하기도 합니다. 이번 글에서는 웹사이트 접속의 작동 원리를 순서대로 살펴보겠습니다.

1. 도메인 이름을 IP 주소로 찾습니다

사람은 example.com처럼 기억하기 쉬운 도메인 이름을 사용하지만, 네트워크에서 컴퓨터를 찾을 때는 IP 주소가 필요합니다. 브라우저는 먼저 저장된 DNS 정보나 운영체제의 캐시를 확인하고, 필요한 경우 DNS 서버에 도메인에 대응하는 IP 주소를 물어봅니다. DNS는 전화번호부에 비유할 수 있습니다. 도메인 이름과 IP 주소의 연결 정보를 찾아 브라우저가 어느 서버에 접속해야 하는지 알려 줍니다. 이미 조회 결과가 캐시에 남아 있다면 매번 처음부터 다시 물어보지 않을 수도 있습니다.

2. 브라우저가 서버와 연결합니다

브라우저는 알아낸 IP 주소를 바탕으로 서버와 네트워크 연결을 시작합니다. HTTPS 웹사이트라면 암호화 통신을 위한 TLS 협상도 진행되어 브라우저와 서버가 안전하게 데이터를 주고받을 수 있도록 준비합니다. 이 과정에서 인증서 정보를 확인하고 암호화에 사용할 방식을 합의합니다. 연결이 성립되어야 브라우저는 웹페이지를 요청할 수 있습니다.

3. HTTP 요청을 보냅니다

연결이 준비되면 브라우저는 서버에 HTTP 요청을 보냅니다. 요청에는 어떤 경로의 자료가 필요한지, 어떤 방식으로 요청하는지, 쿠키나 브라우저 정보 등 처리에 필요한 부가 정보가 포함될 수 있습니다. 예를 들어 사용자가 /products/42 페이지를 열면 브라우저는 해당 경로의 페이지나 데이터를 요청합니다. 검색 버튼을 눌렀다면 검색어가 요청에 실릴 수 있습니다.

4. 웹 서버와 애플리케이션이 요청을 처리합니다

요청을 받은 웹 서버는 파일을 바로 전달할지, 애플리케이션 서버로 넘길지 판단할 수 있습니다. 로고나 CSS 파일처럼 내용이 미리 준비된 정적 파일은 웹 서버나 CDN이 직접 응답하는 경우가 많습니다. 반면 로그인 확인, 상품 가격 계산, 주문 조회처럼 사용자나 데이터에 따라 달라지는 요청은 애플리케이션의 처리가 필요합니다.

애플리케이션 서버는 요청 내용을 확인하고 서비스 규칙을 실행합니다. 상품 페이지 요청이라면 상품 번호를 읽고 데이터베이스에서 상품명, 가격, 재고를 조회한 뒤 응답을 만듭니다. 모든 요청이 반드시 데이터베이스를 거치는 것은 아닙니다. 캐시에 결과가 있으면 데이터베이스 조회를 줄일 수 있고, 정적 파일은 애플리케이션 처리 없이 전달될 수도 있습니다.

5. 서버가 응답하고 브라우저가 화면을 만듭니다

처리가 끝나면 서버는 HTTP 상태 코드와 함께 응답을 보냅니다. 요청이 성공했는지, 페이지를 찾지 못했는지, 서버 내부에서 오류가 났는지 등을 상태 코드로 알립니다. 응답에는 HTML 문서나 JSON 데이터, 이미지 파일 등이 담길 수 있습니다. 브라우저는 HTML을 읽고 페이지 구조를 만들며, CSS로 모양을 적용하고 자바스크립트를 실행합니다. HTML이 다른 파일을 참조하면 브라우저는 CSS, 이미지, 글꼴 등 추가 자료를 다시 요청할 수 있습니다. 필요한 요소가 도착하고 화면에 배치되면서 사용자가 보는 페이지가 완성됩니다.

쇼핑몰 상품 페이지를 열 때의 예

사용자가 쇼핑몰에서 상품 상세 페이지를 연다고 가정해 보겠습니다. 브라우저는 도메인의 IP 주소를 확인하고 HTTPS 연결을 준비합니다. 이어 상품 페이지를 요청하면 웹 서버는 정적 파일을 제공하고, 상품 정보 요청은 애플리케이션으로 전달할 수 있습니다. 애플리케이션은 상품 번호에 맞는 가격과 재고를 확인해 응답을 돌려줍니다. 브라우저는 응답으로 받은 정보를 화면에 표시하고, 상품 사진이나 스타일 파일이 더 필요하면 추가 요청을 보냅니다. 사용자는 하나의 페이지를 연 것 같지만, 실제로는 여러 요청과 응답이 이어질 수 있습니다.

접속 과정 한눈에 보기

단계주요 담당하는 일
주소 찾기DNS도메인 이름에 대응하는 IP 주소 조회
연결 준비브라우저·서버네트워크 연결 및 HTTPS 암호화 협상
요청 처리웹 서버·애플리케이션파일 전달 또는 서비스 로직 실행
데이터 확인애플리케이션·데이터베이스필요한 정보 조회·저장
화면 표시브라우저HTML, CSS, 자바스크립트와 자료를 조합

자주 하는 오해

웹페이지는 서버가 한 번에 통째로 보내나요?

항상 그런 것은 아닙니다. 서버가 HTML을 보내면 브라우저가 그 안의 이미지, 스타일, 스크립트 등을 확인해 추가로 요청할 수 있습니다. 사이트 구조에 따라 처음부터 여러 파일과 API 응답이 함께 오가기도 합니다.

모든 요청은 데이터베이스에 연결되나요?

아닙니다. 정적 이미지나 CSS는 저장된 파일 또는 캐시에서 바로 제공될 수 있습니다. 동적 요청도 캐시를 이용하면 데이터베이스 조회 없이 응답할 수 있습니다. 데이터베이스는 필요한 정보를 저장하고 조회하는 구성 요소이지, 모든 웹 요청의 필수 경유지는 아닙니다.

주소창에 URL을 입력하면 DNS부터 매번 새로 조회하나요?

꼭 그렇지는 않습니다. 브라우저나 운영체제, 네트워크 장비가 최근 조회 결과를 캐시하고 있다면 그 정보를 먼저 사용할 수 있습니다. 캐시가 만료되었거나 필요한 정보가 없을 때 DNS 질의가 이어집니다.

자주 묻는 질문

웹사이트가 느릴 때 어느 단계가 문제인가요?

원인은 DNS 응답, 네트워크 연결, 서버 처리, 데이터베이스 조회, 이미지 다운로드, 브라우저 렌더링 등 여러 곳에 있을 수 있습니다. 사용자가 느끼는 속도만으로 서버의 CPU가 원인이라고 단정하기 어렵습니다. 요청별 응답 시간과 브라우저 개발자 도구의 네트워크 기록 등을 통해 어느 단계에서 지연이 생기는지 확인합니다.

HTTP와 HTTPS의 차이는 무엇인가요?

둘 다 브라우저와 서버가 웹 요청과 응답을 주고받는 데 사용하는 방식입니다. HTTPS는 TLS를 이용해 통신 내용을 암호화하고 서버 인증을 확인하는 연결을 제공합니다. 로그인이나 결제뿐 아니라 일반 웹페이지에서도 HTTPS가 널리 사용됩니다.

마무리

웹사이트에 접속하면 브라우저는 도메인에 해당하는 서버를 찾고, 연결을 준비한 뒤 HTTP 요청을 보냅니다. 웹 서버는 정적 파일을 전달하거나 요청을 애플리케이션으로 넘기며, 애플리케이션은 필요한 서비스 규칙과 데이터를 처리해 응답을 만듭니다. 브라우저는 응답과 추가 자료를 조합해 최종 화면을 표시합니다. 이 흐름을 알면 페이지가 느릴 때 어디에서 지연이 생길 수 있는지, 웹 서버와 애플리케이션 서버가 어떤 역할을 하는지 더 쉽게 이해할 수 있습니다.

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다