dev.Log
HTTP 본문
HTTP 1.1
- Persistent Connection : 지정한 타임아웃동안 커넥션을 닫지 않는 방식
- Pipelining : 하나의 커넥션에서 응답을 기다리지 않고 순차적인 여러 요청을 연속적으로 보내 그 순서에 맞춰 응답을 받는 방식으로 지연 시간을 줄이는 방법
문제점 : head of line blocking, Header구조의 중복
HTTP/2
- 기존 HTTP/1.X버전의 성능 향상에 초점을 맞춘 프로토콜
- 네이버, facebook, instagram에서 사용중
- HTTP 메시지 전송 방식의 변화 : 바이너리 프레이밍 계층 사용으로 파싱&전송속도가 향상되고 오류 발생 가능성이 낮아졌다.
- 프레임으로 쪼개졌기 때문에 요청과 응답의 다중화(multiplexing)가 가능해졌다. -> head of line blocking 해결
- 리소스간 우선 순위를 설정 가능하다.
- Server Push : 어차피 요청할텐데 미리 줘버리자..
- Header 압축: 헤더의 크기를 줄여 페이지 로드 시간 감소
QUIC
- TCP의 한계(지연불가피)를 극복하려는 전송 프로토콜
- 전송 속도 향상
- Connection UUID라는 고유한 식별자로 서버와 연결하기 때문에 커넥션 재수립이 필요없다.
- TLS 기본 적용
- IP Spoofing 으로 Replay attck을 방지한다.
- 독립 스트림 사용
- 구글과 유튜브 사용중
'Web' 카테고리의 다른 글
| Apache와 Nginx의 차이점 (3) | 2024.05.08 |
|---|---|
| HTTP 상태코드 401(Unauthorized) vs 403(Forbidden) 차이 (0) | 2022.11.09 |
| 왜 Web을 호스팅하는 대부분의 서버들은 Linux를 이용할까? (0) | 2021.08.05 |
| HTTPS와 SSL 인증서 (0) | 2020.07.07 |
| 웹성능높이기 (0) | 2020.06.30 |
Comments