HTTP Protocol [Network]

SnowCat·2022년 12월 29일
0

CS - Network

목록 보기
10/11
post-thumbnail

HTTP Protocol?

  • HTTP(HyperText Transfer Protocol)는 웹에서 문서의 전송을 위해 쓰이는 프로토콜
  • 현재는 영상, 사진 등의 대부분의 데이터를 전송 가능하며, 거의 모든 웹 애플리케이션에서 사용하고 있음
  • Request / Response 동작에 기반해 서비스를 제공
  • 기존 (1.0 버전)에는 요청 하나마다 연결을 일일이 해줘야했지만,버전 1.1에서는 한번의 연결에서 여러 HTTP 요청을 할 수 있게 수정됨

HTTP 요청 프로토콜의 구조

  • Request Line: HTTP를 통해 어떠한 요청을 하는지 표현하는 부분
  • Header : 데이터 요청시 필요한 부가적인 정보를 제공하는 부분
  • Body : 요청에 필요한 데이터가 들어가는 부분

Request Line

  • HTTP를 통해 어떠한 요청을 하는지 표현하는 부분으로 구조는 다음 그림과 같음
  • 요청타입에는 GET, POST등과 같은 HTTP 메소드가 들어감
  • URI(Uniform Resource Identifier)는 서버의 특정 자원에 접근하기 위한 식별자
  • HTTP 버전에는 HTTP프로토콜의 버전을 넣음

URI의 구조

  • scheme://host[:port][/path][?query]의 구조를 가짐
  • scheme: 브라우저가 사용할 프로토콜을 나타내며, 보통 http, https를 사용
  • host: 접속할 ip혹은 도메인 주소를 입력함
  • port: 접속할 포트를 입력하며, 생략 가능함
  • path: 서버에서 접속할 리소스의 경로
  • query: key-value 형식으로 제공하는 파라미터, 여러개일 경우에는 &로 구분함

HTTP 응답 프로토콜의 구조

  • 큰 틀에서는 동일하나, Request Line 대신 구조가 다른 Statsu Line이 들어가고 Body에 클라이언트가 요청한 데이터가 들어간다는 차이가 있음

Status Line

  • HTTP 버전: HTTP프로토콜의 버전 표기
  • 상태 코드: 클라이언트의 요청에 대한 응답 결과, 200번대는 연결이 성공했음을 알리고, 400번대는 클라이언트의 문제로 인한 요청 실패, 500번대는 서버의 문제로 인한 요청 실패를 의미함
  • 상태 문구: 응답 결과 대한 구체적인 문구를 넣는 부분

출처:
https://www.youtube.com/watch?v=TwsQX1AnWJU&list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi&index=28
https://inuplace.tistory.com/823

profile
냐아아아아아아아아앙

0개의 댓글