개발 회고/개념 깨달음

HTTP와 잃어버렸던 기억

Pendine 2025. 4. 9. 01:53
728x90
반응형

 이 글은 프록시서버, 리버스 프록시 서버의 개념을 공부하는중,

스스로 HTTP에 대한 개념을 바로 잡는 중 느낌 소감을 작성한 글이다.

 

 

 TCP/IP 기반 통신서버만 주구장창 개발하다가 웹소켓 서버를 개발이 필요해서, 개념을 대충 공부하고 넘어갔었던적이 있다.

다만 여기서 stateless 라는 내용과 연결에 관련된 내용을 그저 그렇구나 라고만 인식하고 넘어갔고,

 심지어 서버 개발시 웹소켓으로 진행했던 터라, 실제 http에 대한 이해가 부족했던 것을 이번 기회에 인지하게 되어서,

확실히 정립하고자 하여 HTTP에 대한 기초 개념을 작성하였다.

 

 API 서버를 개발할때는, 클라이언트로 curl 명령어를 사용하거나, 브라우저로 접속했을때 응답받음,
서버에서는 접속 로그 확인됐고 데이터 전송까지 확인됐으니 잘 됐구나 하고, 연결과정이나 개념적으로 유야무야 넘어간 부분

 

하지만 프록시 서버와 리버스 프록시 서버의 개념을 공부하면서,

 

클라이언트가... 서버가 누군지, 어딨는지도 모른다고?

라는 질문에서 출발하게 되서 stateless에 대한 개념을 수립하게 됨으로 작성하였다.

 (여태까지 TCP/IP 연결 개념만 개략적으로 알고있었을 뿐이었기 때문에 더더욱 와닿았다.)

 

클라이언트는 서버가 누군지 정확히 모른다.

누군지 정확히 모른다 라는 표현은 서버의 도메인 주소만 알고있을 뿐이지, 물리적 주소인 MAC나 ip주소를 모른다는거다.

 

이때까지는 그림을 그린다면 클라이언트가 서버와 통신을 할 때, 서버와 직접 연결되어있지 않기 때문에 메시지를 전달하는 과정의 중간 노드들이 있고, 노드들간의 연결은 선으로 이어져있는 느낌이었다면,

 

 

이번에 알게된 내용으로 다시 그림을 그린다면 필요할때만 연결이 수립됐다 끊어지는 방식으로,

노드들간의 연결을 점선, 또는 요청에 한번에 연결되었다가 끊어진다는 식으로 표현할 수 있을 것이다.

 

 

 

마무리

항상 생각하지만, 기술은 익히는 것이기도 하지만, 이해하는 순간이 따로 있다고 생각한다.  
이번 글은 HTTP에 대해 정말 ‘이해했다’고 느꼈던 그 순간의 기록이다.

뿐만 아니라 프로토콜을 구상하고 구현하기 위해 노력했던 모든 엔지니어들과 석,박사들의 알게된 키워드들은 다음과 같다

HTTP 1.1 프로토콜 :  RFC 2616

프로토콜 변화 : The Evolution of Web Protocols

MDN - MDN Web Docs: Evolution of HTTP


앞으로도 놓쳐왔던 개념들을 생각나는대로 다시 되짚으며,  
진짜로 내 것이 될 수 있도록 계속 정리해볼 예정이다.

728x90
반응형