1.HTTP 이란 (HyperText Transfer Protocol)
웹 어플리 케이션 계층 프로토콜 (TCP 기반으로 동작)
웹 클라이언트가 웹페이지를 어떻게 요청(Response)하는지를 정의
Stateless Protocol
RFC 1945 ,RFC 7230, RFC 7540에 정의
웹페이지
Hyper Text = Text +Link
객체들로 구성
2. HTTP 개요
Request- Response 구조
Client-Server 구조
URL(Uniform Resurce Locator)
네트 워크 상에 존재하는 자원의 위치를 명세 하기 위한 규약
HTTP는 TCP를 사용
데이터의 손실 혹은 순서는 HTTP가 고려하지 않으며, TCP가 해결
비연결성(Connectionless)
클라이언트와 서버가 연결을 맺은 후에 응답을 마치면 기존의 연결을 끊는 특성
장점: 연결유지에 대한 리소스를 줄임으로 서버 자원의 효율적 사용
단점: 클라이언트의 연결요청에 매번 연결/ 해체의 과정 수행으로 오버헤드발생
비상태 프로토콜(Stateless Protocol)
서버가 클라이언트에 요청파일을 보낼떄, 서버는 클라이언트에 대한 어떠한 상태 정보도 저장하지않음->
HTTP서버는 클라이언트에 대한 정보를 유지하지 않음
HTTP 버전
HTTP/1.0 : 1990년대 초등장 [ RFC 1945]
HTTP/1.1: 1997초 표준화 [RFC 7030]
HTTP/2.0: 2015년 5월 표준화 [RFC 7540]
2022년 1월 전체 웹사이트의 46.9% 점유
HTTP/3.0 :2022년 6월 표준화 [RFC 9114]
기존에 사용하던 TCP 대신에 UDP 기반의 QUIC 프로토콜 사용
3. Non persistent vs Perististent 연결
비지속 연결 (Non persistent connection)
클라이언트와 서버가 각각 다른 TCP 연결을 통해 데이터 통신 수행
지속 연결(Persistent connection)
클라이언트와 서버가 같은 TCP연결을 통해 데이터 통신수행
HTTP는 설정에 따라서 비지속 연결과 지속 연결방식을 사용 할수있음
HTTP/1.0은 비지속 (Non-persistent ) 연결을 지원
HTTP/1.1에서 지속 (Persistent)연결을 지원, Blocking I/O
HTTP/2.0 에서 Asynchrous I/O 지원 (비동기 입출력)
'개발 공부 > 네트워크' 카테고리의 다른 글
주소 지정 (0) | 2023.09.20 |
---|---|
캡슐화 역 캡슐화 (0) | 2023.09.19 |
TCP/IP모델 (0) | 2023.09.15 |
OSI 7 계층 모델 (0) | 2023.09.14 |