지연 시간 + HTTP Request ( 헤더만 존재 ) = 100ms + 10ms(1/100 KB)
지연 시간 + HTTP Response ( 헤더와 내용 ) = 100ms + 10ms(헤더) + 10ms(HTML문서)
양 끝단 간의 TCP 종결 = 200ms
HTML 문서를 받는데 걸린시간
TCP 종결 시간을 따로 계산하지 않았을 경우 = 630ms
TCP 종결 시간을 따로 계산하였을 경우 = 830ms
이미지까지 계산하였을 경우 완료시 걸리는 시간
Response와 같이 보냈던 내용이 10ms였던 것이 100ms로 바뀌게 된다 = 720ms
이미지 트랜잭션이 끝난 경우 = 920ms
만약 "예2" 에 해당하는 내용을 다양한 전송 방법에 대입해보자
기본적인 HTTP 전송방법
HTML문서를 받는 과정 따로 이미지 하나하나 받는 과정을 모두 프레임에 담고 심지어 TCP까지 모두 열고 닫기때문에 (830ms + 920ms + 920ms + 920ms) 으로써 총 3590ms이라는 오랜 시간이 걸리는것이다
Persistent HTTP
TCP의 연결과 종결이 절약되기 때문에 각각의 전송 데이터 갯수만큼의 TCP 전송률(1800ms)을 아끼게 되면서 1790ms이라는 시간이 걸린다. 기본에 비하면 거의 절반에 가까운 시간이다
Pipeline HTTP
살짝의 설명을 추가하자면 pipeline은 처음 보낸 데이터를 서버가 받고 서버가 클라이언트에게 보내지는 시간안에서 또 다른 이미지를 추가적으로 보내기때문에 전송시간을 따로 측정하지 않는다. 그래서 클라이언트가 받는 시간만 계산하게 되는것이다.
성능 향상 요소 (2). 네트워크 구조
우리는 거대한 클라우드 네트워크를 통해 전세계 모든 정보를 주고 받는다. 이때 외국의 거대한 서비스를 우리나라의 서버에서 요청해서 받는데 개개인이 일일히 요청하는것이 아닌 중간 매개체가 있다. 그것을 ISP(Internet Service Provider)이라고 한다. 우리는 ISP에 요청을 하고 그걸 받은 ISP는 돈을 지불하여 거대한 서비스에게 요청한 후 받아온 정보를 사용자에게 전달하고 있는것이다.
WebCache(Proxy Server)
ISP에는 정보를 저장하는 기능보다 전달하고자 하는 역할이 크다. 그렇다면 정보를 필요로 할때마다 돈을 지불해야하는 입장으로써 다른 사용자가 같은 정보를 요구하더라도 또다시 요금을 지불하고 정보를 가져오는 것이 마냥 좋진않다. 그래서 생긴것이 WebCache인 것이다. 해당 정보를 가져온 후 WebCache에 저장하고 그 후에 다른 사용자가 요구한 정보가 WebCache에 저장되어있다면 그저 가져오기만 하면되는것이다. 이는 네트워크 구조상으로 성능 향상에 큰 도움이 된다.
WebCache는 중개상인의 개념을 가지게 된다 즉, Server이자 Client가 되는것이다.