코딩하는라민

[책 리뷰] 그림과 작동 원리로 쉽게 이해하는 웹의 기초 #내돈내산 본문

책 리뷰

[책 리뷰] 그림과 작동 원리로 쉽게 이해하는 웹의 기초 #내돈내산

코딩하는라민 2023. 5. 21. 22:43
728x90
반응형

[책 리뷰] 그림과 작동 원리로 쉽게 이해하는 웹의 기초

 

 

얼마전 4개월에 걸친 부트캠프를 무사히 수료했다. 하지만 부트캠프에서는 HTML/CSS, Javascript, React 등에 대해서만 배웠고, 정작 웹의 기초는 배우지 않았다. 꼭 알아야할 웹에 대해 전혀 다루지 않고 넘어갔기 때문에 결국은 교육을 수료한 후 따로 공부해보고자 했다.

막상 마켓컬리, 당근마켓을 클론코딩했는데 내가 짠 코드가 어떤 원리로 브라우저에 렌더링되고 그려지는지 전혀 알지못했다. 아무리 프론트엔드 개발자가 눈에 보이는 페이지를 만든다고 해도, 그 브라우저에 그려지는 페이지의 기초가 담긴 웹의 개념에 대해서 모른다는 것은 있을 수 없는 일이었다!

이 책은 제목에 걸맞게 웹의 기초에 대해서 다루고 있다. 처음 웹을 접하는 사람이라도 이해할 수 있도록 쉽게 풀어서 설명했고, 오른쪽에는 해당 개념에 대한 그림까지 친절하게 넣어주었다.

 

 

웹을 개발한 사람으 팀 버너스리. 부트캠프 수업때도 살짝 언급하고 넘어갔었던 이름 '팀 버너스리'. 그는 직접 웹브라우저와 웹서버를 개발해 인터넷에 공개했다.

웹과 인터넷은 다르다. 이 둘은 각각 다른 목적으로 개발되었다. 인터넷은 컴퓨터를 네트워크로 연결하고, 이것으로 텍스트나 이미지를 공유하고자 웹이 만들어졌다.

웹에서는 클라이언트의 요청을 서버에서 응답해주게 되는데 이러한 관계들을 그림으로 표현해주니 데이터의 흐름을 이해하기 쉬웠다.

 

중간중간 읽다가 모르는 용어가 나왔는데 이 책에는 이렇게 오른쪽 페이지 하단에 관련 용어에 대한 페이지 안내가 있어서 모른는 용어가 나와도 찾아보기 쉬웠다.

책의 내용들이 엄청나게 자세하게 서술된 편은 아니라서 간단하게 면접 답변 준비용으로 좋아보였다. 내용이 너무 많아도 읽기 싫어질 수도 있는데 딱 중요한 부분만 짧게 잘 서술되어있다.

이전에는 이해하지 못해서 궁금했었던 MVC 모델. MVC. Model View Controller의 약자. MVC 모델은 Model, View, Controller 각각이 서로 연동해 애플리케이션의 처리를 수행하는 구조를 말한다.

책을 쭉 읽어보니 예전에 정보처리기사 자격증 준비했을 때 본 용어들이 많이 보였다. 그때는 내용을 이해하지 못한 채로 시험을 준비하는데만 급급해서 쉽게 잊어버리곤 했는데 이렇게 책을 읽으니 이해가 훨씬 잘 되는 것 같다. 이 책을 공부하면 정보처리기사 자격증에도 도움이 될 것 같다.

살짝 아쉬운건 책의 표지 디자인..

 

 

 

[알라딘서재]그림과 작동 원리로 쉽게 이해하는 웹의 기초

이 책은 프론트엔드 개발자가 알아야할 웹의 기초에 대해서 서술하고 있다.이 책의 제목에 맞게 한 페이지는 개념이 있고, 한 페이지에는 개념에 대한 구조가 나온 그림으로 구성되어 있...

blog.aladin.co.kr

이 책의 목차
더보기

1장: 서버란

1-01 서버란 - 이름의 의미에서 역할을 알 수 있다
1-02 클라이언트/서버 시스템 - 서비스를 요청하는 측과 서비스를 제공하는 측
1-03 다양한 서버 - 네트워크로 전달되는 서비스의 수만큼 존재한다
1-04 서버 소프트웨어 - 소프트웨어가 제공하는 기능이 서버 그 자체
1-05 구축할 서버의 종류와 서버 소프트웨어 선정 - 사용자나 시스템의 요구를 명확하게 하는 것에서 시작한다
1-06 서버 운용 기간 - 시스템의 수명 중 가장 긴 단계
1-07 서버와 네트워크 - 클라이언트와 서버가 데이터를 전달하는 대전제

2장: 네트워크 기초 지식

2-01 네트워크 기술을 이해하자 - 먼저 데이터를 전달하는 근간 기술부터 이해하자
2-02 프로토콜이란 - 정해진 규칙을 지킴으로써 통신이 가능해진다
2-03 OSI 참조 모델 - 컴퓨터의 통신 기능을 7개의 층으로 나눈 것
2-04 이더넷과 MAC 주소 - 레이어 1과 레이어 2의 프로토콜에 관해서는 이것만 기억하자
2-05 스위칭 - 이더넷에서의 데이터 전달
2-06 IP와 IP 주소 - 현재의 네트워크를 지탱하는 핵심 프로토콜
2-07 다양한 IP 주소 - 어디부터 어디까지, 어떻게 사용해야 하는가는 정해져 있다
2-08 라우팅 - IP 주소에 기반해 목적지로 패킷을 전송한다
2-09 ARP - 수신지의 MAC 주소를 알기 위한 구조
2-10 TCP와 UDP - 트랜스포트층의 프로토콜에는 이 두 가지 중 하나를 사용한다
2-11 포트 번호 사용 방법 - 컴퓨터의 특정 애플리케이션에 데이터를 전달하는 구조
2-12 NAT와 NAPT - LAN과 인터넷을 연결하는 기기에서 IP 주소를 변환한다

3장: 서버를 준비한다

3-01 어떤 서버를 사용할지 선택한다 - ‘어디에’, ‘어떤’이라는 관점부터 생각한다
3-02 온프레미스 타입과 클라우드 타입 - 자사에서 설비를 보유하는가, 외부에 맡기는가?
3-03 클라우드 서비스의 종류 - 용도와 목적에 따라 클라우드 서비스를 구분해서 사용한다
3-04 자사인가 데이터 센터인가 - 자사 운용 시 서버의 설치 장소
3-05 서버를 가상화할 것인가 - 가상화의 장점과 단점을 알자
3-06 가상화 소프트웨어의 종류 - 하드웨어 위에서 작동하는 것과 OS 위에서 작동하는 것
3-07 서버 컨테이너화 - 컨테이너 타입의 가상화로 서버의 처리를 격리한다
3-08 서버의 함체 형태를 선택한다 - 타워형, 랙마운트형, 블레이드형?
3-09 서버를 구성하는 컴포넌트 - 가격, 처리 능력, 신뢰성을 고려한다
3-10 리눅스 계열 서버 OS와 윈도우 계열 서버 OS - 리눅스 서버인가, 윈도우 서버인가
3-11 어플라이언스 서버 - 특정 서비스만 제공하는 가벼운 선택지
3-12 가상 어플라이언스 서버 - 가상화의 장점을 활용할 것인가, 성능을 우선할 것인가

4장: 사내 서버 기본

4-01 사내 서버 배치 - 사내 클라이언트에 서비스를 제공한다
4-02 DHCP 서버의 역할 - LAN 안의 PC의 네트워크 설정을 자동화한다
4-03 DNS 서버의 역할 - IP 주소와 도메인명을 상호 변환하는 구조
4-04 DNS 서버 다중화 - 웹서버로의 연결을 보장하기 위해 반드시 필요하다
4-05 작업 그룹과 액티브 디렉터리 도메인 - 윈도우의 네트워크에서는 이중 어딘가에 소속된다
4-06 액티브 디렉터리 도메인을 구성하는 장점 - 윈도우 네트워크 환경을 가진 많은 기업들이 도입하는 이유
4-07 파일 서버의 역할 - 다양한 파일을 모아서, 효율적으로 공유한다
4-08 SSO 서버의 역할 - 비밀번호 관리의 고민을 시스템으로 해결한다
4-09 SIP 서버의 역할 - IP 전화 시스템에서 통신 상대를 특정하거나 호출한다
4-10 프락시 서버의 역할 - 클라이언트의 대리로서 웹사이트와 통신한다
4-11 송신 메일 서버의 역할 - 전자 메일을 수신지 사용자가 이용하는 서버까지 보낸다
4-12 수신 메일 서버의 역할 - 서버에 보관하고 있는 메일을 사용자에게 전달한다
4-13 Microsoft Exchange Server의 역할 - 메일 서비스, 그룹웨어 서비스를 제공한다

5장: 공개 서버 기본

5-01 공개 서버 배치 - 인터넷상의 클라이언트에 서비스를 제공한다
5-02 온프레미스 환경의 서버를 공개한다 - 공개까지의 6단계
5-03 클라우드 환경의 서버를 공개한다 - 공개까지의 7단계
5-04 웹의 3계층 모델 - 웹사이트는 3가지 서버로 구성된다
5-05 HTTP 서버의 역할 - 인터넷에서 다양한 정보를 전송한다
5-06 HTTPS 서버의 역할 - 정보의 ‘도청’, ‘변조’, ‘위장’을 방지한다
5-07 두 가지 암호화 기술 - SSL/TLS에서는 두 가지를 조합해 사용한다
5-08 SSL/TLS로 연결이 되기까지 - 디지털 인증서, 인증국, 암호화 기술의 관계
5-09 애플리케이션 서버의 역할 - 동적 페이지를 생성하는 웹서비스 시스템의 중심에서 작동한다
5-10 데이터베이스 서버의 역할 - 동적인 웹 콘텐츠 데이터를 관리한다
5-11 CDN의 역할 - 안정적이고 빠르게 웹서비스를 제공한다
5-12 FTP 서버의 역할 - 파일 배포나 업로드 구조를 제공한다
5-13 VPN 서버의 역할 - 인터넷을 통한 안전한 통신을 실현한다

6장: 서버를 장애로부터 지킨다

6-01 서버와 장애는 소꿉친구 - 장애 대응을 위한 다양한 기술
6-02 RAID - 스토리지 드라이브의 고속화와 데이터 보호를 실현한다
6-03 티밍 - 서버의 통신 내장애성 향상과 대역 확장을 실현한다
6-04 UPS - 전원 장애로부터 서버를 보호한다
6-05 클러스터 - 여러 대의 서버로 장애에 대비한다
6-06 서버 부하 분산 기술 - 여러 서버에 통신을 분배하는 방법들
6-07 광역 부하 분산 기술 - 지리적으로 멀리 떨어진 곳에 서버를 분산해 재해에 대비한다

7장: 서버 보안

7-01 인터넷에 숨은 위협과 취약성 - 보안 리스크를 올바르게 인식하자
7-02 방화벽으로 서버를 보호한다 - 인터넷으로부터의 위협에 대항한다
7-03 방화벽 선정 방법 - 필요한 기능, 비용, 운용 관리 능력을 고려한다
7-04 보안 영역과 서버 배치 - 외부 공개 여부에 따라 배치 위치가 달라진다
7-05 IDS와 IPS - 서버로의 부정 침입을 감지하거나 방어한다
7-06 차세대 방화벽 - 보안 기능을 높여 관리자에게 도움되는 기능도 제공한다
7-07 웹 애플리케이션 방화벽 - 웹서비스를 노리는 다양한 공격을 물리친다
7-08 메일 보안 대책 - 메일 내용까지 포함해 제어할 수 있다

8장: 서버 운용 관리

8-01 서버 운용 관리에서 수행하는 작업 - 관리자는 어떤 일들을 해야 하는가
8-02 서버 원격 관리 - 온프레미스, 클라우드 대부분 동일하다
8-03 업데이트 프로그램 설치 - 서버 OS 업데이트는 신중하게 수행한다
8-04 업데이트 프로그램 전송 관리 - Windows Update 대체 서버를 사내에 준비한다
8-05 백업과 복원 - 서버의 데이터 소실에 대비한다
8-06 명령어로 네트워크 상태를 확인한다 - 관리에 사용하는 단골 명령어를 기억하자
8-07 명령어로 장애를 확인한다 - 네트워크의 어느 부분에 장애가 발생했는지 밝힌다
8-08 NTP 서버의 역할 - 서버와 네트워크 기기의 시계를 맞춘다
8-09 Syslog 서버의 역할 - 서버나 네트워크 기기의 로그를 수집한다
8-10 SNMP 서버의 역할 - 서버와 네트워크 기기의 정보를 얻고 설정한다

 

 

728x90
반응형