본문 바로가기
목차훔치기/네트워킹과 웹 성능 최적화 기법

HTTP 1.X(네트워킹과 웹 성능 최적화 기법)

by 해삼2 2023. 11. 30.
728x90
반응형
HTTP 1.X

HTTP 1.X

HTTP (Hypertext Transfer Protocol)는 웹에서 데이터를 전송하는 데 사용되는 프로토콜입니다. HTTP의 버전에는 여러 가지가 있으며, "HTTP 1.x"는 그 중에서도 1.0, 1.1 등의 하위 버전을 나타냅니다. 

 

HTTP 주요 특징및 버전 간 차의

 

HTTP 1.0
최초의 HTTP 버전으로, 1996년에 제정되었습니다.
단일 연결을 통해 하나의 요청과 응답을 주고받습니다.
지속적인 연결(persistent connection)을 지원하지 않아 매번 새로운 연결을 맺어야 했습니다.
헤더의 형식이 단순하며, 보안 기능이 제한적입니다.


HTTP 1.1
1997년에 도입되었으며, 현재까지 가장 널리 사용되는 버전 중 하나입니다.
지속적인 연결을 지원하여 여러 요청과 응답을 하나의 연결로 처리할 수 있게 되었습니다.
파이프라인(pipelining)을 통해 여러 요청을 동시에 보낼 수 있게 되었습니다.
헤더에 호스트 정보를 추가하여 가상 호스팅을 지원하며, 보안 기능이 향상되었습니다.
캐시 제어, 청크 전송 등의 기능이 추가되었습니다.


HTTP 1.1의 일부 개선 사항
Keep-Alive 연결: 

여러 요청과 응답을 동일한 TCP 연결을 통해 전송할 수 있도록 지속적인 연결을 지원합니다.


Host 헤더: 

하나의 서버에서 여러 도메인을 호스팅할 수 있도록 도입되었습니다.


파이프라인: 

여러 요청을 동일한 연결을 통해 병렬로 전송할 수 있도록 해 성능을 향상시켰습니다.


청크 전송 코딩: 

큰 데이터를 작은 청크로 나누어 전송하므로, 

데이터 전송이 끝날 때까지 기다리지 않아도 되어 성능이 향상되었습니다.


HTTP/2, HTTP/3
HTTP 1.1 이후에는 HTTP/2와 HTTP/3와 같은 새로운 버전들이 등장했습니다. 

이들은 기존의 HTTP 1.x보다 높은 성능, 효율성, 보안을 제공하며 다양한 기능을 도입하고 있습니다. 

HTTP/2는 이진 프레임 구조와 헤더 압축을 사용하여 성능을 향상시켰고, 

HTTP/3는 UDP를 기반으로 하여 더 빠른 데이터 전송을 지원합니다.

HTTP의 버전은 웹 기술의 발전과 함께 계속해서 진화하고 있습니다
.

 

HTTP 역할

 

HTTP 기술은 클라이언트와 서버 간의 통신을 담당하는 프로토콜로, 학교의 예를 들어보겠습니다.

학생과 선생님 간의 커뮤니케이션

HTTP 요청(Request): 

학생이 브라우저를 통해 선생님의 웹 페이지에 접속하려고 합니다. 

이때 브라우저가 HTTP 요청을 생성하여 선생님의 서버에 보냅니다.


HTTP 응답(Response): 

선생님의 서버는 해당 요청을 받아 학생에게 필요한 정보(웹 페이지의 내용)를 

담은 HTTP 응답을 생성하여 다시 학생의 브라우저로 보냅니다.


수업 자료 다운로드:
HTTP 요청(Request): 학생이 수업 자료를 다운로드하고자 할 때, 

브라우저는 선생님의 서버에게 해당 자료를 요청하는 HTTP 요청을 보냅니다.


HTTP 응답(Response): 

선생님의 서버는 요청받은 수업 자료를 담은 HTTP 응답을 생성하여 학생의 브라우저로 전송합니다.


온라인 시험 제출:
HTTP 요청(Request): 학생이 온라인 시험을 마치고 답안을 제출하려면, 

브라우저는 시험 답안을 서버로 전송하기 위한 HTTP 요청을 생성합니다.


HTTP 응답(Response): 

선생님의 서버는 받은 시험 답안을 처리하고, 

제출이 완료되었다는 응답을 생성하여 학생의 브라우저로 전송합니다.


학사 정보 열람:
HTTP 요청(Request): 학생이 학사 정보를 확인하려면, 

브라우저는 해당 정보를 담은 웹 페이지를 요청하는 HTTP 요청을 생성합니다.


HTTP 응답(Response): 

학교의 서버는 요청받은 학사 정보를 담은 HTTP 응답을 생성하여 학생의 브라우저로 전송합니다.


HTTP는 이처럼 웹 상에서 발생하는 다양한 요청과 응답을 관리하여 클라이언트와 

서버 간에 원활한 통신을 가능케 합니다. 

이러한 프로토콜을 통해 학생과 선생님, 

또는 학생과 학교 시스템 사이의 정보 교환 및 서비스 이용이 이뤄집니다.

 

 

*바쁜 사람을 위한 정리

HTTP는 웹에서 데이터를 전송하는 데 사용되는 프로토콜이며 1996년에 HTTP1.0이 개발되었습니다. HTTP는 클라이언트와 서버 간의 통신을 담당하는 것이 주 목적입니다. 예를 들면 쿠팡에서 소비자인 내가 음식이나 물건을 구매 를 하면 HTTP를 통해 서버(데이터베이스)에 값이 들어가고 그 들어간 값을 통해 request(소비자) 한테 결과 값을 알려주는 걸로 이해하면 쉬울거 같습니다.
728x90
반응형