실제로 소켓으로 HTTP 통신을 구현해보며 네트워크 이해를 쌓은 경험
네트워크 수업에서 소켓 프로그래밍으로 HTTP 요청/응답을 직접 구현하는 과제가 있었습니다. 라이브러리 없이 TCP 소켓으로 헤더를 파싱하고 바디를 읽는 코드를 2주 동안 작성하였습니다. 처음에는 Content-Length가 없을 때 바디가 언제 끝나는지 몰라서 계속 블로킹되는 경험을 하였습니다. 이 경험으로 평소에 당연하게 쓰던 fetch가 내부에서 어떻게 동작하는지 처음 이해하게 되었습니다. 이후 HTTPS에서 TLS 핸드셰이크 과정을 공부하였는데, 직접 소켓 코드를 짜본 덕분에 어느 단계에서 암호화가 적용되는지 훨씬 빠르게 이해할 수 있었습니다. 이론만 읽을 때보다 구현해봐야 개념이 실제로 연결된다는 것을 느꼈습니다.