TIL #2 Front end - HTTP

Suhyxn·2021년 10월 15일
0

BeforeTIL

목록 보기
3/7

HTTP는 무엇일까요?


HTTP(HyperText Transfer Protocol)란?

    웹상에서 정보를 주고 받을 수 있는 클라이언트와 서버 사이에 이루어지는 요청 / 응답 프로토콜이다.

     HyperText: 컴퓨터나 전자기기 화면에 나타나는 링크를 포함한 텍스트
     Transfer: 전송
     Protocol: 규약 (규칙)


HTTP 기반 시스템의 구성요소

  • HTTP는 클라이언트 - 서버 프로토콜로 각각의 개별적인 요청(request) 들은 서버로 보내지며, 서버는 요청을 처리하는 응답(response) 을 제공한다.
    이 요청과 응답 사이에는 여러 개체들이 있는데, 예를 들면 다양한 작업을 수행하는 게이트웨이 또는 캐시 역할을 하는 프록시(Proxy) 등이 있다.

   프록시

   ・ 웹 브라우저와 서버 사이에서는 수많은 컴퓨터와 머신이 HTTP 메시지를 이어 받고 전달한다. 이러한 컴퓨터와 머신 중에서도 애플리케이션 계층에서 동작하는 것들을 일반적으로 프록시라고 부른다. (캐싱, 필터링, 로드 밸런싱, 인증, 로깅)


HTTP 메시지

  • HTTP 메시지는 서버와 클라이언트 간에 데이터가 교환되는 방식으로 메시지 타입은 두 가지가 있습니다. 요청(request)은 클라이언트가 서버로 전달해서 서버의 액션이 일어나게끔 하는 메시지고, 응답(response)은 요청에 대한 서버의 답변이다.

  • Request (요청)
    첫번째 줄 (start-line)
    HTTP 메서드 ( POST ) / 요청 타겟 ( HTTP ) / HTTP 버전 (1.1)

    HTTP 메서드 : 보통 클라이언트가 요청하는 서버가 수행해여야 할 동작 (GET, PUT, POST)
    요청 타겟 : 가져오려는 리소스의 경로
    HTTP 버전 : 응답메시지에 사용할 HTTP 버전

    헤더 (HTTP headers)
    서버에 대한 추가 정보를 전달하는 선택적 헤더들 콜론 뒤에 값에 따라 달라진다.

    빈 줄 (empty line)
    요청에 대한 모든 메타 정보가 전송되었음을 알리는 역할

    본문 (body)
    본문은 요청의 마지막 부분에 들어가며 모든 요청에 본문이 들어가지는 않는다.

  • Responses (응답)
    상태 줄 (start-line)
    프로토콜 버전 ( HTTP / 1.1 ) 상태 코드 ( 403 ) 상태 텍스트 ( Forbidden )

    프로토콜 버전 : 프로토콜 버전 (HTTP / 1.1 )
    상태코드 : 상태코드로 요청의 성공 여부를 나타낸다 (200, 404, 302)
    상태 텍스트 : 짧고 간결한 상태 코드에 대한 설명을 나타낸 글

    헤더 (HTTP headers)
    다른 헤더와 동일한 구조를 따르며 콜론 뒤에 값에 따라 달라진다.

    빈 줄 (empty line)
    요청에 대한 모든 메타 정보가 전송되었음을 알리는 역할

    본문 (body)
    본문은 응답의 마지막 부분에 가며 모든 응답에 본문이 들어가지는 않는다.
    201, 204과 같은 상태 코드를 가진 응답에는 보통 본문이 없다.


Reference

0개의 댓글