본문 바로가기

기초 공부/웹

[WEB] 웹 브라우저란?

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