메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

종이책

밑바닥부터 시작하는 웹 브라우저

페이지 로딩부터 렌더링까지 브라우저 개발자들이 풀어 쓴 내부 원리

  • 저자파벨 판체카 , 크리스 해럴슨
  • 번역이형욱 , 최병운
  • 출간2025-09-15
  • 페이지632 쪽
  • ISBN9791169214353
  • 물류코드11435
  • 난이도
    초급 초중급 중급 중고급 고급
0점 (0명)
좋아요 : 0

웹 브라우저! 쌓고, 뜯고, 이해하라
하나씩 이해하는 웹의 작동 원리

 

크롬, 파이어폭스, 브레이브, 웨일 같은 웹 브라우저는 겉으로는 단순해 보이지만, 그 밑에는 무려 1천만 줄에 달하는 코드가 숨어 있습니다. 이 책은 웹 브라우저가 실제로 어떻게 동작하는지 그리고 그 구조와 원리가 웹 개발자와 소프트웨어 엔지니어들에게 어떤 영향을 미치는지 쉽고 명확하게 설명합니다.

 

유타 대학교 교수이자 웹 브라우저 연구자인 파벨 판체카, 구글 크롬의 렌더링 엔진 리더 크리스 해럴슨이 실제 브라우저를 설계한 풍부한 경험과 통찰을 이 책에 담았습니다. DNS와 HTTP 요청, HTML 파싱, 화면 렌더링, 인터랙션 그리고 최신 브라우저의 고급 기능까지! 각 장을 따라가며 파이썬으로 ‘나만의 브라우저’를 직접 만들어 보세요. 프로그래밍 경험이 많지 않아도 이 책을 따라 핵심 원리부터 이해한다면, 인터넷에서 웹페이지가 열리는 모든 과정을 직접 확인할 수 있습니다.

 

대상 독자

  • 서비스의 성능을 개선하려는 웹 프런트엔드 개발자
  • 네트워크와 웹 브라우저의 기본 원리를 알고 싶은 학생
  • 파이썬으로 눈에 보이는 결과물을 만들고 싶은 개발 초심자
파벨 판체카 저자

파벨 판체카

유타 대학교 컴퓨팅 학부의 교수이다. 웹페이지 레이아웃과 웹 브라우저 전반을 연구하고 있다. 2019년 워싱턴 대학교에서 컴퓨터 과학 박사 학위를 받았다.

크리스 해럴슨 저자

크리스 해럴슨

구글의 수석 소프트웨어 엔지니어로, Blink 렌더링 팀(https://www.chromium.org/teams/rendering)을 이끌고 있다. 구글 맵스의 수석 엔지니어로 활동했으며, 구글 트랜짓(https://google.com/transit)의 초기 창립 멤버였다. 2004년 UC 버클리에서 컴퓨터 과학 박사 학위를 받았다.

이형욱 역자

이형욱

네이버 웨일 팀에서 웨일 브라우저와 웨일 OS 개발 팀을 이끌고 있다. 20년 넘게 브라우저 기술 연구 및 개발 업무를 담당하고 있으며, 오픈소스 웹킷(WebKit) 커미터와 크로미움(Chromium) 컨트리뷰터로 활동하고 있다. 브라우저 렌더링 아키텍처와 관련 기술에 관심이 많다.

최병운 역자

최병운

네이버에서 10년째 웨일 개발에 참여하고 있다. 어쩌다가 브라우저 개발자가 되어 약 17년간 브라우저를 개발하고 있다. 은퇴 후 사람들과 어울리며 자유롭게 개발하며 살고 싶은 아직 40대인 파이어족 꿈나무다.

PROLOGUE 브라우저와 나

 

PART 1 페이지 로딩

 

CHAPTER 1 웹페이지 다운로드
_1.1 서버에 연결하기
_1.2 정보 요청하기
_1.3 서버의 응답
_1.4 파이썬을 통한 텔넷
_1.5 요청과 응답
_1.6 HTML 표시하기
_1.7 암호화된 연결
_1.8 요약
_1.9 연습 문제

 

CHAPTER 2 화면에 그리기
_2.1 창 만들기
_2.2 창에 그리기
_2.3 텍스트 배치하기
_2.4 텍스트 스크롤하기
_2.5 더 빠른 렌더링
_2.6 요약
_2.7 연습 문제

 

CHAPTER 3 텍스트 포맷팅하기
_3.1 폰트(서체)란?
_3.2 텍스트 측정하기
_3.3 한 단어씩 처리하기
_3.4 텍스트에 스타일 주기
_3.5 레이아웃 객체
_3.6 다양한 크기의 텍스트
_3.7 폰트 캐싱
_3.8 요약
_3.9 연습 문제

 

PART 2 문서 표시

 

CHAPTER 4 문서 트리 구축하기
_4.1 노드 트리
_4.2 트리 구축하기
_4.3 파서 디버깅하기
_4.4 셀프 클로징 태그
_4.5 노드 트리 사용하기
_4.6 페이지 오류 다루기
_4.7 요약
_4.8 연습 문제

 

CHAPTER 5 페이지 레이아웃
_5.1 레이아웃 트리
_5.2 블록 레이아웃
_5.3 크기와 위치
_5.4 재귀 페인팅
_5.5 배경 그리기
_5.6 요약
_5.7 연습 문제

 

CHAPTER 6 개발자 스타일 적용하기
_6.1 함수를 사용한 파싱
_6.2 style 어트리뷰트
_6.3 셀렉터
_6.4 스타일시트 적용하기
_6.5 캐스케이딩
_6.6 상속된 스타일
_6.7 폰트 프로퍼티
_6.8 요약
_6.9 연습 문제

 

CHAPTER 7 버튼과 링크 처리하기
_7.1 링크는 어디에 있는가?
_7.2 라인 레이아웃
_7.3 클릭 처리
_7.4 탭 브라우징
_7.5 브라우저 크롬
_7.6 히스토리 탐색
_7.7 URL 입력하기
_7.8 요약
_7.9 연습 문제

 

PART 3 애플리케이션 실행

 

CHAPTER 8 서버로 정보 보내기
_8.1 폼의 동작 방식
_8.2 위젯을 렌더링하기
_8.3 위젯과 상호작용하기
_8.4 폼을 제출하기
_8.5 웹 앱의 동작
_8.6 POST 요청 수신하기
_8.7 웹페이지 생성하기
_8.8 요약
_8.9 연습 문제

 

CHAPTER 9 대화형 스크립트 실행하기
_9.1 DukPy 설치하기
_9.2 자바스크립트 코드 실행하기
_9.3 함수 익스포트하기
_9.4 크래시 처리하기
_9.5 핸들 반환하기
_9.6 핸들 래핑
_9.7 이벤트 처리
_9.8 DOM 수정하기
_9.9 이벤트 기본값
_9.10 요약
_9.11 연습 문제

 

CHAPTER 10 사용자 데이터 보호하기
_10.1 쿠키
_10.2 로그인 시스템
_10.3 쿠키 구현하기
_10.4 교차 사이트 요청
_10.5 동일 출처 정책
_10.6 교차 사이트 요청 위조
_10.7 SameSite 쿠키
_10.8 교차 사이트 스크립팅
_10.9 콘텐츠 보안 정책
_10.10 요약
_10.11 연습 문제

 

PART 4 모던 브라우저 기능

 

CHAPTER 11 시각적 효과
_11.1 Skia와 SDL 설치하기
_11.2 SDL을 이용하여 윈도우 만들기
_11.3 서피스와 픽셀
_11.4 Skia를 이용한 래스터화
_11.5 브라우저 컴포지팅
_11.6 투명도
_11.7 블렌딩과 스태킹
_11.8 픽셀 합성
_11.9 클리핑과 마스킹
_11.10 서피스 사용 최적화하기
_11.11 요약
_11.12 연습 문제

 

CHAPTER 12 태스크와 스레드 스케줄링
_12.1 태스크와 태스크 큐
_12.2 타이머와 setTimeout
_12.3 수명이 긴 스레드
_12.4 렌더링 주기
_12.5 더티 비트를 통한 최적화
_12.6 프레임 애니메이션
_12.7 렌더링 프로파일링
_12.8 두 개의 스레드
_12.9 디스플레이 리스트 커밋하기
_12.10 스레드 프로파일링
_12.11 스레드 기반 스크롤
_12.12 스레드기반 스타일과 레이아웃
_12.13 요약
_12.14 연습 문제

 

CHAPTER 13 애니메이션과 컴포지팅
_13.1 자바스크립트 애니메이션
_13.2 GPU 가속
_13.3 컴포지팅
_13.4 컴포지팅 리프 노드
_13.5 CSS 트랜지션
_13.6 컴포지트 애니메이션
_13.7 컴포지팅 최적화
_13.8 오버랩과 트랜스폼
_13.9 요약
_13.10 연습 문제

 

CHAPTER 14 콘텐츠 접근성 향상
_14.1 접근성이란?
_14.2 확대/축소
_14.3 다크 모드
_14.4 다크 모드 커스터마이징
_14.5 키보드 내비게이션
_14.6 포커스 표시
_14.7 접근성 트리
_14.8 스크린 리더
_14.9 접근성 알림
_14.10 음성과 시각을 통한 상호작용
_14.11 요약
_14.12 연습 문제

 

CHAPTER 15 삽입된 콘텐츠 지원
_15.1 이미지
_15.2 임베디드 레이아웃
_15.3 이미지 크기 수정
_15.4 인터랙티브 위젯
_15.5 iframe 렌더링
_15.6 iframe 인풋 이벤트
_15.7 iframe 스크립트
_15.8 프레임간 통신
_15.9 격리와 타이밍
_15.10 요약
_15.11 연습 문제

 

CHAPTER 16 이전 결과 재사용
_16.1 콘텐츠 수정하기
_16.2 왜 무효화일까요?
_16.3 멱등성
_16.4 종속성
_16.5 보호된 필드
_16.6 재귀적 무효화
_16.7 width 보호하기
_16.8 인라인 엘리먼트를 위한 width
_16.9 레이아웃 필드 무효화
_16.10 인라인 레이아웃을 보호하기
_16.11 변화가 없는 업데이트 건너뛰기
_16.12 탐색 건너뛰기
_16.13 세분화한 스타일 무효화
_16.14 종속성 분석하기
_16.15 요약
_16.16 연습 문제

 

CHAPTER 17 이 책에서 다루지 않은 내용
_17.1 자바스크립트 실행
_17.2 텍스트 & 그래픽 렌더링
_17.3 커넥션 보안과 프라이버시
_17.4 네트워크 캐싱과 미디어
_17.5 더 멋진 레이아웃 모드
_17.6 브라우저 UI와 개발자 도구
_17.7 테스트

 

EPILOGUE 변화하는 환경

한 조각씩 파헤치는 웹 브라우저의 숨겨진 메커니즘


구글 크롬, 파이어폭스, 엣지... 지금 우리가 사용하는 웹 브라우저의 코드는 최소 1,000만 줄! 이 복잡하고 거대한 웹 브라우저의 '숨겨진 내부'를 직접 탐구할 기회가 찾아왔습니다. 이 책은 수많은 웹 개발자와 학생에게 여전히 미지의 영역으로 남아 있는 브라우저의 동작 원리를 명쾌하게 설명하는 독보적인 안내서입니다.
 

단순한 이론 학습에 그치지 않고, 파이썬 코드로 나만의 웹 브라우저를 직접 작성하며 밑바닥부터 살펴봅니다. 간단한 기능부터 시작해 한 조각씩 만들어 방대한 실제 웹 브라우저의 작동 원리를 꿰뚫어 볼 수 있습니다. 
 

실제 웹 브라우저 개발에 참여한 저자와 역자의 안내를 따라, 여러분만의 브라우저를 만들어 보세요.
 

이 책의 내용

  • 페이지 로딩부터 렌더링까지 웹 사이트를 표시하는 전체 과정
  • 크롬, 파이어폭스, 웨일 등 모던 브라우저의 아키텍처 이해
  • 보안 및 성능 최적화
  • 웹 표준과 소프트웨어 공학적 사고
  • 접근성 및 시각 효과

  • 첫번째 리뷰어가 되어주세요.
  • 정가 45,000원
    판매가
    10% 40,500원
    총 결제 금액 40,500원
    배송비 + 2,000원
    할인 금액 - 4,500원
    적립 예정 2,250P
    예약 판매 안내

    출고 예상일 : 2025-09-15 (출고 후 1~2일 이내 수령)

    내부 사정으로 출시가 지연될 수 있습니다.

    구매한 도서 중 예약도서가 포함되어 있을 경우, 예약도서 출고일에 함께 배송됩니다.

    리뷰쓰기

    닫기
    * 상품명 :
    밑바닥부터 시작하는 웹 브라우저
    * 제목 :
    * 별점평가
    * 내용 :

    * 리뷰 작성시 유의사항

    글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

    1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
    2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

    오탈자 등록

    닫기
    * 도서명 :
    밑바닥부터 시작하는 웹 브라우저
    * 구분 :
    * 상품 버전
    종이책 PDF ePub
    * 페이지 :
    * 위치정보 :
    * 내용 :

    도서 인증

    닫기
    도서명*
    밑바닥부터 시작하는 웹 브라우저
    구입처*
    구입일*
    부가기호*
    부가기호 안내

    * 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

    * 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

    * 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

    닫기

    해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
    장바구니로 이동하시겠습니까?