ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [백엔드 로드맵🐖] HTTP란 무엇인가?
    스터디/백엔드 로드맵 2022. 7. 28. 13:29
    반응형

    HTTP (Hyper Text Transfer Protocol)

    HTTP는 서버와 클라이언트가 서로 데이터를 주고받기 위해 사용되는 규약(Protocol)을 말한다.

    프로토콜이란?
    송신자-수신자 간 통신을 위해 정해놓은 약속같은 것이다.
    드라마 '이상한 변호사 우영우'의 어느 화에서 판사가 '변호사들은 의견을 말하기 전에 먼저 손을 들어라' 라고 말한다.
    변호사들은 판사에게 의견 어필을 하기 위해서는 손을 들어야 한다.
    여기서 '손을 든다'는 판사와 변호사 간의 통신 규약이다.

     

    데이터 형식

    HTTP는 크게 요청(Request)응답(Response)으로 나누어진다.

     

    유튜브를 예를 들어보겠다. 

    '우영우 5화 하이라이트' 영상을 보고 싶어 해당 동영상을 클릭하면, 동영상 페이지가 나오고 재생이 된다. 

    유튜브 사이트에서 영상 제목을 클릭하여 유튜브 서버에게 '우영우 5화 하이라이트를 보고싶다!'고 보내는 과정을 Request라 하고,

    유튜브 서버에서 OK하여 '우영우 5화 하이라이트 영상'을 사용자에게 보내주는 과정을 Response라고 한다.

    요청 형식

    요청 데이터는 크게 HEADER / BODY로 나누어진다.

    그 중 HEADER는 공통 Header + Request Header로 나누어진다

     

    다음은 구글에 http를 검색했을 때의 요청 헤더이다. (크롬에서 F12키를 눌러 Network 탭에서 확인할 수 있다.)

     

    공통 헤더

    Request URL: https://www.google.com/search?q=http&ei=nhLiYsvWFJPv-AbK8Yu4Ag&ved=0ahUKEwjLneLE4Zr5AhWTN94KHcr4AicQ4dUDCA4&uact=5&oq=http&gs_lcp=Cgdnd3Mtd2l6EAMyCwgAEIAEELEDEIMBMgQIABADMgsIABCABBCxAxCDATIFCAAQgAQyBQgAEIAEMgUIABCABDIFCAAQgAQyBAgAEAMyBQgAEIAEMgUIABCABDoHCAAQRxCwAzoOCC4QgAQQsQMQxwEQ0QM6EQguEIAEELEDEIMBEMcBENEDOggIABCABBCxA0oECEEYAEoFCEASATFKBAhGGABQ3QVY8QhgkwpoAXABeACAAXCIAasDkgEDMC40mAEAoAEByAEKwAEB&sclient=gws-wiz
    Request Method: GET
    Status Code: 200 
    Remote Address: 172.217.25.164:443
    Referrer Policy: origin

    Request URL

    서버에 데이터를 달라고 하기 요청하기 위한 주소이다.

    Request Method

    데이터를 어떻게 달라고 할 것인가에 대한 요청 방식이다. (GET / POST / PUT / DELETE)

    Status Code

    요청에 대한 성공 / 실패 코드 (200이면 성공, 400이면 실패 등)

    Remote Address

    어느 리모트 서버에 요청을 하고 있는지 알려준다. 

    Referrer Policy

    요청을 보내는 곳이 본인인지, 다른 곳인지 알려준다.

     

    요청 헤더

    Request Line (요청라인)

    데이터 처리 방식 / 기본 페이지 / 프로토콜의 버전이 적혀져 있다.

    GET /doc/test.html HTTP/1.1

    Request Headers (요청헤더)

    Host

    서버의 도메인 네임

    Accept

    클라이언트가 허용할 수 있는 파일 형식

    User-Agent

    현재 사용자가 어떤 클라이언트를 통해 요청을 보냈는지 알 수 있다. (운영체제, 앱, 브라우저 등)

    Content-Length

    요청과 응답 메세지의 본문 크기를 바이트 단위로 표시해준다.

    Authorization

    인증 토큰을 서버로 보낼 때 사용하는 헤더 (JWT을 사용한 인증에서 주로 사용한다.)

     

    응답 형식

    Status Line (상태 라인)

    HTTP 버전과 상태코드가 적혀져 있다.

    HTTP/1.1 200 OK

    Reponse Headers (응답 헤더)

    Date

    메시지 작성 일자

    Server

    HTTP Server의 정보

    Last-Modified

    응답되는 컨텐츠가 마지막으로 수정된 일시

    ETag

    리소스가 바뀌었는지 확인하는 식별자

    Connection

    네트워크 접속을 유지할지 말지 제어한다.

     

    반응형

    댓글

Designed by Tistory.