반응형

2020/09 3

HTTP와 HTTPS의 연결 과정

지난번 포스팅에서 HTTP와 TCP에 대해 간단히 살펴보았다. 이번에는 HTTP와 HTTPS의 연결과정을 비교하면서 정리한다. TLS가 어떻게 맺어지는 지도 지난 번에 정리한 적이 있고 더 자세한 것은 링크를 참고하면 될 것 같다. 우선 Network Protocol stack을 살펴보자. 우측이 HTTPS에 대한 것인데 TCP와 HTTP layer 사이에 TLS가 있음을 볼 수 있다. HTTPS는 HTTP over Secure socket layer의 약자로, 말과 그림대로 secure socket layer 위에 http가 성립된다고 이해하면 된다. 그렇다면 HTTP와 HTTPS의 연결과정을 비교하여 살펴보자. 왼쪽은 HTTP, 오른쪽은 HTTPS 과정을 나타낸다. HTTPS는 과정 2 TLS han..

Networks/HTTP 2020.09.18

HTTP의 TCP 연결 과정

network protocol 스택에서 TCP는 transport layer 반면, HTTP는 application layer이다. HTTP는 TCP 계층 상위에 존재하고, HTTP와 TCP는 인접해서 정해진 인터페이스로만 메시지를 주고 받는다. 이것은 HTTP와 TCP는 분리되어 있고, HTTP를 통해 클라이언트와 서버간에 메시지를 주고 받기 위해서는 우선 TCP가 확보되어야 함을 뜻한다. 그래서 웹 애플리케이션을 만들 때 어느 정도는 TCP를 이해하고 있어여 한다고 생각한다. 특히, TCP 연결 과정은 명확히 알고 있어야 한다고 본다. 고가용성(HA) 웹 애플리케이션을 만들기 위해서 말이다. 클라이언트와 서버간 HTTP를 통해 메시지를 주고 받기 위해 우선 TCP 연결이 확보되어야 하고, 메시지를 주..

Networks/HTTP 2020.09.18

TypeScript class를 JavaScript ES5, ES6 code로 변환하면서

서론 TypeScript code는 실행되기 위해 JavaScript code로 필수적으로 변환하는 과정(transpile)이 필요하다. TypeScript는 NodeJS에서 실행할 수 있는 언어가 아니라 JavaScript에 정적 type을 사용할 수 있도록 한 언어이기 때문이다. 이러한 이유로 개인적으로 TypeScript code가 JavaScript code로 어떻게 변환되는지 어느 정도는 이해하는 것이 필요하다고 생각한다. 나는 주로 TypeScript로 백엔드 개발을 하기 때문에 NodeJS를 실행시키는데 JavaScript의 버전 호환성에 크게 민감하지 않지만, 프론트엔드 개발을 한다면 이 부분은 매우 중요할 것이다. 그래서 가끔은 TypeScript Code가 JavaScript Code로..

반응형