개발지식/Network

High Performance Browser Networking

aiden.jo 2023. 6. 12. 23:02

High Performance Browser Networking

The "High Performance Browser Networking" aims to improve the loading speed of web pages.

 

Network Techniques to improve browser performance

  1. HTTP/2:  a single connection can handle multiple requests and responses

  2. Caching: a technique of storing resources from servers in browser to reuse.

  3. DNS Prefetch : a technique to reduce the time for translating DNS in website to IP in advance.
    ex.<link rel="dns-prefetch

  4. Preconnect : a technique to reduce additional connection time by pre-establishing the necessary connections on a website.

  5. Preload : a technique to preload resources in advance such as CSS, IMG.

  6. Connection Pooling : a technique to reuse connections to reducing the time to make a new connection. 
    (백엔드 기술 - restTemplate, webClient, httpclient, retrofit, axios, ajax 또는 Database)
     => 어디에 쓰느냐에 따라 TCP pool과 DB pool 로의 구분이 다름)

HTTP Client Libraries

  1. RestTemplate : in Java, Blocking
  2. HttpClient : in Java 11, Blocking
  3. WebClient : in Java, Non-Blocking
  4. Retrofit : in Java, Blocking & Non-Blocking
  5. Axios : in javascript, Non-Blocking
  6. AJAX : in javascript, Non-Blocking