TIL _ HTTP _02

해달·2021년 7월 29일
0

TIL

목록 보기
20/80
post-thumbnail

Today 공부


[HTTP] (HyperText Transfer Protocol)

HTML과 같은 문서를 전송하기 위한 Application Layer프로토콜

  • 특징 : Stateless(무상태성)

HTTP messages

클라이언트와 서버 사이에서 데이터가 교환되는 방식

  • 요청(Requests)
  • 응답(Responses)

Requests 와 Responses 는 유사한 구조를 가집니다
1. start line
2. HTTP headers
3. empty line
4. body



요청(Requests)

Start line

  • 3가지 요소가 있다
  • HTTP요청 : 클라이언트 -> 서버 보내는 메세지
  • 수행할 작업(GET 등)이나 방식(HEAD or OPRIONS)을 설명하는 HTTP method를 나타앱니다.
    ex) GET method 는 리소스를 받아야 하고, POST method는 데이터서버로 전송합니다.

  • 요청 대상(일반적으로 URL이나 URI) 또는 프로토콜, 포트, 도메인의 절대 경로는 요청 컨텍스트에 작성됩니다. 이 요청 형식은 HTTP method 마다 다릅니다.

  • HTTP 버전은 메시지의 다른 구조를 결정합니다. 이를 위해 HTTP 버전을 함께 입력합니다.

Headers

  • 요청의 Headers는 기본 구조를 따릅니다.
  • 대소문자 구분 없는 문자열과 콜론(:), 값을 입력합니다
  • 값은 헤더에 따라 다릅니다.
  • 여러 종류의 헤더가 있고 아래와 같이 그룹을 나눌 수 있습니다
    • General headers
    • Request headers
    • Entity headers

Body

  • 요청의 본문은 HTTP messages 구조의 마지막에 위치합니다.
  • 모든요청에 body가 필요하지는 않습니다.
  • body는 두 종류로 나눌 수 있습니다.
    • Single-resource bodies
    • Multiple-resource bodies


응답(Responese)

Status line

응답의 첫 줄은 Status line이라고 부르며, 다음의 정보를 포함합니다.

  • 현재 프로토콜의 버전(HTTP/1.1)
  • 상태 코드 - 요청의 결과를 나타냅니다. (200, 302, 404 등)
  • 상태 텍스트 - 상태 코드에 대한 설명

Headers

응답에 들어가는 HTTP headers는 요청 헤더와 동일한 구조를 가지고 있습니다. 대소문자 구분 없는 문자열과 콜론(:), 값을 입력합니다. 값은 헤더에 따라 다릅니다. 요청의 헤더와 마찬가지로 몇 그룹으로 나눌 수 있습니다

  • General headers
  • Response headers
  • Entity headers

Body

  • 응답의 본문은 HTTP messages 구조의 마지막에 위치합니다.
  • 모든 응답에 body가 필요하지는 않습니다.
  • 응답의 body는 다음과 같이 두 종류로 나눌 수 있습니다.
    • Single-resource bodies(단일-리소스 본문)
    • Multiple-resource bodies(다중-리소스 본문)


Stateless

  • 상태를 가지지 않았다는 뜻
  • 클라이언트에서 발생한 모든 상태를 HTTP 통신이 추적하지 않는다
  • HTTP는 통신 규약일뿐이므로, 상태를 저장하지 않는다

0개의 댓글