728x90
1. HTTP란?
HTTP 메시지에 모든 형태의 데이터를 담아 전송할 수 있다.
⭐HTTP로 전송할 수 있는 것들
- HTML, TEXT
- 이미지, 음성, 영상, 파일
- JSON, XML(API)
- 서버간 주고 받는 데이터
2. 클라이언트 서버 구조
HTTP는 클라이언트, 서버 구조로 되어있다.
클라이언트는 서버에 Request를 보내고 응답을 대기.
서버가 Request에 대한 결과를 만들어서 Response한다.
3. Stateful, Stateless
1) Stateful(유상태)란?
클라이언트의 상태정보를 서버에 저장하여 관리하는 것.
✔️장점
- 각 요청에 필요한 데이터 전송량이 줄어든다.
- 사용자의 이전 상태를 알고 있기 때문에 맞춤형 서비스를 제공하기 쉽다.
✔️ 단점
- 상태를 유지관리 해야하므로 시스템이 복잡해진다.
- 서버간 상태 정보를 공유해야해서 확장이 복잡해지고 비용이 많이 든다.
2) Stateless(무상태 프로토콜) 이란?
서버가 클라이언트의 상태를 보존하지 않는다.
✔️ 장점
- 서버 수평 확장성이 높다.
- 각 요청이 독립적이므로 로직이 단순해진다.
✔️ 단점
- 상태 정보가 없으므로 필요한 모든 정보를 매 요청마다 전송해야한다.
💡결론, Stateless 방식은 RESTful API와 같이 확장성이 중요한 서비스에 주로 사용된다.
Stateful은 사용자 세션 관리를 할 때 사용한다.
4. 비연결성(connectionless)
✔️HTTP는 기본적으로 연결을 유지하지 않는다.
- 클라이언트와 서버 간의 통신에서 한 번의 요청과 응답을 처리한 후 연결을 바로 끊는다.
- 사용자가 다른 페이지를 요청하면 이 과정이 반복된다.
✔️ 각 요청은 서로 독립적으로 처리된다.
- 서버는 누가 어떤 요청을 했는지 이전 상태를 기억하지 않는다.
- 서버 자원을 매우 효율적으로 사용할 수 있다.
728x90
'인프런 김영한 강의 정리 > 모든 개발자를 위한 HTTP 웹 기본 지식' 카테고리의 다른 글
HTTP - HTTP 메서드의 활용 및 API 설계 (0) | 2024.05.10 |
---|---|
HTTP - HTTP 메서드의 속성 (0) | 2024.05.10 |
HTTP - HTTP 메서드 (0) | 2024.05.10 |
HTTP - URI, 웹 브라우저 요청 흐름 (0) | 2024.05.10 |
HTTP - 인터넷 네트워크 (0) | 2024.05.10 |