728x90
HTTP : Everywhere!
- HTTP 메세지에 모든 것을 전송한다.
- HTML, TEXT
- IMAGE, 음성, 영상, 파일
- JSON, XML(API)
- 거의 모든 형태의 데이터 전송 가능
- 서버 간에 데이터를 주고받을 때도 대부분 HTTP 사용
1. 역사
- HTTP/0.9 1991년 : GET메서드만 지원, HTTP 헤더 X
- HTTP/1.0 1996년 : 메서드, 헤더 추가
- HTTP/1.1 1997년 : 대부분의 기능이 추가(가장 많이 사용), 나중버전은 성능개선
- HTTP/2 2015년 : 성능개선
- HTTP/3 진행중 : TCP 대신에 UDP사용, 성능개선
HTTP Protocol 확인법 : Chrome F12 개발자도구
Network - Protocol - h2(http 2 사용)
2. 기반 프로토콜
- TCP : HTTP/1.1, HTTP/2
- UDP : HTTP/3
- 현재는 HTTP/1.1주로 사용하고 HTTP/2, HTTP/3도 점점 증가한다(강의 ver. 21)
3. HTTP 특징
① 클라이언트 서버 구조(Client -Server)
- Request, Response 구조
- 비즈니스로직, 데이터는 서버에 넘기고
- 클라이언트는 UI, 사용성만 집중
- 클라이언트와 서버가 독립적으로 진화
② 무상태 프로토콜 (Stateless Protocol)
* stateful, stateless 차이
- 상태유지 : stateful (서버가 클라이언트의 상태를 보존(어떤 로직, 상태인지 보존됨))
- 무상태 : stateless (서버가 클라이언트의 상태를 보존하지 않음, 갑자기 클라이언트 요청이 증가해도 서버를 대거 투입가능, 무한한 서버 증설 가능)
중간에 서버에러가 난다면?
- stateful은 장애대응이 어려움
- stateless는 응답을 다른 서버로 넘겨서 전달 >>>> 스케일 아웃 (수평 확장 유리)
Stateless의 한계
모든 것을 무상태로 설계 할 수 있는 경우도 있고 없는 경우도 있다.
무상태
ex) 로그인이 필요없는 단순한 서비스 소개 화면
상태유지
ex) 로그인
- 로그인한 사용자의 경우 로그인 했다는 상태를 유지
- 상태유지는 최소한만
'Computer Science > 네트워크' 카테고리의 다른 글
[네트워크] DNS Round Robin Algorithm (0) | 2022.03.10 |
---|---|
[네트워크] 하드웨어 환경, Server?, 서버 프로그램 구현은 어떻게 설계하는게 좋을까? (0) | 2022.03.04 |
[네트워크] URI와 웹브라우저 요청 흐름 (0) | 2022.03.03 |
[네트워크/인터넷 프로토콜 스택] IP Protocol, UDP, TCP, PORT, DNS 설명정리 (0) | 2022.03.01 |
[네트워크 정리 01] REST 알기 (0) | 2022.02.05 |