HTTP - HTTP 특징

2024. 5. 10. 15:38· 인프런 김영한 강의 정리/모든 개발자를 위한 HTTP 웹 기본 지식
목차
  1. 1. HTTP란?
  2. 2. 클라이언트 서버 구조
  3. 3. Stateful, Stateless
  4. 4. 비연결성(connectionless)
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
  1. 1. HTTP란?
  2. 2. 클라이언트 서버 구조
  3. 3. Stateful, Stateless
  4. 4. 비연결성(connectionless)
'인프런 김영한 강의 정리/모든 개발자를 위한 HTTP 웹 기본 지식' 카테고리의 다른 글
  • HTTP - HTTP 메서드의 속성
  • HTTP - HTTP 메서드
  • HTTP - URI, 웹 브라우저 요청 흐름
  • HTTP - 인터넷 네트워크
백엔드 개발자 - 젤리곰
백엔드 개발자 - 젤리곰
오늘도 배움이 있는 하루가 되길 바라는 개발자
백엔드 개발자 - 젤리곰
backend-gummyBear
백엔드 개발자 - 젤리곰
전체
오늘
어제
  • 분류 전체보기 (144)
    • 인프런 김영한 강의 정리 (60)
      • 스프링 핵심원리 기본편 (12)
      • 모든 개발자를 위한 HTTP 웹 기본 지식 (10)
      • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (3)
      • 자바 ORM 표준 JPA 프로그래밍 기본편 (28)
      • 실전! Querydsl (6)
    • Spring (2)
    • 프로젝트일지 (6)
    • 프로그래밍 언어 (20)
      • Java (17)
      • JavaScript (3)
      • Python (0)
    • 데이터베이스 (4)
      • Oracle (2)
      • ORM (1)
      • SQL 튜닝 (1)
    • 형상관리 (1)
      • Git (0)
    • 알고리즘&자료구조 (34)
      • Algorithm (31)
      • Data Structure (1)
    • CS지식 (4)
    • Cloud (5)
    • 일기 (7)
      • 공부 일기 (3)
      • 독서 일기 (2)
      • 마음 일기 (2)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • 데이터베이스정규화
  • 업캐스팅
  • 인터페이스
  • 프론트엔드개발자업무
  • LeetCode17번
  • 커스텀annotation
  • SublimeText단축키
  • dfs알고리즘
  • 다운캐스팅
  • jquery와javascript
  • 힙자료구조
  • 스프링컨텍스트
  • #{}와${}의차이
  • 클라이언트서버통신
  • ORM프레임워크
  • LeetCode200번
  • 객체지향방법론
  • 인프콘
  • 객체지향의사실과오해
  • 프론트엔드역사

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
백엔드 개발자 - 젤리곰
HTTP - HTTP 특징
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.