HTTP 와 네트워크

김남경·2023년 1월 4일
0

network

목록 보기
16/27

역사

📌 1991
HTTP/0.9
GET 메서드만 지원
HTTP 헤더 없음

📌 1996
HTTP/1.0
메서드, 헤더 추가

📗 TCP

📌 1997 ~ 2014
HTTP/1.1
현재 주로 사용
1997 RFC2068
1999 RFC2616
2014 RFC7230~7235

📌 2015
HTTP/2.0
성능 개선

📗 UDP

📌 현재
HTTP/3.0 진행중

특징

📗 클라이언트 서버 구조
Request/Response 구조
클라이언트는 서버에 요청을 보내고 응답을 대기,
서버가 요청에 대한 결과를 만들어 응답

📗 무상태 프로토콜
Stateless 서버가 클라이언트의 상태를 보존하지 않음
장점 서버의 확장성이 높음(스케일 아웃) - 무한 서버 증설
단점 클라이언트가 추가 데이터 전송

Stateless
로그인이 필요없는 단순 소개 서비스
상태 유지(Stateful)
로그인이 필요한 서비스. 브라우저 쿠키, 서버 세션, 토큰을 이용
필요 최소한으로 이용

📗 비연결성
Connectionless
HTTP는 실제로 요청을 주고받을 때만 연결을 유지(HTTP 1.0 기준)
응답을 주고 나면 TCP/IP 연결을 끊도록 함
트래픽이 많지 않고, 빠른 응답을 제공할 수 있는 경우 유리

Connection Oriented
TCP/IP는 기본적으로 연결을 유지함(요청이 없어도)
서버의 자원이 소모되는 단점이 있음

비연결성 한계 극복
웹 브라우저로 사이트를 요청하면 HTML, css, JS, 각종 이미지 등도 함께 다운로드 되는데 자원들을 각각 보낼때 마다 연결을 끊고 다시 연결하는 것은 비효율적
➡️ HTTP 지속 연결(Persistent Connections)로 문제를 해결

profile
기본에 충실하며 앞으로 발전하는

0개의 댓글