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 |
댓글