Computer Science/Computer Network

웹사이트 접속 과정

gozer0 2024. 7. 7. 13:07

전 게시글에서 웹사이트의 구조를 알아보았다.

이제 과정은 다음과 같다.

 

먼저, 사용자는 흔히 Chrome, Firefox, Safari 등을 가리키는

웹 브라우저를 연다. 

 

웹 브라우저가 하는 역할은 다음과 같다.

  1. HTML 렌더링
  2. CSS 처리
  3. JavaScript 실행 
  4. 웹 페이지 간의 이동, 북마크 저장, 검색 등을 지원한다.

 

이제 사용자는 웹 브라우저에서 검색창 혹은 주소 표시줄에

검색하고자 하는 웹사이트의 도메인 주소를 입력한다.

 

www.example.com

 

웹 브라우저는 사용자가 입력한 도메인 주소를 DNS(Domain Name System) 서버에 요청하여 

해당 도메인 주소에 대응하는 IP 주소를 찾는다.

 

DNS는 도메인 이름을 IP 주소로 변환하여 웹 사이트에 접속할 수 있도록 해준다.

이 과정에서는 DNS 캐시나 필요하다면 추가적으로 네트워크 요청이 발생한다.

이 과정에 대해서 더 자세히 설명하자면, 다음과 같다.

 

DNS 작동 과정

1. 브라우저 캐시 확인

  •  브라우저는 먼저 캐시에 해당 도메인 이름에 대한 IP 주소가 있는지 확인한다.
  •  유효한 IP주소가 캐시에 존재한다면 이를 사용한다.

 

2. 운영체제 캐시 확인

  •  브라우저 캐시에 IP 주소가 없다면, 운영 체제 수준의 DNS 캐시를 확인한다.
  •  운영 체제는 이전에 조회된 도메인 네임과 IP 주소를 일정 기간 동안 캐시에 저장하는데 있다면 이를 사용한다.

 

3. 로컬 DNS 서버 캐시 확인

  •  이전 방식 또한 없다면, 로컬 네트워크 DNS 서버(인터넷 서비스 제공자(ISP) 또는 기업 네트워크의 DNS서버)에 요청
  •  로컬 DNS 서버는 ISP 또는 네트워크 관리자가 설정한 DNS 서버이다.
  •  이전 조회된 도메인 네임과 IP 주소를 가지고 있을 수 있다.  있다면 이를 사용한다.

 

4. 권한 있는 DNS 서버로 쿼리 전송

  •  로컬 DNS 서버 캐시에도 없다? 루트 DNS 서버로 쿼리를 전송한다.
  •  루트 DNS 서버는 도메인 이름의 최상위 수준(TLD) 서버의 IP 주소를 알고 있다.
  •  예를 들어 "example.com" 경우, ".com" TDL 서버의 IP 주소를 반환.
  •  로컬 DNS 서버는 TLD 서버에 쿼리를 전송하여 해당 도메인의 권한 있는 DNS 서버의 IP 주소를 확인한다.
  •  TLD 서버는 권한 있는 DNS 서버의 IP 주소를 로컬 DNS 서버에 반환.
  •  로컬 DNS 서버는 권한 있는 DNS 서버에 쿼리를 전송하여 최종적으로 도메인 이름에 해당하는 IP 주소를 확인.
  •  권한 있는 DNS 서버는 해당 도메인의 정확한 IP 주소를 로컬 DNS 서버에 반환.

 

5. IP 주소 반환 및 캐싱

  •  로컬 DNS 서버는 얻은 IP 주소를 운영 체제와 브라우저에 반환한다.
  •  브라우저와 운영체제는 이 IP 주소를 캐시에 저장하여 이후 동일한 도메인 이름에 대한 요청 시 빠르게 응답할 수 있게 한다.

 

 

 

 

 

요약하자면 다음과 같다.

 

브라우저 캐시 확인 -> 운영체제 캐시 확인 -> 로컬 DNS 서버 캐시 확인

-> 루트 DNS 서버로 쿼리 요청  -> TLD 서버에 쿼리 전송 -> 권한 있는 DNS 서버의 IP 주소 반환

-> 권한 있는 DNS 서버에 쿼리 전송 -> 최종 IP 주소 반환 및 캐싱

 

 

이제 우리는 도메인 주소의 IP 주소를 받았다.

웹 브라우저는 해당 IP 주소로 서버에 연결을 시도한다. 

서버에는 웹사이트들의 파일들이 저장되어 있고, 웹사이트의 내용을 사용자에게 전달한다.

 

웹 브라우저는 서버와 연결된 후, HTTP(HyperText Transfer Protocol)를 사용하여 서버에 요청을 보낸다. 

이 요청에는 사용자가 접근하려는 페이지의 정보나 웹사이트로부터 받고자 하는 파일의 종류 등이 포함되어 있다.

 

서버는 받은 요청을 처리하고, 해당하는 웹페이지나 파일을 웹브라우저에 다시 전송한다.

이 과정에서 서버는 HTML, CSS, JavaScript, 이미지, 비디오 등의 파일을 전송한다.

 

웹 브라우저는 이제 받은 파일들을 이용하여 사용자가 볼 수 있는 웹 페이지를 생성 후 화면에 표시한다.

이때 HTML 파일을 해석하여 웹 페이지의 구조를 결정하고,

CSS를 이용하여 스타일을 입혀주고,

JavaScript 파일을 실행하여 동적인 기능을 추가한다.

 

이렇게 최종 화면이 렌더링되었다.

사용자는 렌더링 된 웹 페이지를 통해 웹사이트의 다양한 기능을 이용하고 정보를 얻는다!

이 과정에서 사용자와 웹사이트 사이의 상호작용이 이루어진다.

 

 

 

 

 

'Computer Science > Computer Network' 카테고리의 다른 글

[OSI 7계층]네트워크 계층  (0) 2024.07.15
웹사이트 구조  (0) 2024.07.07
패킷 교환 방식과 IP address  (0) 2024.07.05
컴퓨터 네트워크  (0) 2024.07.05