[HTTP] WEB과 HTTP

이다혜·2022년 9월 13일
post-thumbnail

인터넷 프로토콜 4계층


TCP


  • 신뢰성
  • 연결지향 - 3 way handshake

UDP


  • 비신뢰성
  • 비연결

HTTP


  • 클라이언트와 서버 간 통신하기 위한 프로토콜

HTTP 특징


  • 거의 모든 데이터를 http로 전송 가능

    ( html, text, image, 영상, json, xml...)

  • 클라이언트 - 서버 구조

  • 비연결성

  • stateless(무상태)

  • 확장성 용이

클라이언트 - 서버 구조


비연결성


  • http는 기본적으로 연결을 유지하지 않는 모델

  • 옵션을 통해 일정기간 연결을 유지하게 만들 수 있다.

  • 리소스를 효율적으로 사용할 수 있다.

  • 단점

    • 매번 요청마다 TCP/IP 연결을 해야함
    • 3 way handshake 시간이 증가함

Stateless(무상태)


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

  • 서버 장애가 생기더라도 다른 서버에 연결하면 되기 때문에 확장성이 높다.

  • 상태를 보존하지 않기 때문에 클라이언트가 많은 데이터를 전송해야하는 단점이 있다.


비연결성의 한계를 보완하는 방법 - 쿠키, 캐시 ...

캐시


  • 웹 페이지 요소를 저장하기 위한 임시 저장소

  • 동일한 리소스를 반복해서 불러올 필요가 없다.

  • 웹 페이지가 빠르게 렌더링 할 수 있도록 도와준다.

  • 캐시 유효 시간이 만료됐더라도 서버 데이터가 바뀌지 않았다면 메시지 바디를 다시 보내지 않고
    304 not modified + 헤더 정보만 응답

쿠키


  • 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각

  • 누군가 특정 웹사이트에 접속할 때 발생

  • 사용자 인증을 도와준다.

  • 동일한 서버에 재 요청 시 쿠키 저장소에 저장된 사용자 정보 데이터를 함께 전송한다.

  • 이를 이용해 로그인 상태를 유지할 수 있다.

0개의 댓글