Engineering
-
[HTTP 완벽 가이드] 6장. 프록시Engineering/Network 2021. 10. 2. 17:38
웹 프록시 웹 프록시는 클라이언트와 서버 사이에 위치하여 HTTP 메시지를 정리하는 중개인처럼 동작한다. 프록시와 게이트웨이 프록시는 같은 프로토콜을 사용하는 둘 이상의 애플리케이션을 연결한다. 게이트웨이는 서로 다른 프로토콜을 사용하는 둘 이상을 연결한다. 프록시 서버의 배치 Egress Proxy 로컬 네트워크와 더 큰 인터넷 사이를 오가는 트래픽을 제어하기 위해 로컬 네트워크의 출구에 위치시킬 수 있다. Ingress Proxy 클라이언트의 모든 요청을 종합적으로 처리하기 위해 위치시킨다. Reverse Proxy 네트워크의 가장 끝에 있는 웹 서버들의 바로 앞에 위치한다. 웹 서버로 향하는 모든 요청을 처리하고 필요할 때만 웹 서버에게 자원을 요청할 수 있다. 웹 서버에 보안 기능을 추가하거나 빠..
-
[HTTP 완벽 가이드] 5장. 웹 서버Engineering/Network 2021. 9. 26. 11:57
05. 웹 서버 웹 서버가 하는 일 단계 1: 클라이언트 커넥션 수락 클라이언트가 이미 서버에 대해 열려있는 지속적 커넥션을 갖고 있다면, 클라이언트는 요청을 보내기 위해 그 커넥션을 사용할 수 있다. 그렇지 않다면, 클라이언트는 서버에 대한 새 커넥션을 열 필요가 있다. 새 커넥션 다루기 클라이언트가 웹 서버에 TCP 커넥션을 요청하면, 웹 서버는 그 커넥션을 맺고 TCP 커넥션에서 IP 주소를 추출하여 커넥션 맞은편에 어떤 클라이언트가 있는지 확인한다. 새 커넥션이 맺어지고 받아들여지면, 서버는 새 커넥션을 커넥션 목록에 추가하고 커넥션에서 오가는 데이터를 지켜보기 위한 준비를 한다. 웹 서버는 어떤 커넥션이든 마음대로 거절하거나 즉시 닫을 수 있다. 클라이언트 호스트 명 식별 웹 서버는 클라이언트 ..
-
[HTTP 완벽 가이드] 4장. 커넥션 관리Engineering/Network 2021. 9. 18. 02:45
TCP 커넥션 TCP 커넥션은 클라이언트와 서버간에 주고받는 메시지들의 손실 혹은 손상되거나 순서가 바뀌지 않고 안전하게 전달할 수 있도록 한다. TCP 커넥션의 한쪽에 있는 바이트들은 반대쪽으로 순서에 맞게 정확히 전달된다. HTTP, HTTPS 네트워크 프로토콜 스택 TCP 스트림은 세그먼트로 나뉘어 IP 패킷을 통해 전송된다. TCP 는 IP 패킷(혹은 IP 데이터그램)이라고 불리는 작은 조각을 통해 데이터를 전송한다. HTTP 는 TCP 커넥션을 통해서 메시지 데이터의 내용을 순서대로 보낸다. TCP 는 세그먼트라는 단위로 데이터 스트림을 잘게 나누고, 세그먼트를 IP 패킷이라는 단위로 인터넷을 통해 전달한다. TCP 세그먼트의 구조와 전달 과정은 아래의 링크에 정리되어 있다. https://ic..
-
[HTTP 완벽 가이드] 3장. HTTP 메시지Engineering/Network 2021. 9. 12. 02:58
메시지의 흐름 HTTP 메시지는 HTTP 애플리케이션 간에 주고받은 데이터의 블록들이다. 이 데이터의 블록들은 메시지의 내용과 의미를 설명하는 텍스트 메타 정보로 시작하고 그 다음에 선택적으로 데이터가 올 수 있다. 인바운드, 아웃바운드 메시지가 클라이언트에서 서버로 향하는 것을 인바운드라고 한다. 클라이언트의 요청을 처리하고 메시지가 서버에서 클라이언트로 다시 향하는 것을 아웃바운드라고 한다. 다운스트림으로 흐르는 메시지 다운스트림(downstream)은 하류라는 뜻을 가졌다. 데이터의 흐름을 물이 흐르는 원리와 비슷하게 설명한 것이다. 물은 항상 상류에서 하류로 흐르듯이, 데이터도 항상 업스트림에서 다운스트림으로 흐른다. 메시지의 각 부분 메시지는 세 부분으로 이루어져 있다. (시작줄, 헤더 블록, ..