웹의 동작 방식에 대해 이해하기 위해 먼저 기본적인 개념들을 정리했다.
웹에 연결된 컴퓨터는 클라이언트와 서버라고 한다.
웹브라우저 동작 과정에서 사용되는 개념들로, 보다 쉽게 이해하기 위해 예를 들었다.
● 클라이언트 : 쉽게 말해 요청자. 서버의 서비스를 받아 사용하는 장치, 프로그램이다.
(⚡ 긴 도로 한 쪽 끝에 위치한 집에서 반대 끝에 있는 무인마트로부터 물을 사려는 나)
● 서버 : 응답자. 네트워크를 통해 클라이너트에게 서비스를 제공하는 시스템이다.
(⚡ 물을 요청하니 물에 대해 종류별로 제공해주는 마트)
● TCP / IP : 인터넷이 컴퓨터 네트워크 사이에서 정보를 주고 받는데 이용되는 프로토콜 통신 규약.
(⚡ 주문을 하고, 물을 살 수 있게 해주는 운송 장치)
● WAS : 서버에게 동적 컨텐츠 제공을 요청 받고 DB와 연동하여 데이터를 처리한 뒤 생성한 파일을 서버에게 반환해 동적 페이지를 처리한다.
(⚡ 물에 대한 DB 요청 시 WAS에서 서버에 물 목록 반환)
● DNS (Domain Name System Servers) : 웹사이트를 위한 주소록과 같다. 사용자가 브라우저에 웹 주소를 입력할 때, 브라우저는 그 웹사이트를 검색하기 전에 DNS를 살펴본다. 해당 웹사이트가 있는 서버가 어떤 것인지 찾기 위함이다.
(⚡ 마트의 위치가 어디 인지 확인하기 위한 과정)
● HTTP : 클라이언트와 서버가 서로 통신할 수 있게 하기 위한 언어를 정의하는 어플리케이션 규약.
(⚡ 물을 주문하기 위해 사용하는 언어 )
웹브라우저 동작 과정
우리가 컴퓨터나 핸드폰을 통해 웹 브라우저를 통해 웹페이지에 접속했을 때 어떤식으로 동작하는 지 알아보았다.
1. 사용자가 웹브라우저를 통해 접속 하고 싶은 웹 페이지의 URL 주소를 입력한다.
2. 웹 브라우저는 DNS 서버로 가서 웹사이트가 있는 서버의 진짜 주소 (IP주소) 물어본다.
3. DNS 서버가 IP 주소를 알려주면, 브라우저는 해당 IP 주소에 있는 서버를 찾아간다. ( 랜덤한 숫자를 적은 종이를 가지고 함께!! )
4. 웹브라우저는 서버와 숫자가 적힌 종이를 주고 받으며 3WAY - HANDSHAKE 과정을 마친다.
5. 웹브라우저는 URL 주소에 있는 데이터를 요청하고, 서버는 이를 보내준다. (HTTP Request & HTTP Response)
5-1. 화면에 출력하기 전, 브라우저는 W3C 명세에 따라 데이터를 해석해야한다.
(Parsing -> 렌더링 엔진을 통해 DOM Tree 생성<HTML, CSS, JAVASCRIPT> -> Layout 작업 시작)
6. 웹브라우저는 받은 데이터를 사용자가 이해할 수 있도록 해석한 내용을 화면에 출력한다.
'Network' 카테고리의 다른 글
2-1) 프로토콜 (0) | 2022.09.02 |
---|---|
1-2) Web & HTTP (0) | 2022.08.31 |
Wireshark를 통한 백도어 패킷 분석하기 (1) | 2021.08.18 |
Drive by download (CVE-2016-0189) 공격 정리 (0) | 2021.07.14 |
[7] 스노트 기본 문법 (0) | 2021.05.07 |