ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Computer Network] HTTP
    Computer Network 2022. 11. 6. 23:32

    1. HTTP란?

    = hyper text transfer protocol

    거의 모든 형태의 데이터 전송이 가능

    1) http 버전

    1. 1.1 - 가장 기본, 많이 쓰이는 버전 , TCP
    2. 2 - 성능 개선, TCP
    3. 3 - 성능 개선, UDP

    2) http 특징

    1. 클라이언트 / 서버 구조
    2. 스테이스리스
    3. 비연결성
    4. Http 메세지 구조
    5. 단순함, 확장 가능

     

    2.클라이언트 서버 구조

    클라이언트에서 request

    서버에서 response

     

     

    3.스테이스리스 프로토콜(무상태 프로토콜)

    서버가 클라이언트 상태를 보존하지 않음!!

    장점) 서버 확장 가능(스케일 아웃) → ex) 갑자기 클라이언트에서 요청이 많을 시, 서버 확장 가능

    단점) 클라이언트에서 데이터 더 많이 전송해야함

    다만, 로그인 같은 경우, 로그인 한 상태를 서버에 저장해야함. (브라우저 쿠키 혹은 서버 섹션을 통해)

    최대한~~ 스테이스리스 형태로 가야함.

     

     

    4.비연결성

    클라이언트와 서버 사이를 tcp/ip를 통해 계속 연결을 유지할 경우, 수많은 클라이언트가 생길때, 서버는 자원을 많이 소모해야 된다.

    → 최소한의 자원을 유지를 위해 연결이 필요할 때만 연결을 하고, 필요하지 않으면 연결 종료해야함!

    한계) 클라이언트에서 요청이 이뤄질때마다, TCP/IP 연결을 새로 맺어야 함. (시간 소요) → HTTP 지속연결(Persistent Connections)로 문제 해결

    • 비슷한 시간대 resquest집단들을 한번에 연결하고, 종료시키기.

     

    5. HTTP 메세지

    [구조]
    start-line

    header : field-name(대소문자구분x): fieldValue

    empty-line

    message-body

    1. 요청 메세지 start-line = method (space) request-target (space) http-version (enter)
    • request-target = 절대경로 (”/”로 시작하는 경로) + ? query_params

       2. 응답 메세지 start-line = HTTP Version (space) status-code (space)

Designed by Tistory.