ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HTTP(HyperText Transfer Protocol) 이해하기
    얇게 공부한 CS 2024. 2. 26. 14:41

    HTTPHyperText Transfer Protocol의 약자로 웹상에서 데이터를 주고받는 기본적인 규칙을 정의합니다.

    또한 웹 문서뿐만 아니라 모바일 게임 개발 등 다양한 분야에서 활용됩니다.

     

    | HTTP

    HTTP는 클라이언트와 서버 간의 데이터 교환을 가능하게 하는 프로토콜입니다.

    클라이언트가 웹 서버에 페이지나 이미지를 요청할 때 사용되고,
    서버는 이 요청에 응답하여 필요한 데이터를 제공합니다.

    | HTTP 메서드(Method)

    HTTP  프로토콜은 다양한 종류의 요청을 지원하기 위해 여러 메서드를 제공합니다.

    각 메서드는 특정한 목적에 맞게 설계되었고, 주요 메서드는 다음과 같습니다.

    GET: 서버로부터 데이터 조회 요청 ex) 웹페이지 접속, 정보 검색
    POST: 데이터 생성 요청 ex) 회원가입, 글작성
    PUT: 데이터 수정 ex) 회원 정보 수정 요청
    DELETE: 데이터 삭제 요청 ex) 회원 정보 삭제

    | HTTP 메서드 사용, 상태 코드

    특정한 웹 사이트에 접속하면, 기본적으로 GET 방식으로 호출을 진행합니다.

    또한 서버는 요청에 대한 응답으로 상태 코드를 반환하고 이 코드는 요청의 성공 실패 등의 정보를 제공합니다.

    웹 사이트는 대개 HTML, JavaScript, CSS 코드를 반환하며 웹 브라우저는 이를 화면에 출력합니다.

    | HTTP 상태 관리와 세션

    HTTP는 상태를 저장하지 않는 Stateless 한 프로토콜입니다.

    즉 이전 요청에 대한 정보를 기억하지 않으며, 각 요청을 독립적으로 처리합니다.

     

    클라이언트는 HTTP로 서버에 연결 후 응답을 받으면 연결을 끊습니다.

    이러면 서버 입장에서는 접속 유지에 대한 요구가 적어 불특정 다수를 대상으로 하는 서비스에는 적합할 수 있습니다.

     

    이때 사용자의 상태를 관리하기 위해서는 세션(Session)을 이용하여 수행할 수 있고,
    이를 통해 서버는 사용자의 로그인 상태, 장바구니 내용 등을 유지할 수 있습니다.

    | Keep Alive

    HTTP프로토콜이 가지는 무 상태성으로 인해 발생할 수 있는 문제점을 개선하기 위해 고안된 기능 중 하나입니다.

    HTTP/1.1부터 지원하는 기능으로 하나의 TCP 연결을 통해 여러 HTTP요청과 응답을 처리할 수 있습니다.

     

    보통 하나의 웹사이트에 방문하면 대개 수십 개의 파일(HTML, CSS, JS, 이미지)을 제공합니다.

    이러면 TCP 통신 과정에서 연결 수행/연결 해제 과정에서 리소스가 매우 많이 소요됩니다. 

    Keep Alive는 이런 파일을 하나씩 받기 위해 매번 연결을 맺고 끊는 것을 방지하며
    효율적으로 다운로드하기 위해 사용됩니다.

    '얇게 공부한 CS' 카테고리의 다른 글

    JWT(JSON Web Token) 란  (0) 2024.03.01
    Oauth  (0) 2024.02.27
    REST API  (0) 2024.02.25
    명령어의 구조  (0) 2024.02.24
    쿠키(Cookie)와 세션(Session)  (0) 2024.02.23
Designed by Tistory.