장성호's
장성호's blog
장성호's
  • 분류 전체보기
    • 알고리즘
      • 백준
      • 이론
    • WEB
      • Spring 인강
      • 네트워크
    • 개인 프로젝트
      • 쇼핑몰 만들기

블로그 메뉴

  • 홈
  • 깃허브
전체 방문자
오늘
어제
반응형
hELLO · Designed By 정상우.
장성호's

장성호's blog

[네트워크] HTTP 공부 #3
WEB/네트워크

[네트워크] HTTP 공부 #3

2022. 2. 12. 21:12
반응형

 

 

HTTP란?

HTTP는 HyperTextTransferProtocol의 약자이며, 인터넷에서 데이터를 주고 받을 수 있는 프로토콜이다.

 

HTTP의 특징

  • 클라이언트 서버 구조
  • 무상태 프로토콜, 비연결성
  • HTTP 메시지
  • 단순함, 확장 가능
 

HTTP의 클라이언트-서버 구조

HTTP 요청 / 응답 구조

클라이언트가 HTTP 요청을 서버에 전송하면,

서버는 HTTP응답을 클라이언트에 전달한다

 

 

무상태(Stateless) 프로토콜

Stateful의 단점 - 중간에 점원이 바뀔 경우

 

Stateful의 단점 - 중간에 서버에 장애가 발생할 경우

무상태 : 서버가 클라이언트의 상태를 보존하지 않는다.

ex) 한 번 로그인 뒤, 다른 페이지에 접속하거나 새로고침을 할 경우 로그인 상태를 보존하지 않기 때문에, 계속 로그인해야한다.

 

Stateless할 경우 - 중간에 점원이 바뀔 경우
Statelss -서버에 오류가 생기더라도 다른 서버로 교체해서 해결이 가능하다.

고객이 요청할 경우 정보를 제공해준다면, 중간에 점원이 바뀌더라도 문제가 없다.

 

무상태는 응답서버를 쉽게 바꿀 수 있다 => 무한한 서버 증설(스케일 아웃) 가능 (점원을 많이 투입)

 

 

일반적으로는 쿠키와 세션을 사용해서 상태를 유지한다.

 

비연결성 - Connectionless

연결을 유지하는 모델

 

연결을 유지하지 않는 모델

 

비연결성은 클라이언트와 서버가 한 번 연결을 맺은 후, 클라이언트 요청에 대한 응답이 끝나면 연결을 끊어버리는 성질을 말합니다. 

 

  • HTTP는 기본이 연결을 유지하지 않는 비연결성 모델이다.
  • 일반적으로 초 단위의 이하의 빠른 속도로 응답한다
  • 1시간 동안 수천명이 서비스를 사용하더라도, 실제로 동시에 처리하는 요청은 수십개 이하로 매주 적어진다.
  • 자원을 효율적으로 사용할 수 있다.

 

하지만, 모든 요청에 대해서 매번 새로운 연결을 시도 / 해제의 작업을 거치기 때문에 오버헤드가 생기는 단점도 있습니다.

 

HTTP 메시지

 

  요청 메시지 응답 메시지
시작라인
  • HTTP 메서드 (GET, POST, PUT, DELETE, ...)
  • 요청 대상 (절대 경로 + query)
  • HTTP Version 
  • HTTP Version
  • HTTP 상태 코드 (200, 400, 500)
  • 오류 메시지
헤더
  • HTTP 전송에 필요한 모든 부가정보

 

출처

[인프런] 모든 개발자를 위한 HTTP 웹 기본 지식

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

반응형
저작자표시 비영리 변경금지 (새창열림)

'WEB > 네트워크' 카테고리의 다른 글

[네트워크] HTTP 공부 #6  (0) 2022.03.31
[네트워크] HTTP 공부 #5  (0) 2022.03.29
[네트워크] HTTP 공부 #4  (0) 2022.03.28
[네트워크] HTTP 공부 #2  (0) 2022.02.11
[네트워크] HTTP 공부 #1  (0) 2022.02.11
    'WEB/네트워크' 카테고리의 다른 글
    • [네트워크] HTTP 공부 #5
    • [네트워크] HTTP 공부 #4
    • [네트워크] HTTP 공부 #2
    • [네트워크] HTTP 공부 #1
    장성호's
    장성호's
    장성호's 개발 공부 블로그

    티스토리툴바