이 책은 웹의 근간을 이루는 HTTP를 중심으로 하여 웹, 인터넷 데이터 통신 분야의 기초가 되는 내용들을 다루고 있습니다. 관련 분야를 배우고자 하는 독자들을 위해 만화 캐릭터와 일러스트를 활용하여 난이도가 있는 내용들도 부담 없이 쉽게 보고 익힐 수 있도록 구성하였습니다.
초반부에는 인터넷의 역사부터 시작해 인터넷을 하면서 자주 보게 되는 프로토콜인 TCP/IP를 비롯해 여러 프로토콜에 대해 설명하고 있습니다. 이 부분은 특히 컴퓨터&정보통신 관련 학과(학부)에서 가르치는 전공 과목 중 데이터 통신 혹은 네트워크 관련 과목에서 중요하게 다루는 부분입니다.
중반부에서는 본격적으로 HTTP에 대한 내용들을 다루고 있습니다. 상태 코드(스테이터스 코드), 리퀘스트&리스폰스 헤더를 비롯해 프록시, 게이트웨이, 터널 등등에 대한 내용들을 다루고 있습니다. 그리고 HTTPS를 소개하면서 서서히 보안 관련 부분으로 접어들게 됩니다.
후반부에서는 우리가 인터넷 뱅킹을 이용할 때 자주 보는 인증, HTTPS 등등 HTTP에 기능을 추가한 프로토콜에 대한 내용을 소개합니다. 그리고 HTML, CSS, 다이나믹 HTML 등등 과 웹 콘텐츠를 제작할 때 사용할 수 있는 기술들에 대한 내용들을 간략하게 다루고 있으며 마지막에는 웹 공격 기술에 대한 내용도 소개하고 있습니다.
■ 출판사 리뷰 웹을 지탱하는 HTTP, 그리고 인터넷 세계 그림으로 재미있게 배워보자!
최근 국내 IT 대기업을 시작으로 SW 개발 분야 및 프로그래머를 채용할 때 즉석에서 주어진 문제 해결 능력을 테스트하는 프로그래밍 면접, 이른 바 코딩 인터뷰(Coding Interview)를 도입하는 사례가 늘어나기 시작했습니다. 지원자들이 숨겨진 실력을 직접 눈으로 확인하고자 하기 위함이기도 합니다. 이렇게 코딩 인터뷰는 IT 분야로 진출하기 위해 나를 시험하는 장벽이지만 나의 실력을 보여주고 되돌아보면서 실력을 키울 수 있는 기회이기도 합니다.
이 책은 코딩 인터뷰를 대비하기 위해 자료구조와 알고리즘 분야에서 중요하게 다뤄지거나 자주 출제되는 문제들을 폭넓고 다양하게 다루고 있습니다. 하지만 코딩 인터뷰에만 국한하지 않고 IT 기술 면접은 물론 프로그래밍 경시대회까지 IT 분야로 진출하고자 하는 독자들이 테스트라는 장벽과 맞딱뜨렸을 때 효과적인 해결법을 제시할 수 있도록 도움을 주기 위함이 이 책이 태어난 이유입니다. 이 책에서 다루는 모든 주제를 이해하려면 정독해보는 걸 추천하는데 언제든지 참조하고 싶은 부분이나 보고싶은 챕터로 찾아 볼 수 있습니다.
IT 취업 준비생들 뿐만 아니라 코딩 인터뷰를 도입하려는 IT 인사팀, 알고리즘 문제 해결 능력을 키우고 싶거나 좀 더 효과적인 해결 방안을 찾고자 하는 현업 프로그래머나 학생들도 이 책이 길잡이가 될 것입니다.
제 1장 웹과 네트워크의 기본에 대해 알아보자
이 장에서는 웹(Web)이라는 세계가 어떤 기술로 구성되어 있는지, 그리고 HTTP는 어떻게 탄생했고 성장해 왔는가에 대해서 배워봅니다. 이러한 배경들을 알게 됨으로써 보다 한층 이해가 깊어질 것입니다.
제 2장. 간단한 프로토콜 HTTP
이 장에서는 HTTP 프로토콜의 구조에 대해 설명합니다. 이번 장을 공부하고 나면 HTTP의 기본에 대해 이해할 수 있을 것입니다. 여기서 다루는 HTTP는 HTTP/1.1을 주로 다루게 됩니다.
제 3장. HTTP 정보는 HTTP 메시지에 있다
HTTP 통신에는 클라이언트에서 서버로 보내는 리퀘스트와 서버에서 클라이언트로 보내는 리스폰스가 있습니다. 이번 장에서는 이 리퀘스트와 리스폰스가 어떻게 동작하는지 살펴봅니다.
제 4장. 결과를 전달하는 HTTP 상태 코드
클라이언트가 HTTP 리퀘스트를 보낸 결과, 즉 서버가 정상적으로 처리되었는지 아니면 에러가 발생했는지를 알려주는게 바로 HTTP 상태 코드(스테이터스 코드)입니다. 이번 장을 통해 상태 코드의 역할을 확실히 이해해봅시다.
제 5장 HTTP와 연계하는 웹 서버
이 장에서는 HTTP와 연계하는 웹 서버에 대해 배웁니다. 웹 서버는 1대의 서버에서 멀티 도메인으로 웹 사이트를 실행하거나 중계 서버를 두어 통신 중에 효율을 올릴 수 있습니다.
제 6장 HTTP 헤더
웹 사이트를 이용할 때 평소에는 볼 수 없지만 HTTP의 리퀘스트와 리스폰스에는 반드시 HTTP 헤더가 포함되어 있습니다. 이번 장에서는 이러한 HTTP 헤더 구조와 각 헤더 필드의 역할에 대해 살펴봅니다.
제 7장 웹을 안전하게 하는 HTTPS
HTTP 프로토콜은 도청이나 위장당하는 보안적인 문제가 발생할 가능성이 있습니다. 이번 장에서는 보안적인 문제를 방지해주는 HTTPS 구조에 대해 설명합니다.
제 8장 누가 액세스하고 있는지를 확인하는 인증
웹에는 특정 인물에게만 보여주고 싶은 페이지나 자기 자신의 전용 페이지 등이 필요하게 되는 일이 있습니다. 그러기 위해서 필요한 기능이 인증입니다. 이번 장에서는 인증의 구조에 대해 설명합니다.
제 9장 HTTP에 기능을 추가한 프로토콜
HTTP라는 프로토콜은 심플하고 쓰기 편하지만 시간이 흐르면서 기능이 부족하다고 느끼는 상황도 생겨났습니다. 그래서 이번 장에서는 HTTP를 기반으로 해서 새로운 기능을 추가한 프로토콜에 대해 설명합니다.
제 10장 웹 콘텐츠에서 사용하는 기술
웹이 막 등장한 초기 무렵에는 심플한 콘텐츠만 있었지만, 현재 웹의 세계에는 다양한 콘텐츠를 송신하기 위해서 여러 가지 기술이 사용되고 있습니다.
제 11장 웹 공격 기술
이번 장은 해킹과 보안과 관련된 이야기를 다루고 있습니다. 인터넷 상에서 벌어지는 공격의 대부분은 웹 사이트를 노린 것입니다. 그래서 여기서는 웹 사이트 공격에는 어떤 종류가 있고 어떤 영향을 미치는지에 대해 설명합니다.