정의
HTTP는 HyperText Transfer Protocol의 약자로 웹에서 이루어지는 모든 데이터 교환의 기초이며, 클라이언트-서버 프로토콜이다.
구성
1. 클라이언트
클라이언트는 사용자를 대신하여 동작하는 모든 도구이며 역할은 주로 브라우저에 의해 수행된다.
브라우저는 항상 요청을 보내는 개체이다.
2. 웹서버
- 웹 서버(하드웨어)
- 웹사이트의 컴포넌트 파일들을 저장하는 컴퓨터
- 컴포넌트 파일에는 HTML, Images, CSS, JavaScript가 존재
- 컴포넌트 파일을 인터넷을 통해 클라이언트에 전달
- 웹 서버(소프트웨어)
- 사용자가 어떻게 호스트 파일들에 접근하는지는 관리
- 웹 서버는 주소 HTTP 프로토콜을 사용하여 클라이언트의 요청을 처리 및 응답
3. 프록시
웹 브라우저와 서버 사이에서는 수많은 컴퓨터와 머신이 HTTP 메시지를 이어 받고 전달한다.
여러 계층으로 이루어진 웹 스택 구조에서 이러한 컴퓨터/머신들은 대부분은 전송, 네트워크 혹은 물리 계층에서 동작한다.
이러한 컴퓨터/머신 중에서도 애플리케이션 계층에서 동작하는 것들을 일반적으로 프록시라고 부르며
다음과 같은 다양한 기능을 제공한다.
기능
- 캐싱: 캐시는 공개 또는 비공개가 될 수 있다, 예: 브라우저 캐시
- 필터링: 바이러스 백신 스캔, 유해 컨텐츠 차단[자녀 보호] 기능
- 로드 밸런싱: 여러 서버들이 서로 다른 요청을 처리하도록 허용
- 인증: 다양한 리소스에 대한 접근 제어
- 로깅: 이력 정보를 저장
참고
'CS > Network' 카테고리의 다른 글
HTTP [ HTTP Version, HTTPS ] (1) | 2024.09.20 |
---|---|
TCP / IP [송수신 과정, 캡슐화, PDU] (0) | 2024.09.20 |
TCP / IP 4계층 [ 계층 구조 ] (0) | 2024.09.19 |
HTTP [HTTP Response] (0) | 2024.09.18 |
HTTP [HTTP Request] (0) | 2024.09.17 |