[Deep HTTP] 기본/메세지

Dae-Hee·2022년 1월 16일
0

Deep HTTP

목록 보기
2/6
post-thumbnail

'모든 개발자를 위한 HTTP 웹 기본 지식'
김영한님 인프런 강의 정리

  • HTTP 기본/메세지

▪︎ 무상태 프로토콜


스테이트리스(Stateless)

  • 서버가 클라이언트의 상태를 보존하지 않는다.
  • 장점 : 서버의 확장성이 높다.(스케일 아웃)
  • 단점 : 클라이언트가 추가 데이터를 전송해야한다.

스테이트풀(Stateful)

  • 서버사이드에 클라이언트와 서버의 동작 및 상태정보를 저장하는 형태
  • 세션 상태에 기반하여 서버의 응답이 달라진다.

웹 어플리케이션을 설계할때 무상태를 지양하고 어쩔수없을때만 상태유지를 하는 것이 좋다.


▪︎ 비 연결성


  • HTTP는 기본이 연결을 유지하지 않는 모델

  • 일반적으로 초 단위의 이하의 빠른 속도로 응답

  • 1시간 동안 수천명이 서비스를 사용해도 실제 서버에서 동시에 처리하는 요청은 수십개 이하로 매우 작다.

  • 서버 자원을 매우 효율적으로 사용할 수 있다.


▪︎ 비 연결성의 한계와 극복


  • TCP/IP 연결을 새로 맺어야 함 - 3 way handshake 시간 추가

  • 웹 브라우저로 사이트를 요청하면 HTML 뿐만 아니라 자바스크립트, CSS, 이미지 등 수 많은 자원이 함께 다운로드

  • 현재는 HTTP 지속연결(Persistent Connections)로 문제 해결

  • HTTP/2, HTTP/3에서 더 많은 최적화


▪︎ HTTP 구조


헤더 용도

  • HTTP 전송에 필요한 모든 부가정보
  • 표준 헤더의 양이 많다.
  • 임의의 헤더정보를 넣을 수 있다.

바디 용도

  • 실제 전송할 데이터
  • HTML 문서, 이미지, 영상, JSON 등등 byte로 표현할 수 있는 모든 데이터 전송

Reference

https://www.inflearn.com/course/http-웹-네트워크

0개의 댓글