[webserv] HTTP

James An·2022년 4월 12일
0

42SEOUL

목록 보기
6/11

HTTP

  • HTTP(Hyper Text Transfer Protocol)웹 서버와 웹 클라이언트 간에 데이터를 주고받기 위해 사용하는 인터넷 프로토콜
  • 프로토콜이란 상호 간에 정의한 규칙을 의미하며, 특정 기기 간에 데이터를 주고 받기 위해 정의되었다.

HTTP의 특징

  • 클라이언트/서버 모델을 따른다.
  • 클라이언트/서버 모델에 대한 설명 찾아서 첨부하기

HTTP 메세지

  • 요청 메세지(Request Message) : Client -> Server
  • 응답 메세지(Response Message) : Server -> Client

Request Message

https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview
  • Request는 시작 줄, 헤더 영역, 바디 영역으로 구분
  • 시작 줄 : 클라이언트가 따르는 프로토콜의 버전, 처리에 필요한 리소스의 위치(Path), 처리 방식(Method)
  • 헤더 영역은 한 줄에 key-value 쌍으로 구성
  • 바디 영역은 method와 헤더 정보에 따라 있을 수도 있고, 없을 수도 있음

Request Header

Request Method

URL

Response Message

https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview
  • 시작줄, 헤더 영역, 바디 영역의 구성은 요청 메세지와 같음
  • 다만 시작줄에서 프로토콜 버전이 앞에 오고, Path와 Method 대신에 Status code와 Status message가 온다
  • Status code와 message는 1:1로 대응되는 한 쌍이며, 메시지는 큰 의미가 없고 코드를 읽기 쉽게 문자로 기술한 것

Response status codes

Response Header

https://42seoul.gitbook.io/webserv/or-response
  • 헤더는 요청에만 쓰이는 헤더, 응답에만 쓰이는 헤더, 양쪽 모두 쓰이는 헤더, 특정 상태 코드와만 같이 쓰이는 헤더 등이 있다.
profile
born 2 code :)

0개의 댓글