위 강의를 통해 공부한 내용을 정리함
HTTP
HyperText Transfer Protocol
통신할 때 사용하는 방식 중 원탑
HTML TEXT IMAGE 음성 영상 파일 JSON XML 거의 모든 형태의 데이터 전송에 쓰임
서버간에 데이터를 주고 받을 때도 거의 HTTP 사용
→ 지금은 HTTP 시대!
HTTP 1.*
HTTP 2.*
HTTP 3.*
버전이 있는데 사용 기준은 거의 HTTP 1.1 이고 이후 버전들은 성능 위주
HTTP 특징
- 클라이언트 서버 구조
- 무상태 프로토콜 (비연결성)
- HTTP 메세지
- 단순함 확장 가능
1. 클라이언트 서버 구조
request 랑 response 를 구분해서 클라이언트와 서버가 각각 통신에 제약없이 독립적으로 진화할 수 있음
2. 무상태 프로토콜
stateful (상태 유지) vs stateless (상태 비유지)
클라이언트와 통신하면서
클라이언트가 준 정보 (상태) 를 서버가 저장하고 있으면 → stateful
클라이언트가 준 정보 (상태) 를 서버가 저장하지 않으면 → stateless
장, 단점이 있는데 예시와 함께 생각해보면,
상태 유지의 경우 서버가 이미 저장하고 있는 상태에 대한 정보는 안 줘도 되니까 요청이 상태 비유지에 비해 당연히 간결하다. 하지만 만약 중간에 통신하고 있는 서버에서 문제가 발생하거나 클라이언트 요구가 갑자기 많아지면 서버를 변경하거나 증축하는데 있어 한계가 있다.
상태 비유지의 경우 서버가 저장하는게 하나도 없어서 클라이언트에 대한 정보를 요청시에 모두 보내줘야 해서 요청이 길어진다. 하지만 서버에서 문제가 발생해서 서버를 변경하거나 서버를 증축해야하는 경우 확장에 용이하다.
정리하면,
상태 유지 | 상태 비유지 | |
장점 | 요청 간결 | 서버 활용 + 확장성 |
단점 | 서버 한정 | 요청 복잡 + 약한 연결 보장 |
HTTP 는 이런 상태 유지, 상태 비유지 중에 상태 유지 의 특징을 가지고 있다.
상태 유지의 단점인 약한 연결성은 TCP/IP (3-way handshake + persistent connections)로 보완을 한다.
'공부 > HTTP' 카테고리의 다른 글
HTTP ⁉ HTTPS ‼ HTTPS 개념과 NGINX, SPRING BOOT 어플리케이션 적용하기 (1) | 2022.02.22 |
---|---|
HTTP 웹 기본 지식 ➄ HTTP 헤더 / 캐시, 검증, 조건부 요청 (0) | 2022.01.02 |
HTTP 웹 기본 지식 ➃ HTTP 헤더 / 표현, 협상, 일반 정보, 인증, 쿠키 (0) | 2022.01.02 |
HTTP 웹 기본 지식 ③ HTTP 메세지 & HTTP 메소드 (0) | 2021.12.11 |
HTTP 웹 기본 지식 ① 인터넷 통신 TCP / UDP PORT DNS 웹 브라우저의 요청 흐름 (0) | 2021.11.25 |