ecsimsw / daily-notes

val contents = myDailyNotes.filter { it.isPublic }
5 stars 0 forks source link

HTTP2.0 설정 #35

Closed ecsimsw closed 8 months ago

ecsimsw commented 8 months ago

적용용 전 1.1

스크린샷 2024-03-16 오전 12 38 41

적용 후

image

어떤 장점이?

  1. 파이프라이닝 -> 멀티 플렉싱 / HOL 문제에서 벗어날 수 있음 X. Server push / 사용 안함
  2. 중복 헤더 제거, 헤더 압축 / 적용전과 후의 응답 사이즈 비교
ecsimsw commented 8 months ago

Server push 를 적용하지 않은 이유

  1. 크롬이 더 이상 지원하지 않음 : 성능 문제 / https://developer.chrome.com/blog/removing-push?hl=ko

HTTP/2 서버 푸시를 사용하면 웹사이트에서는 요청을 기다리지 않고 페이지에 필요한 리소스를 사전에 전송할 수 있었습니다. 하지만 Jake Archibald가 이전에 글을 쓴 경우 문제가 되었고 성능상의 이점을 실현하기가 어려운 경우가 많았습니다. 그 결과 이 기능을 사용하는 HTTP/2 사이트의 1.25% 에서만 사용되지 않았습니다.

HTTP/2 서버 푸시 사용을 분석한 결과 (Chrome, Akamai) 명확한 순 성능 증가 없이 많은 경우 성능 저하가 발생했습니다.

푸시가 사양에 포함되어 있었음에도 많은 HTTP/3 서버와 클라이언트에서 구현되지 않았습니다. 최신 HTTP/3를 사용하는 대부분의 웹에서는 푸시가 이미 지원 중단되었습니다. 최근에 이 분석을 재실행한 결과, 사이트의 1.25% HTTP/2 지원이 0.7%로 떨어졌습니다.

  1. Nginx 에서 더이상 지원하지 않음 : 1.25.1 부터 / https://nginx.org/en/docs/http/ngx_http_v2_module.html