# HTTP2.0

Network - HTTP 버전별 특징
HTTP (Hypertext Transfer Protocol) 웹 브라우저 상에서 데이터 교환의 기초가 되는 프로토콜 HTTP/1.0 매 요청마다 연결 및 해제 과정 발생 Stateless의 특징을 살려 더 많은 연결을 하기 위함 매 연결에 대한 정보를 저장하지 않음으로 인한 리소스 절약 가능 그러나 100번의 요청이 이루어지면 100번의 연결 및 해제가 발생하고 이로 인한 오버헤드 발생 및 시간 지연 이를 보완할 필요성 대두 HTTP/1.1 Persistent Connection, HTTP Pipelining 연결 방식 추가 Persistent Connection 서버는 응답을 보낸 후 TCP 연결을 그대로 유지 모든 요청, 응답이 Co

HTTP 개념 정리
HTTP (HyperText Transfert Protocol) 텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜. 모든 프로그램들이 이 규약에 맞춰서 정보를 교환 할 수 있게되었다. HTTP 동작 원리 클라이언트는 브라우저를 통해 어떠한 서비스를 url이나 다른것을 통해서 request 하면 서버에서는 해당 요청사항에 맞는 결과를 찾아서 사용자에게 response 한다. 요청 : Client -> server 응답 : server -> client Html 뿐 아니라 plainText, Json, XML과 같은 형태의 정보도 주고 받을수 있으며 client가 어떤 정보를 HTML이나 JSON형태로 받고싶은지 명시해주는 경우가 많다.

HTTP1.x / HTTP2.0 / QUIC
HTTP HTTP(Hyper Text Transfer Protocol)은 웹 브라우저와 웹 서버간 통신을 위해 디자인된 프로토콜로 HTML 문서와 같은 리소스, 데이터를 가져올 수 있도록 도와준다. 연결 방식 HTTP 요청시 브라우저는 HTTP 요청 메시지를 생성하고 TCP/IP 프로토콜을 이용해 웹 서버와 통신하며 3-way handshake를 통해 논리적 연결을 수립하게 됩니다. 구성 HTTP 요청 메시지는 크게 Startline, Header, Body로 구성되며 Startline에는 메서드, 경로, 프로토콜의 버전 Header에는 요청에 설정한 HTTP헤더 Body에는 Http Method에 따라 내용이 추가된다. HTTP 프로토콜의 특징 비연결성(conne

[모던 자바스크립트 Deep Dive] HTTP 2.0
📌 Axios 라이브러리를 공부하다가 이 책에서도 정보를 얻을 것이 있을까 하여 목차를 펼쳤다. 38장 브라우저의 렌더링 과정부터 읽다가 HTTP 2.0이 이미 나왔다는 사실을 알게 되어 정리하기 위해 블로그를 켰다. 📍 이웅모, (위키북스, 2020, 5쇄 2022) 38장 브라우저의 렌더링 과정(pp.660~676)의 내용 중 일부입니다만, 브라우저 렌더링 과정은 정리하지 않았습니다. HTTP 2.0 관련 정보만 정리했습니다. ✨ 정리와 별개로, 브라우저 렌더링 과정을 구체적으로 자세히 설명하고 있어 이해하기 좋았습니다. 여러 자료를 보며 DOM, CSSOM, 렌더 트리 등을 이해하는 데 혼란이 있으셨다면 한 번 읽어보세요 추천합니다! HTTP Tim Berners-Lee가 HTML, URL과 함께 고안, 1991년 최초로 문서화 (HTTP/0.9라 불림) HTTP/1.0: 1996년 발표 HTTP/1.1: 19

HTTP 버전 별 특징
📚 HTTP 1.0 단기 커넥션 (Short-lived connections): 응답 직후 종료 Request를 날릴 때마다 Connection을 새로 생성 Method: GET, HEAD, POST 데이터 전송 플레인 텍스트 Data를 압축해서 전달이 가능하도록 하여 전달하는 Data 양이 감소 단점 각 모든 요청에 따라 새로운 연결을 열고, 응답이 전송된 후 즉시 닫기 때문에 새로운 연결이 설정 될 때마다 TCP 3-way Handshake가 발생 동시전송 불가능, 하나의 요청에 대한 응답이 온 후 다음 요청을 처리 -> HTTP1.1에서 HTTP Pipelining 도입 📚 HTTP 1.1 지속 커넥션 (Persistent connection) 커넥션 재사용 가능 = 여러 Request-Response에 대해 동일한 연결을 재사용할 수 있다. 연결을 설정하기 전에 TCP 3-way Handshake 발

네트워크 - 2. Application Layer (1)
2. Application layer 해당 챕터의 목표는 다음과 같다. > * application layer protocol의 conceptual, implementation 관점 공부 > * transport-layer service model들 > * client-server paradigm > * peer-to-peer paradigm > * popular application-layer protocol들이나 infrastructure들을 지원하는 protocol들 공부 > * HTTP, SMTP, IMAP > * DNS > * Video streaming systems, CDNs > * Socket API Principles of network applications Creating a network app app이 network app이 되기 위해서... 서로 다른 end sys

HTTP 2.0 이란?
10년넘게 유지되던 HTTP1.1 의 장벽을 깨뜨린 장본인 HTTP 2.0 은 국제 인터넷 표준화 기구(IETF)에서 2015년 정식 발표한 HTTP/1.1 의 차기 버전이다. since HTTP 1.1 HTTP 2가 나온 이유 텍스트 위주의 전송 프로토콜인 HTTP/1.1 이 웹기술의 발전으로 인한 고용량 멀티미디어 데이터 전송량 증대에 따라가지 못하며, 후술할 여러 문제점들에 대한 근본적인 해결책을 제시하지 못하자, Google 이 개발한 SPDY 를 기반으로 HTTP 2를 발표하게 되었다. HTTP 1.1 의 문제점 Head Of Line Blocking 
TIL 52 | HTTP Version & HTTPS
HTTP(Hyper Text Transfer Protocol)란 클라이언트와 서버 사이에 이루어지는 요청과 응답에 대한 통신규약(Protocol)입니다. HTTP의 특징은 무엇이고, 어떻게 발전해왔는지 알아보겠습니다. HTTP & HTTPS HTTP > HTTP(Hyper Text Transfer Protocol)는 인터넷 웹에서 클라이언트와 서버간 요청(Request)와 응답(Response)으로 정보를 주고 받을 수 있는 통신규약(Protocol)입니다. 주로 HTML 문서를 주고받는데 쓰입니다. HyperText라는 텍스트를 주고받기에 네트워크에서 전송신호를 Intercept하면 원치 않는 데이터 유출이 발생합니다. TCP, UDP를 사용하며 80번 포트를 사용합니다. 비연결 지향(Connectionless) 클라이언트가 request를 서버에 보내고, 서버가 클라이언트에 요청에 맞

HTTP
HTTP 개요 HTTP는 애플리케이션 계층에서 데이터를 요청하는 클라이언트와 데이터를 제공하는 서버 간의 통신을 위한 프로토콜이다. HTTP를 통해 클라이언트와 서버는 통신 간에 개별적인 메시지로 통신한다. 클라이언트가 보내는 문서 요청을 request message, 서버가 보내는 문서 응답을 response message라고 한다. 클라이언트와 서버의 역할이 명확하게 구분되어 있음을 알 수 있다. HTTP는 지속 연결로 통신량을 절약할 수 있다. 한 쪽이 연결을 종료하지 않으면 연결을 끊지 않는 지속 연결을 지원한다. 데이터 손실을 방지하기 위해 transport 계층의 TCP를 사용하지만, 다수의 요청을 할 경우에는 각 요청과 응답마다 연결과 연결 종료를 반복하게 되면 불필요한 통신이 늘어나기 때문에 HTTP1.1에서 지속 연결 개념을 도입하였다. 이에 더해, 요청에 대한 응답이 오지 않아도 다음 요청을 바로 보
Differences Http1.1 & Http2.0
HTTP HTTP는 웹상에서 클라이언트와 웹서버간 통신을 위한 프로토콜 중 하나 HTTP/1.1이 느린 이유 연결당 하나의 요청과 응답을 처리하기 때문에 동시 전송 문제와 다수의 리소스를 처리하기에 속도와 성능 이슈가 존재 HOL(Head Of Line) Blocking (특정 응답 지연) HTTP/1.1의 사양상의 제한으로 클라이언트의 리퀘스트의 순서와 서버의 응답순서는 동기화해야 됨 RTT(Round Trip TIme) 증가 (양방향 지연) 헤더가 크다 (특히 쿠키 때문) http/1.1의 헤더에는 많은 메타 정보들이 저장되어 있음. 사용자가 방문한 웹페이지는 다수의 http 요청이 발생하게 되는데 이 경우 매 요청시 마다 중복된 헤더 값을 전송하게 되며 각 도메인에 설정된 쿠키 정보도 매 요청시 마다 헤더에 포함되어 전송 문제점들을 해결하기 위한 UI 개발자와 프론트엔드 개발자의 노력 이미지 스프라이트 여러

HTTP/2(HTTP 2.0) 정리
HTTP/2 HTTP 2.0이라고도 불리는 HTTP/2는 Hypertext Transfer Protocol Version 2의 약자로서, 2015년 IETF에 의해 공식적으로 발표된 HTTP/1.1(기존 표준)의 차기 버전이다. > IETF: Internet Engineering Task Force, 국제 인터넷 표준화 기구를 의미하며, 인터넷의 운영, 관리, 개발에 대해 협의하고 프로토콜과 구조적인 사안들을 분석하는 인터넷 표준화 작업기구 기반 SPDY(스피디/speedy로 발음)라는 구글의 비표준 개방형 네트워크 프로토콜에 기반한다. 기존의 HTTP methods, status codes, semantics 개념들이 동일하게 호환된다. Frame & Stream & Messages 기존에 Plain Text(평문)를 사용하고, 개행으로 구별되면 HTTP/1.x 프로토콜과 달리, 2.0에서는 바이너리 포멧으로 인코딩 된 Message, Frame으로 구성된다. !