개발자로서 네트워크의 구조나 동작 원리를 이해하는 것은 필수적인 기본 역량 중 하나일 것이다. 이런 이유로 나도 네트워크의 복잡한 구조를 파악하기 위해 상당한 노력을 기울여왔다. 네트워크 관련 서적이나 강의를 틈나는 대로 읽고 유튜브 강의도 종종 보면서 네트워크의 계층이나 프로토콜에 대한 지식을 쌓았고, 최근에 홈 서버를 구축하면서 배운 내용을 연계해서 이해보려고도 노력했다. 그럼에도 책이나 강의에서 다루는 네트워크 관련 내용은 상당히 이론적이로 추상화된 지식을 다루는데 집중하고 있기 때문에, 실제 네트워크가 물리적으로 어떻게 구성이 되어있는지, 어떤 장비가 어떻게 사용 되는지에 대해서는 구체적으로 알기 어렵다. 이런 지식은 일반적으로 네트워크 인프라 엔지니어의 담당 영역이라서 개발자의 입장에서는 자세히..
컴퓨터 사이언스/네트워크
HTTP 에 관한거라고는 시작줄, 헤더, 공백, 바디 정도로 이루어져있다. 는 것 정도밖에 모르고 있었다. 사실 HTTP 통신의 경우 워낙 추상화가 잘되어있기 때문에 그냥 뭐 알아서 잘하나보지라고 블랙박스인 상태로 놔두고 있었던 것 같다. 그러나 최근에 등장한 HTTP 2, 3 버전은 통신 방식에서 기존 HTTP 1 버전과 확연한 차이를 보이고 있기 때문에 버전별로 어떤 차이가 있는지 대강은 알 필요가 있는 것 같다. 그리고 공부하면서 조금 이해가 안갔던 부분도 정리를 해두려고 한다. 전체적인 배경은 GPT 선생님께서 정리해주셨다. 1. HTTP 1.0 ~ 1.1HTTP 1.0 버전은 HTTP가 1991년 처음 발표되고 난 후 인기를 끌면서 발생한 다양한 요구사항들을 반영하여 처음으로 표준화하여 발표된 ..