2 분 소요

추상적인 컴퓨터를 이해하기 위한 가상 머신

웹 브라우저

웹 브라우저는 웹 문서나 파일을 받아서 보여주는 프로그램이다. 웹 브라우저는 HTML, CSS, 자바스크립트 등의 언어를 해석하고, DOM, SVG 등의 기술을 사용한다. 웹 브라우저는 URL로 웹 문서나 파일의 위치를 알고, HTTP, HTTPS 등의 프로토콜로 웹 서버와 통신한다.

1. 마크업 언어

마크업 언어는 텍스트에 태그나 기호를 사용하여 데이터의 구조나 의미를 표시하는 언어이다. 마크업 언어는 웹 문서의 내용과 표현을 분리하고, 다양한 플랫폼에서 호환되고, 쉽게 작성하고 해석할 수 있다. 마크업 언어의 종류에는 HTML, XML, SGML, XHTML, Markdown 등이 있다.

2. 균일 자원 위치 지정자

균일 자원 위치 지정자(URL)은 인터넷 상의 자원의 위치를 표현하는 문자열이다. URL은 스킴, 호스트, 포트, 경로, 쿼리, 프래그먼트 등의 구성 요소로 이루어져 있다. URL은 웹 브라우저가 웹 문서나 파일을 요청할 때 사용되며, 웹 문서 간의 하이퍼링크를 생성할 때 사용된다.

3. HTML 문서

HTML 문서는 웹 문서의 내용과 구조를 표현하는 마크업 언어이다. HTML 문서는 DOCTYPE, HTML, HEAD, BODY 등의 요소로 구성되며, 각 요소는 시작 태그와 종료 태그로 묶인 텍스트나 다른 요소를 포함한다. HTML 문서는 웹 브라우저가 해석하고 출력하며, CSS나 자바스크립트와 함께 사용할 수 있다.

4. DOM: 문서 객체 모델

DOM은 웹 문서를 객체의 트리 형태로 표현하고 조작하는 인터페이스이다. DOM은 웹 문서의 구조와 내용을 동적으로 변경하거나, 이벤트를 처리하거나, 스타일을 적용할 수 있다.

4-1. 트리 관련 용어

트리는 노드와 간선으로 이루어진 계층적인 자료구조이다. 트리에서 루트는 최상위 노드이고, 잎은 자식이 없는 노드이다. 트리에서 부모는 자식을 가지는 노드이고, 자식은 부모로부터 연결된 노드이다. 트리에서 형제는 같은 부모를 가지는 노드이다. 트리에서 조상은 루트로부터 연결된 노드이고, 자손은 조상으로부터 연결된 노드이다. 트리에서 깊이는 루트로부터 노드까지의 거리이고, 높이는 노드로부터 잎까지의 최대 거리이다.

4-2. DOM 처리

DOM 처리는 DOM을 사용하여 웹 문서를 조작하는 과정이다. DOM 처리는 DOM을 생성하고, 탐색하고, 수정하고, 삭제하고, 이벤트를 처리하는 등의 작업을 수행한다. DOM 처리는 자바스크립트나 jQuery 등의 언어나 라이브러리를 사용하여 수행할 수 있다.

5. CSS

CSS는 웹 문서의 스타일을 정의하고 적용하는 언어이다. CSS는 셀렉터와 선언으로 이루어진 규칙으로 구성되며, 각 선언은 속성과 값으로 구성된다. CSS는 웹 문서의 표현과 내용을 분리하고, 다양한 미디어에 맞게 적응하고, 재사용하고, 유지보수할 수 있다.

6. XML 등의 마크업 언어

XML은 데이터의 구조와 의미를 표현하는 마크업 언어이다. XML은 HTML과 유사하게 태그를 사용하지만, 태그의 이름과 구조를 임의로 정의할 수 있다. XML은 데이터의 교환과 저장에 사용되며, 다양한 응용 분야에 적용될 수 있다. XML의 종류에는 XHTML, SVG, RSS, MathML 등이 있다.

7. 자바스크립트

자바스크립트는 웹 문서의 동작을 정의하고 실행하는 스크립트 언어이다. 자바스크립트는 웹 브라우저에서 해석하고 실행되며, DOM이나 BOM 등의 객체에 접근하고 조작할 수 있다. 자바스크립트는 변수, 연산자, 제어문, 함수, 객체, 배열, 문자열 등의 기본 요소를 가지고 있다.

8. jQuery

jQuery는 자바스크립트를 간편하고 효율적으로 사용할 수 있도록 도와주는 라이브러리이다. jQuery는 DOM의 탐색과 조작, 이벤트의 처리, 애니메이션의 적용, AJAX의 수행 등의 기능을 제공한다. jQuery는 $ 기호로 시작하는 간결하고 직관적인 문법을 사용한다.

9. SVG

SVG는 벡터 그래픽을 표현하는 마크업 언어이다. SVG는 XML의 형식을 따르며, 도형, 텍스트, 이미지, 필터, 애니메이션 등의 요소를 사용할 수 있다. SVG는 해상도에 영향을 받지 않고, 확대하거나 축소하거나 변형할 수 있다. SVG는 웹 문서에 직접 삽입하거나, 외부 파일로 참조하거나, 자바스크립트나 CSS로 조작할 수 있다.

10. HTML5

HTML5는 웹 문서의 최신 표준이다. HTML5는 HTML, CSS, 자바스크립트의 기능과 호환성을 향상시키고, 새로운 요소와 속성, API를 추가하였다. HTML5는 시맨틱, 멀티미디어, 그래픽, 오프라인, 장치 접근, 통신, 성능, 보안 등의 분야에서 새로운 기술을 제공한다.

11. JSON

JSON은 데이터의 교환과 저장에 사용되는 경량의 텍스트 형식이다. JSON은 자바스크립트의 객체 리터럴과 유사하게 키와 값의 쌍으로 이루어진 객체와, 값의 배열로 이루어진 배열로 구성된다. JSON은 XML보다 간결하고 빠르며, 다양한 언어와 플랫폼에서 지원된다.

출처

(1) 웹 브라우저 - 위키백과, 우리 모두의 백과사전.
(2) 웹 브라우저란 무엇을 말하는 건가요?(크롬, 익스플로러 등).