본문 바로가기
프로그래밍/Web Basic

HTTP, Stateful과 Stateless

by YuminK 2023. 7. 30.

HTTP(HyperText Transfer Protocol)

HTTP로 전송하는 것들

1. HTML, Text, 이미지, 음성, 영상, 파일

2. JSON, XML 

3. 서버간 데이터

 

HTTP 역사

HTTP/0.9 1991년: GET 메서드만 지원, HTTP 헤더X

• HTTP/1.0 1996년: 메서드, 헤더 추가

• HTTP/1.1 1997년: 가장 많이 사용, 우리에게 가장 중요한 버전

• RFC2068 (1997) -> RFC2616 (1999) -> RFC7230~7235 (2014)

• HTTP/2 2015년: 성능 개선 • HTTP/3 진행중: TCP 대신에 UDP 사용, 성능 개선

 

기반 프로토콜

TCP: HTTP/1.1, HTTP/2

UDP: HTTP/3

현재 HTTP/1.1을 주로 사용(HTTP/2, HTTP/3도 점점 증가)

 

HTTP 특징

• 클라이언트 서버 구조

• 무상태 프로토콜(스테이스리스), 비연결성

• HTTP 메시지

• 단순함, 확장 가능

Stateful, Stateless 차이

1. Stateful은 서버가 Client의 상태를 저장하는 것을 말한다.

=> 통신하는 서버에 문제가 생기면, 장애 발생

2. Stateless는 서버가 Client의 상태를 저장하지 않는 것을 말한다.

=> 클라이언트가 필요한 정보를 모두 가지고 있는 형태라, 중간에 요청 서버가 변경되어도 문제가 되지 않는다.

서버 증설이 쉽다.

Stateless의 실무 한계

1. 모든 것을 Stateless로 설계하는 것은 무리가 있다.

상태유지: 로그인(로그인한 사용자의 세션, 쿠키)

무상태: 서비스 소개화면

 

2. 가능하면 상태 유지(Stateful)는 적게 설계한다.

 

출처: HTTP 웹 기본 지식 강의(김영한)

 

'프로그래밍 > Web Basic' 카테고리의 다른 글

HTTP 메서드의 속성, 데이터 조회, HTML Form  (0) 2023.07.31
HTTP 메서드  (0) 2023.07.30
비연결성, HTTP 요청과 응답 메시지  (0) 2023.07.30
PORT, DNS, URL  (0) 2023.07.29
IP 인터넷 프로토콜, TCP/UDP  (0) 2023.07.29

댓글