기본 개념

브라우저란

joungdev 2025. 1. 8. 15:54

브라우저

 브라우저는 웹을 이용하기 위해 사용되는 응용 소프트웨어이다.


브라우저란 무엇일까?

 사용자가 어떤 페이지 요소를 클릭해서 리소스를 서버측에 요청할 수 있도록 해주고 응답으로 받아온 리소스를 브라우저에 표시하는 것이 브라우저의 메인 기능이다. 리소스는 보통 HTML 이지만 PDF나 이미지 혹은 동영상의 형태이기도 하다. 리소스는 리소스마다 고유한 주소를 가지게 되는데, 과거 URL이라고 불렀던 URI(Uniform Resource Identifier)에 의해 정해진다.

 

 브라우저는 HTML과 CSS에 적혀진 그대로 HTML을 번역해서 뿌려주게 되는데, 이 세부 내용은 W3C(World Wide Web Sonsortium)에서 결정한다. 여기에서 말하는 표준은 HTML, CSS, JavaScript, DOM 등의 표준 규격을 정의해, 모든 브라우저와 플랫폼에서 일관성 있게 웹 페이지를 표시하고 동작하도록 규정한 것이다. 과거에는 사람마다 형식이나 양식에 대해서 자유로워 호환성 문제에서 큰 문제가 있었지만 현재는 이것이 표준 규약으로 굳어졌다.

 

 브라우저마다 사용자 인터페이스는 거의 비슷하다. 어떤 브라우저를 사용하던지간에 어려움 없이 사용할 수 있는 이유다.

  • URI를 입력하는 줄
  • 이전 페이지, 다음 페이지
  • 북마크 기능
  • 홈 버튼
  • etc...

 그 외에도 요즘에는 Extension이 부지기수로 쏟아져 나오고 있지만, 가장 기본적이고 중심적인 기능은 이것들이고 대부분의 UI들이 비슷하게 구성되어 있어 중간에 다른 브라우저를 사용한다고 해서 어렵지 않게 사용할 수 있다.


브라우저의 기본 구조

1. 사용자 인터 페이스 (User Interface)

    위에서 적어 두었던 것들이 바로 UI이다.

 

2. 브라우저 엔진

    사용자 인터페이스와 렌더링 엔진 사이의 동작을 제어한다. 브라우저 엔진은 명령을 해석하고 렌더링 엔진으로 전달하며, 사용자와 렌더링 엔진 간의 소통을 관리한다.

 

3. 렌더링 엔진

    요청한 리소스를 표시하는 역할을 한다. HTML을 요청하면 HTML과 CSS를 파싱해여 DOM(Document Object Model)과 CSSOM(CSS Object Model)을 생성한 뒤, 이를 기반으로 화면에 웹 페이지를 그린다. 렌더링 엔진은 HTML뿐만 아니라 SVG, XML 등 다른 리소스도 처리할 수 있다.

 

4. 통신

    HTTP(S) 요청 및 응답 처리같은 네트워크 호출에 사용된다. 이건 플랫폼 독립적인 인터페이스이고 각 플랫폼의 하부에서 실행된다. TCP/IP, DNS 요청 등을 관리한다.

 

5. UI 백엔드

    콤보박스와 창 같은 기본적인 장치를 그린다. 플랫폼에서 명시하지 않은 일반적인 인터페이스로서 OS 사용자 인터페이스 체계를 가져와 그린다. (Mac 유저와, Windows 유자가 스크롤 바, 콤보박스, 인풋 같은 것들이 다르게 그려지는 이유다.)

 

6. 자바스크립트 해석기

    스크립트 코드를 해석하고 실행시킨다.

 

7. 자료 저장소

    이 부분은 자료를 저장하는 계층이다. 쿠키를 저장하는 것이나 모든 종류의 리소스를 하드디스크에 저장할 필요가 있다. 과거 HTML5 명세에는 웹 데이터 베이스가 정의되어 있었지만, 현재는 IndexedDB나 Web Strage APi로 대체되었다.

 

브라우저의 기본 구조

 

반응형

'기본 개념' 카테고리의 다른 글

빌드(Build)란 - 컴파일에서 실행까지  (1) 2025.01.17
링크(Link), 링킹(Linking)이란  (0) 2025.01.14
컴파일(Complie) 이란  (0) 2025.01.13
파싱(Parsing) 이란  (0) 2025.01.09