본문 바로가기
지식

웹 사이트에 접속 과정 일

by Ele(단단) 2023. 3. 23.
반응형

👋 브라우저에 google.com을 입력하면?

 

요약

DNS 서버에 도메인에 해당하는 IP주소를 요청 -> 수신한 IP 주소에 해당하는 웹 서버에 접속

 

조금 더 자세하게

1. 브라우저에 URL을 입력

주소

2. url에서 도메인 name에 해당하는 ip 주소를 찾아 url 정보와 함께 전달

주소 의미

- 도메인 name : DNS에 등록된 이름  ex) www.naver.com

 

3. DNS 서버에서 해당 domain name에 해당하는 ip 주소를 찾아 url 정보와 함께 전달

4. 웹페이지 url 정보와 전달받은 ip 주소는 http 프로토콜을 사용해 http 요청 메세지를 생성

- HTTP 프로토콜이란?

> 인터넷상에서 데이터를 주고 받기 위한 서버/클라이언트 모델을 따르는 프로토콜 이다.

> 애플리케이션 레벨의 프로토콜로 TCP/IP위에서 작동한다.

 

5. 4번에서 생성된 http 요청 메세지를 tcp 프로토콜을 사용해 인터넷을 거쳐 ip 주소의 컴퓨터로 전송.

- tcp 프로토콜이란?

> 연결 지향 프로토콜

> 데이터 송수신을 위해 클라이언트와 서버의 소켓이 연결되어 있어야 하며, 데이터가 유실되면 데이터 재전송을 요청함으로써 신뢰성을 보장

> 신뢰성 있는 데이터 전송이 가능하다는 장점으로 인해 HTTP, FTP, TELNET 등 대부분의 응용 계층 프로토콜의 전송 계층으로 사용

6. 도착한 http 요청 메시지는 http 프로토콜을 사용해 http 응답을 만든다.

7. 만들어진 http 메시지를 다시 tcp 프로토콜을 사용해 원래 컴퓨터로 전송한다.

8. 도착한 http 응답 메시지는 http 프로토콜을 사용해 웹 페이지 데이터로 변환.

9. 변환된 웹페이지의 데이터는 웹 브라우저에 의해 출력된다.


다른 요약

1. 주소창에 URI(Uniform Resource Identifier)를 입력 후 엔터를 누른다.

2. Application layer의 DNS을 이용하여 DNS에 등록되어있는 해당 uri의 ip주소를 찾아 Transport layer로 전달한다.

 

OSI 7계층

3. Transport layer의 TCP가 클라이언트와 서버의 3-way hand shanking을 통해 연결을 확립한 후 서버에 데이터를 전송한다.

핸드 쉐이크

Client > Server : TCP SYN

Server > Client : TCP SYN, ACK

Client > Server : TCP ACK

여기서 SYN은 'synchronize sequence numbers', 그리고 ACK는'acknowledgment' 의 약자이다.
이러한 절차는 TCP 접속을 성공적으로 성립하기 위하여 반드시 필요하다.

4. 이후 Network layer에서 ARP(Address Resolution Protocol)를 이용하여 IP주소를 이용해 MAC 주소를 찾아서 데이터 링크와 물리계층을 통해 서버 단으로 패킷이 전송된다.

 

arp & rarp

ARP란? : 논리적인 주소 (IP Address)를 물리적인 주소 (MAC Address)로 변환하는 작업

5. 서버단에서는 받은 패킷을 역순으로 헤더와 payload를 해석하여 데이터를 수신한다.

패킷에서 실제 데이터 부분을 payload라고 한다

6. 브라우저는 HTML 데이터를 수신하여 HTML 파서와 DOM트리를 만들고 CSS 파서가 스타일 규칙을 만든 것을 합쳐 렌더트리를 생성한다.

 

노드객체들로 구성된 트리자료구조를 DOM (문서객체모델) 이라고하고 트리형태의 자료구조를 갖고있기때문에 DOM Tree 라고도 부른다. 

7. 이때, 사용자에게 빨리 화면을 보여주기 위해서 모든 HTML파싱을 기다리지 않고 준비가 된 렌더 트리를 그리기 시작한다.

반응형

댓글