1.웹 브라우저란?
클라이언트 ↔ 서버 간, HTTP 프로토콜을 이용한 통신을 수행한다. 통신을 위한 HTTP 요청 메시지와 HTTP 응답 메세지를 매번 작성하여 전송하기에는 개발자가 아닌 이상 어려운 일이다.
이런 문제를 해결하기 위해 등장한 것이 웹 브라우저이며, 클라이언트 ↔ 서버 간 통신을 알아서 해결해주며 수신된 리소스를 시각화하여 이용자의 편의성을 도와주는 일종의 소프트웨어 중 하나이다. 즉, 개발자나 전문가가 아닌 일반 이용자들도 쉽게 HTTP 프로토콜을 이용하여 서버와 통신을 할 수 있도록 돕는 소프트웨어이다.
이를 통해 이용자는 웹 브라우저를 통하여 정보를 검색하고 동영상이나 파일 등을 다운로드 받지만, 서버와 어떤 데이터를 구조 받으며 처리 과정을 거치는지 고민할 필요도, 알 필요도 없이 이용이 가능하다.
2.웹 브라우저의 동작 과정 (요약)
| 순서 | 설명 |
| 1 | 웹 브라우저 실행 후 주소창에 https://google.com 입력 |
| 2 | 웹 브라우저 내부에서 입력 값 "google.com"로 URL 해석 |
| 3 | google.com에 대한 DNS 주소 탐색 |
| 4 | HTTP 프로토콜을 이용하여 DNS로 탐색된 google.com에 요청 (HTTP 요청 메시지) |
| 5 | google.com의 응답 수신 (HTTP 응답 메시지) |
| 6 | HTTP 응답 메시지 내 리소스 다운로드 및 웹 랜더링 (시각화 - HTML, CSS, Javascript 등) |
3.웹 브라우저 엔진 및 브라우저 종류
1)웹 브라우저 엔진이란?
웹 브라우저 엔진이란, 웹 브라우저 소프트웨어의 핵심 요소로 정보 문서인 HTML, XML과 서식 정보인 CSS 등의 자원을 웹 브라우저의 사용자에게 상호작용적인 시각 표현으로 변환 시키는 역할을 한다.
| 아래의 그림처럼 웹 브라우저는 소스코드를 시각화하고, 검색 기능(상호작용)을 이용할 수 있도록 도와준다. | |
![]() |
2)웹 브라우저 엔진 별 차이점?
웹 브라우저에서는 브라우저 엔진을 통하여 HTML, JavaScript 등의 소스코드를 기반으로 사용자에게 시각화 및 상호작용을 지원한다고 하였는데, 지원할 수 있는 행위들이 웹 브라우저 엔진에 따라 다소 차이가 있다.
아래 그림을 통해 동일한 HTML 코드도, "onsearch"라는 이벤트 핸들러를 브라우저 엔진이 지원하는지에 따라 다른 결과를 보여줌을 알 수 있다. (세상을 찾는 결과를 보여준다.)
| Chrome 브라우저 (블링크 - Blink 브라우저 엔진) | FireFox 브라우저 (게코 - Gecko 브라우저 엔진) |
![]() |
![]() |
3)웹 브라우저 분류
웹 브라우저는, 악명 높았던 Internet Explorer 외에도 최근 점유율이 높아진 Chrome을 비롯한 FireFox, Edge, 네이버에서 밀고 있는 whale(웨일) 등 다양한 웹 브라우저들이 존재한다. 이를 웹 브라우저 엔진에 따라 분류할 수 있다.
| 브라우저 엔진명 | 설명 |
| 게코 (Gecko) | 모질라 재단에서 개발하였으며, Firefox, 모질라 선더버드, 시몽키 등이 이용 |
| 블링크 (Blink) | 웹키트에서 파생되었으며, 크롬, 오페라, 웨일 등이 이용 |
| 웹키트 (Webkit) | KHTML에서 파생되었으며, 사파리에서 이용 |
| 트라이던트 (Trident) | 마이크로소프트의 Internet Explorer에서 이용 현재, IE가 주로 이용되는 브라우저는 아니나, 아직 이용 중인 곳이 생각보다 많다. |
참고로, 트래픽 분석사이트 스탯카운터에 의하면 국내 점유율은
1위 : Chrome
2위 : Safari
3위 : Samsung Internet
4위 : Whale (웨일)
순으로 브라우저 이용률이 된다. 아무래도 일반 PC 환경에서는 크롬이, macOS와 아이폰에 의해 Safari가, 삼성폰에 탑재되는 Samsung Internet이, 네이버 광고(?)에 의한 웨일인거 같다.
※ 참조 : https://gs.statcounter.com/
'기초 공부 > 웹' 카테고리의 다른 글
| [WEB] HTML / CSS / Javascript 란 ? _ 1편 HTML (0) | 2022.10.31 |
|---|---|
| [WEB] 쿠키와 세션 (Cookie &Session) (0) | 2022.10.06 |
| [WEB] HTTP Method 및 HTTP Status Code (0) | 2022.09.28 |
| [WEB] HTTP /HTTPS 이란? (0) | 2022.09.27 |
| [WEB] WEB이란? (0) | 2022.09.26 |


