Skip to content

Latest commit

 

History

History

chapter4

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

4. HTTP 웹 서버 구현을 통해 HTTP 이해하기

4.1 동영상을 활용한 HTTP 웹 서버 실습

4.2 HTTP 웹 서버 구현

이클립스 또는 터미널에서 브랜치를 변경하는 방법은 https://youtu.be/VeTjDYl7UVs 동영상을 참고해 변경할 수 있다. 브랜치를 변경할 때 에러가 발생하는 대부분의 경우는 현재 브랜치에서 소스 코드를 변경한 후 변경된 내용을 커밋(commit)을 하지 않아 발생한다. 브랜치를 변경하기 전에 먼저 커밋을 진행한 후 브랜치를 변경할 것을 추천한다.

4.3 추가 학습 자료

정말 먼 길을 돌고 돌아 HTTP와 네트워크를 학습할 수 있는 계기가 생겼다. 특별히 관심을 가지지 않으면 학습할 기회가 많지 않다. 하지만 웹 개발자가 한 단계 더 도약하기 위해 반드시 학습해야할 내용이 HTTP와 네트워크이다.

4.3.1 HTTP

HTTP 학습은 예상보다 지루하고 재미없다. 책을 통해 HTTP 요청 헤더와 응답 헤더 전체를 하나씩 학습하는 것이 싫다면 먼저 HTTP (HyperText Transfer Protocol) 문서에 있는 내용만이라도 학습하자. 이 장의 실습을 충실히 진행했다면 이 문서에 있는 대부분의 용어들에 대해 이해할 수 있을 것이다.

웹 애플리케이션 개발을 처음 시작할 때 생소한 용어들이 많이 등장한다. 새롭게 등장하는 용어들 때문에 강의를 듣고, 책을 읽는 것에 어려움을 느낀다. 이는 결국 학습을 포기하는 이유 중의 하나가 된다. 아직까지 웹 개발 용어에 친숙하지 않다면 프로가 되기 위한 웹 기술 입문(고모리 유스케 저/김정환 역, 위키북스/2012) 책을 읽어볼 것을 추천한다. 웹 개발을 위한 기본 용어와 HTTP에 대한 내용은 이 책의 3장까지만 읽으면 된다. 책을 반드시 처음부터 끝까지 읽어야 한다는 선입견을 버리자.

이 장은 HTTP에 대한 기본만 설명하고 있다. HTTP 전반에 대해 더 깊이 있게 학습하고 싶다면 먼저 HTTP & Network : 그림으로 배우는 책으로 학습(우에노 센 저/이병억 역, 영진닷컴/2015) 책을 추천하고 싶다.

이 책을 통해 HTTP에 대한 기본적인 역량을 쌓았다면 다음 단계로 읽을 책은 HTTP 완벽 가이드(데이빗 고울리,브라이언 토티,마조리 세이어,세일루 레디,안슈 아가왈 공저/이응준,정상일 공역, 인사이트(insight)/2014) 책이다. 다음 단계로 읽을 책이 “HTTP 완벽 가이드”라는 뜻이지 두 번째 양파 껍질 단계에서 읽은 책은 아니다. “HTTP & Network : 그림으로 배우는 책으로 학습” 책 수준이면 충분하다. “HTTP 완벽 가이드” 책은 HTTP의 끝판왕 수준이므로 경력을 쌓아가면서 천천히 읽어도 괜찮다. “HTTP 완벽 가이드” 책은 HTTP의 바이블과 같은 책으로 처음부터 끝까지 읽기 쉽지 않다. 가능하면 혼자 읽기 보다는 책 읽기 스터디를 만들어 읽고 토론할 것을 추천한다. 나 또한 스터디를 통해 이 책을 끝까지 읽었다.

4.3.2 네트워크

HTTP 다음 단계로 학습할 내용은 클라이언트와 서버 간에 데이터를 주고 받는 과정에 대해서이다. 클라이언트에서 보낸 데이터가 어떻게 서버까지 전달되며, 서버에서 전달된 데이터가 어떤 과정으로 클라이언트까지 전달되는지 알아야 한다. 이는 네트워크에 대해 학습함으로써 알 수 있다.

클라이언트에서 요청한 데이터가 서버까지, 서버에서 응답한 데이터가 클라이언트까지 어떤 여행 과정을 거치는지에 대해 학습하고 싶다면 성공과 실패를 결정하는 1%의 네트워크 원리(Tsutomu Tone 저/이도희 역/이중호 감역, 성안당/2015) 책을 추천한다. 이 책은 기존의 다른 네트워크 책들과 달리 전체 과정을 쉽게 풀어 설명하고 있어 초보자가 읽기에 그나마 적합한 네트워크 책이다. 웹 개발자가 이 책의 모든 내용을 상세하게 이해할 필요는 없다고 생각한다. 브라우저를 통해 전달된 데이터가 서버까지 어떻게 전달되고, 서버에서 보낸 응답 데이터가 브라우저까지 전달되는 흐름을 이해해도 충분하다.

네트워크와 관련해서는 이 정도 수준으로 학습한 후 추후 자신이 담당할 업무가 네트워크와 더 밀접한 관련이 있는 시점에 추가적인 학습을 해도 괜찮다. 이는 네트워크에 대한 학습 뿐 아니라 모든 영역의 학습에 있어서도 같은 전략으로 접근하는 것도 가능하다.


Table of Contents

1부. 첫 번째 양파 껍질

3부. 세 번째 양파 껍질