개발세발

http - 3️⃣ HTTP 특징 본문

코딩공부/Network

http - 3️⃣ HTTP 특징

뉼👩🏻‍💻 2023. 2. 8. 22:15
728x90
반응형
SMALL

[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

 

728x90
반응형

'코딩공부 > 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