일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 큐(Queue)
- 백준 18352번
- 위상 정렬(Topological Sort)
- BFS
- 백준 9012번
- 백준 1948번
- 위상 정렬(Topology Sort)
- 플로이드 워셜 알고리즘(Floyd-Warshall Algorithm)
- 스택(Stack)
- 다익스트라 알고리즘(Dijkstra Algorithm)
- 백준 2812번
- 그리디 알고리즘(Greedy Algorithm)
- DFS(Depth First Search)
- BFS(Breadth First Search)
- 알고리즘 개념
- 분할 정복(Divide and Conquer)
- 백준 2504번
- 백준 2261번
- 백준 10000번
- DFS
- 이분 그래프(Bipartite Graph)
- 백준 17608번
- 백준 1707번
- DFS & BFS
- 트리(Tree)
- 이분 탐색(Binary Search)
- 백준 2493번
- 백준 21606번
- 그래프(Graph)
- 동적 프로그래밍(Dynamic Programming)
- Today
- Total
Always Be Wise
HTTP 1.0 vs HTTP 1.1 본문
HTTP 1.0 vs HTTP 1.1
HTTP 1.0과 비교하여 HTTP 1.1가 갖는 특징은 커넥션 유지, 파이프라이닝, 호스트 헤더 등 입니다.
1. 커넥션 유지(Persistent Connection)
HTTP 프로토콜은 클라이언트, 서버 간 데이터를 주고받는 응용 계층의 프로토콜입니다.
HTTP를 이용한 데이터 전달은 TCP 세션 기반에서 이루어집니다. HTTP 1.0과 1.1의 차이는 이 TCP 세션을
지속적으로 유지할 수 있는가입니다. 아래 그림과 같이 HTTP 1.0은 요청 콘텐츠마다 TCP 세션을 맺어야 합니다.
반면, HTTP 1.1은 Persistent 기능을 이용하여 한 개의 TCP 세션을 통해 여러 가지의 콘텐츠 요청이 가능합니다.
이를 통해 서버는 TCP 세션 처리 부하를 줄일 수 있고, 클라이언트는 개선된 응답속도를 기대할 수 있습니다.
2. 파이프라이닝
또한, Persistent 기능을 통한 커넥션 유지와 함께 HTTP 1.1에서는 파이프라이닝이 가능합니다.
기본적으로 HTTP 요청과 응답은 순차적으로 이루어집니다. 다시 말해, 요청에 대한 응답을 정상적으로 받아야만
다음 요청이 진행됩니다. 그런데 어떤 이유로 응답이 이루어지지 않으면 이후 요청이 진행되지 않습니다.
그런데 파이프라이닝은 이를 개선한 기능입니다. 아래 그림(왼쪽)과 같이 동시에 요청들을 보내고 응답을 각각
받아서 처리합니다.
3. 호스트 헤더(Host Header)
HTTP 1.0 환경에서는 하나의 IP에 여러 개의 도메인을 운영할 수 없습니다. 도메인 마다 IP를 구분해서 준비해야
합니다. 따라서 도메인 만큼 서버의 수도 늘어날 수 밖에 없는 구조입니다. 그러나 HTTP 1.1에서는 호스트 헤더
(Host: www.google.com:80)를%EB%A5%BC/) 이용하여 하나의 IP에 여러 가지의 도메인을 운영할 수 있습니다.
버츄얼 호스팅이 가능해진 것 역시 HTTP 1.1로의 발전 덕분이라고 할 수 있습니다.
'기술 관련 정리' 카테고리의 다른 글
HTTP vs HTTPS (0) | 2022.03.29 |
---|---|
HTTP 2.0의 특성은? (0) | 2022.03.29 |
OSI 7 계층 참조 모델 (0) | 2022.03.29 |
데드락(Deadlock)이란? (0) | 2022.03.29 |
스택(Stack)과 힙(Heap) (0) | 2022.03.29 |