1. 들어가며: 왜 소켓 통신부터 알아야 할까?스프링 부트로 웹 개발을 하다 보면 내장된 Tomcat(톰캣)이 알아서 HTTP 요청을 처리해 줍니다. 하지만 '문제를 구조적으로 이해하는 개발자'가 되기 위해, 톰캣이라는 거대한 마법 상자를 열어 그 내부를 직접 순수 Java로 구현해 보고자 합니다.웹 서버(WAS)의 본질은 결국 '클라이언트의 연결을 기다렸다가, 요청을 받고, 응답을 돌려주는 무한 반복 프로그램'입니다. 그리고 이 네트워크 통신의 가장 밑바탕이 되는 기술이 바로 소켓(Socket)입니다. 2. 소켓(Socket)이란?소켓은 프로세스 간 네트워크 통신에 사용되는 양쪽 끝단(End-point)을 의미합니다. 자바에서는 TCP 기반의 신뢰성 있는 연결을 위해 java.net 패키지를 사용합니다..