HTTP

bbangho·2023년 9월 14일

http

목록 보기
2/6

HyperText Transfer Protocol

HTTP 메세지에 모든 것을 전송

  • HTML, TEXT
  • Image, 음성, 영상, 파일
  • JSOM, XML(API)
  • 거의 모든 형태의 데이터 전송 가능
  • 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용

HTTP 역사

HTTP/1.1 1997년: 가장 많이 사용, 우리에게 가장 중요한 버전

RFC2068(1997) -> RFC2616(1999) -> RFC7230~7235(2014)

-> 1.1에 대해 공부해라.

기반 프로토콜

TCP: HTTP/1.1, HTTP/2
UDP: HTTP/3

현재 HTTP/1.1 주로 사용
23

HTTP 특징

  • 클라이언트 서버 구조
  • 무상태 프로토콜(stateless), 비연결성
  • HTTP 메시지
  • 단순함, 확장가능

Http 메세지

HTTP 메세지 구조
start-line 시작 라인
header 헤더
empty line (CRLF)
message body

시작라인 요청 메세지

start-line = request-line / status-line

request-line = method SP(공백) request-target SP HTTP-version CRLF(엔터)

  • http 메서드
  • 요청 대상(/path?query string)
  • HTTP Version

http 메서드

종류 : GET, POST, PUT, DELETE...
서버가 수행해야 할 동작 지정

GET: 리소스 조회
POST: 요청 내역 처리

요청 대상

absolute-path

절대경로 = "/"로 시작하는 경로

HTTP Version

HTTP version 넣는다.

시작라인 응답 메세지

status-line = HTTP-version SP status-code SP reason-phrase CRLF

HTTP 상태코드: 요청 성공 실패를 나타냄

200: 성공

400: 클라이언트 요청 오류

500: 서버 내부 오류

reason-phrase: 사람이 읽을 수 있게 만들어놓음

HTTP 헤더

header-field = field-name ":" OWS field-value OWS (OWS: 띄어쓰기 허용)

용도 http 전송에 필요한 모든 부가정보
ex) 메세지 바디의 내용 크기, 압축, 인증, 요청 클라이언트 정보, 서버 애플리케이션 정보, 캐시 관리 정보...

HTTP 메시지 바디

실제 전송할 데이터

출처 : 모든 개발자를 위한 HTTP 웹 기본 지식

profile
2024. 06.17

0개의 댓글