반응형
SMALL

2023/10 24

[컴네/CN] 프로토콜 및 소켓

TCP/IP 프로토콜 계층 왼쪽이 TCP/IP, 오른쪽이 osi 프로토콜 계층이다. TCP/IP의 application 계층이 osi에서는 application, presentation, session의 세 계층으로 나뉜다. application 계층은 자유롭게 변경이 가능하며 대부분의 일은 이 계층에서 발생한다. 그 아래의 계층은 운영체제와 가까우며 쉽게 바뀌지는 않지만 지속적으로 변화하고 있는 부분이다. 계층별 식별자 데이터를 전송하면 각 계층 별로 식별자가 존재한다. Application 계층에서는 웹&email&http&P2P를 식별하고, Transport 계층에서는 port number를 통해 식별하고, Network 계층에서는 ip address를 통해 식별한다. ip는 각 인터페이스에게 각각..

[컴네/CN] HTTP와 Cookie

⭐️Review⭐️ HTTP/1.1 위 사진은 HTTP/1.1의 헤더의 모습이며, TCP 연결 재사용을 위해 헤더에서는 Keep-Alive 필드로 표시한다. Keep-Alive 필드는 timeout이라는 최소 시간 동안 max 시간까지 TCP 연결을 유지하라는 의미를 가지고 있다. HTTP/1.1은 한 개의 TCP 연결만을 사용하는 것이 아니라 여러 개의 TCP 연결을 사용하는데 TCP 연결이 너무 많이 생성되면 자원 관리 차원에서 문제가 발생하므로 성능 관리를 위해 브라우저에서는 도메인 당 최대 연결 수를 제한한다. HTTP/1.1 domain sharding HTTP/1.1은 pipelining을 사용하기 때문에 HoL 병목 현상이 발생한다.(이전 포스트 참고) 따라서 해당 pipelining은 많이..

[컴네/CN] HTTP 버전

HTTP 발전 현재는 HTTP/1.1 이상의 버전만 사용한다. HTTP/1.0 HTTP GET 메소드에 대해 1개의 TCP 연결을 사용한다. 즉, 객체 1개 전송할 때 1개의 TCP 연결을 사용한다는 의미이다. 따라서 객체 하나를 전송할 때에 새로운 TCP socket를 생성하고 새롭게 연결을 수행해야 하므로 생성과 연결에 지연 시간이 발생한다. 즉, 왕복지연시간문제(non-persistent HTTP)가 발생한다. 우리는 이러한 왕복지연시간문제를 해결하기 위하여 HTTP/1.1을 만들었다. 이때, 우리는 왜 왕복지연시간을 줄여야 할까? 아래 표는 지연 시간에 따른 사용자 체감을 나타낸 표이다. 밀리초(1/1000초)라는 아주 작은 시간 동안에도 사용자는 체감을 할 수 있다. 사용자가 이러한 지연 시간을..

[컴네/CN] HTTP

HTTP: Hyper-text transfer protocol HTTP는 socket을 이용한 웹 페이지 전송 프로토콜이다. 클라이언트가 서버에 요청을 보내면, 서버는 클라이언트에게 응답을 전송하는 구조로, 서버와 클라이언트의 모든 통신은 request와 response로 구성된다. HTTP는 TCP 위에 존재하며, TCP는 socket 위에 존재한다. (HTTP/3는 TCP 대신 UDP를 사용한다.) 이때 웹 페이지는 객체들의 집합이며, 각 객체는 웹 페이지가 보유할 수 있는 HTML file, JPEG image, audio/video file 등을 일컫는다. 이때 웹 페이지는 url을 통해 식별되는데, url은 universal resource locator의 약어로 네트워크 상에서 자원이 어디 있..

반응형
LIST