Web Browser   웹 브라우저

(2024-11-22)

웹 클라이언트


1.  브라우저HTTP를 이용하여 하이퍼텍스트 문서를 검색하고, 이를 보여주는 프로그램
     - 즉, 에서 사용자 인터페이스(정보 검색, 표시, 상호작용 등)를 제공하는 프로그램
        . 또한, 단순한 정보 제공 도구를 넘어, 현대 디지털 생태계의 중심적인 역할 수행

  ※ 여기서, 브라우저가 상징하는 요소는,  (로터스사 사장 재프 패포우즈, Jeff Papows)
     - "PC 내부를 들여다보는 기존의 시각 틀에서,
        PC 밖으로의, 즉 외부 네트워크를 향해 나아가 보려는 시각의 변화이다."
     * (시각적 패러다임의 전환)


2. 수용 언어 및 기능언어측면  :  HTML (콘텐츠 구조화 언어), CSS (디자인 및 스타일링 언어),
                  Java Script (사용자 인터페이스의 동적 제어, 상호작용), VRML (3D 가상 세계) 등
  ㅇ 부가기능  :  이메일 클라이언트, News 읽기 및 구독, 실시간 채팅과 메시징 지원 등


3.  브라우저 내의 구동 엔진랜더링 엔진 
     - HTML,CSS를 한줄씩 순차 파싱하며, DOM,CSSOM을 생성하는 등
     - 例) Blink (Chrome, Edge), WebKit (Safari), Gecko (Firefox) 등
  ㅇ 자바스크립트 엔진
     - 자바스크립트 코드파싱하고, 추상적 구문 트리를 생성하고, 
       이를 기반으로 실행가능 중간 코드바이트코드를 생성 실행하게 됨
     - 이때, 자바스크립트 언어 규격인 ECMAScript 규격을 준수하게됨
     - 例) 파이어폭스 : SpiderMonkey, 인터넷 익스플로러,엣지 : Chakra, 사파리 : JavaScriptCore,
           구글 크롬, Node.js : V8 등
  ㅇ Web APIMDN Web API 목록 참조
     - DOM API (HTML 문서 구조 조작), WebGL API (그래픽 렌더링), WebRTC API (실시간 통신 지원) 등
  ㅇ JVM 엔진
     - 자바 기반 애플릿이나 기타 Java 관련 코드를 실행하기 위해 필요한 엔진
  ㅇ 기타 플러그-인 모듈 : ActiveX 콘트롤, VRML 등
     - (단, 현대 브라우저에서는 보안 문제로 플러그인 의존도가 감소하는 추세임)


4.  브라우저의 특징이벤트 기반 구조
     - 웹 문서,브라우저,요소,객체 등에서 어떤 흥미로운 일이 일어났음을 알리는 이벤트 발생
     - 이는 GUI 어플리케이션의 주요 특징이기도 함

  ㅇ 코드 실행 결과의 검증 등을 위한  콘솔 지원 등
     -  개발자 도구(DevTools)를 통해 제공되며, 
     - JavaScript 실행 결과 확인, DOM 검사, 네트워크 요청 추적, 오류 디버깅 가능 등

  ㅇ 다중 스레딩 및 비동기 처리
     - 특히, 현대 브라우저는 HTML 파싱, CSS 처리, 자바스크립트 실행 등을 별도의 스레드에서 처리
     - 따라서, 병렬성을 극대화

  ㅇ  보안 및 개인정보 보호, 데이터 관리 강화
     - HTTPS 지원 및 브라우저별 보안 정책(Same-Origin Policy, CSP 등) 적용
     - 쿠키, 세션 스토리지, 로컬 스토리지 등을 통해 사용자 데이터 관리 등

  ㅇ 확장성과 표준 준수
     - 확장성 : 확장 프로그램(Extensions)을 통해 기능 추가 가능
     - 표준 준수 : W3C, WHATWG 등에서 정의한  표준 준수

[웹 구성 ⇩]1. 웹 브라우저   2. 웹 서버   3. 웹 페이지   4. HTTP   5. CGI   6. Apache 웹서버 설정  

  1. Top (분류 펼침)      :     1,591개 분류    6,513건 해설

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]       편집·운영 (차재복)          편집 후원          편집 이력 (금일 3건)