개발세발
http - 3️⃣ HTTP 특징 본문
[HTTP 기본]
📍HTTP HyperText Transfer Protocol
: 처음에는 HTML, TEXT 등을 전송하기 위한 것이였지만 이제는 이미지, 음성, 영상, 파일, JSON, XML(API)등 거의 모든 형태의 데이터 전송이 가능함
- 서버간에 데이터를 주고 받을 때도 대부분 HTTP를 사용
HTTP/0.9 | 1991년 | GET 메서드만 지원, HTTP 헤더 없음 |
HTTP/1.0 | 1996년 | 메서드, 헤더 추가 |
HTTP/1.1 | 1997년 | 가장 많이 사용 |
RFC2068 (1997) ➡️ RFC2616 (1999) ➡️RFC7230~7235(2014) |
||
HTTP/2 | 2015년 | 성능 개선 |
HTTP/3 | 진행중 | TCP 대신에 UDP 사용, 성능 개선 |
📍HTTP 특징
◼️ 클라이언트 서버 구조
- Request, Response 구조
- 클라이언트가 서버에 요청을 보내면 응답을 대기하고, 서버는 요청에 대한 결과를 만들어서 응답하는 구조
- 전에는 클라이언트/서버라는 구조로 나뉘어져있기 않았음
➡️ 서버에 비즈니스 로직, 데이터를 두고 클라이언트는 UIUX에 집중하면서 클라이언트와 서버가 각각 독립적으로 진화할 수 있게 됨
◼️ Stateless (무상태 프로토콜를 지향)
: 서버가 클라이언트의 상태를 보존하지 않는다는 의미
↔️ Stateful : 상태를 유지하는 것
- 클라이언트 요청이 증가해도 서버를 대거 투입할 수 있어서 서버 확장성이 높음 (무한한 서버 증설 가능)
: 스케일 아웃 - 수평 확장
- 중간에 서버가 장애가 나도 다른 서버로 대체할 수 있음
- stateful에 비해 전송된 데이터량이 많음
➡️ 로그인이 필요없는 페이지는 무상태로 설계할 수 있지만
로그인 등의 상태 유지가 필요한 경우에는 브라우저 쿠키와 서버 세션 등을 사용해서 상태를 유지해야 함
❗️상태 유지는 최소한만 사용
◼️ 비연결성
- HTTP는 기본적으로 연결을 유지하지 않는 모델
: 서버가 연결을 유지하지 않기 때문에 최소한의 자원만 사용할 수 있음
- 연결이 유지되지 않기 때문에 TCP/IP 연결을 새로 맺어야 함 ➡️ 3 way handshake 시간이 추가됨
- HTTP 지속 연결 (Persistent Connections)
: 연결-요청-응답-종료 / 연결-요청-응답-종료 / 연결-요청-응답-종료 .. 인 구조가 아닌
연결 -요청-응답/요청-응답/요청-응답- 종료 인 구조로 종료가 될 때까지 요청-응답이 다 이루어지는 동안 연결이 유지됨
📍HTTP 메시지
◼️ HTTP 헤더의 용도
- HTTP에 필요한 모든 부가 정보가 들어가 있음
ex. 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트(브라우저 정보), 서버 애플리케이션 정보, 캐시 관리 정보 등
- 표준 헤더가 많고, 필요시 임의의 헤더 추가 가능
강의 출처 :
https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard
모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의
실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., - 강의 소개 | 인프런...
www.inflearn.com
'코딩공부 > Network' 카테고리의 다른 글
http - 5️⃣ HTTP 메서드 활용 (1) | 2023.02.13 |
---|---|
http - 4️⃣ HTTP 메서드 (0) | 2023.02.11 |
http - 2️⃣ URI와 웹 브라우저 요청 흐름 (0) | 2023.02.05 |
http - 1️⃣ 인터넷 네트워크 (0) | 2023.02.04 |
AWS (0) | 2023.01.15 |