iBetter Books
수정

실전 프로토콜 구현

지금까지 우리는 소켓으로 바이트를 주고받는 법을 익혔습니다. 하지만 바이트를 흘려보내는 것과 의미 있는 대화를 나누는 것은 다릅니다. 두 프로그램이 제대로 소통하려면 약속이 필요합니다. 어디까지가 한 메시지인지, 무엇이 명령이고 무엇이 데이터인지, 어떤 순서로 주고받을지를 정해야 합니다. 이 약속이 바로 프로토콜입니다.

이 PART에서는 프로토콜을 설계한다는 것이 무엇인지부터 차근차근 배웁니다. 메시지의 경계를 짓는 법, 상태를 다루는 법, 형식을 정하는 법을 익힌 뒤, 그 원리로 우리만의 채팅 프로토콜을 직접 설계합니다. 이어서 세상에서 가장 널리 쓰이는 프로토콜인 HTTP를 직접 구현해, 우리가 만든 소켓 서버가 웹 브라우저와 대화하게 만듭니다. 그리고 PART 04의 동시성을 결합해 여러 사람이 동시에 접속하는 웹 서버로 완성합니다. 마지막으로 이 모든 통신이 실제로 어떻게 흐르는지를 진단 도구로 들여다봅니다.

이 PART를 마치면 단순히 소켓을 다루는 사람을 넘어, 통신의 규칙을 직접 설계하고 표준 프로토콜을 구현할 수 있는 사람이 됩니다.