HTTP 공부 목표
- HTTP messages 구조
- HTTP 동작 방식
- HTTP request & responses
- HTTP 응답 메세지
HTTP Messages
HTTP란?
HyperText Transfer Protocol의 줄임말로, HTML 같은 문서를 전송하기 위한 프로토콜이다.
HTTP messages는 클라이언트와 서버 사이에서 데이터가 교환하는 방식이다. 메시지 타입에는 2가지가 있다.
요청 메시지
는 클라이언트가 서버로 전달해서 서버에서 일어나는 메시지고,응답 메시지
는 요청메시지에 대한 서버의 답변이다.
요청메시지, 응답메시지는 유사구조를 가진다.
- 시작줄
- 헤더
- empty line
- 본문
요청
시작줄
- 첫번째
HTTP 메서드로 GET, PUT, POST를 사용, HEAD, OPTIONS을 사용해 서버가 수행해야 할 동작을 나타낸다.
GET
: 리소스를 클라이언트로 가져다 달라는 것 - 조회POST
: 데이터가 서버로 들어가야 함을 의미 - 수정, 문서 생성
- 두번째
두번째로 오는 요청 타겟은 URL, 프로토콜, 포트, 도메인의 절대 경로로 나타낼 수도 있으며, 이들은 요청 컨텍스트에 의해 특정지어 진다. 요청 타겟 포멧은 HTTP 메소드에 따라 달라진다.
형식의 종류
- origin 형식
- asolute 형식
- authority 형식
- asterrisk 형식
헤더
요청에 들어가는 HTTP헤더는 헤더의 기본 구조를 따른다. 대문자 구분없는 문자열 다음에 코론이 붙으며, 그 뒤에 오는 값은 헤더에 따라 달라진다.
헤더의 종류
- Request 헤더
- General 헤더
- Entity 헤더
본문
본문 요청의 마지막 부분으로 들어간다. 모든 요청이 본문에 들어가지 않아, GET, HEAD, DELETE, OPTIONS 처럼 리소스를 가져오는 요청은 본문에 없다.
본문의 종류
- 단일 - 리소스 본문 : 헤더 2개로 정의된 단일 파일
- 다중 - 리소스 본문 : 멀티파트 본문으로 구성된 다중 리소스 본문으로 구성된 본문 파트에 다른 정보를 가지게 된다.
응답
상태 줄
아래 정보를 포함한다.
- 현재 프로토콜의 버전
- 상태 코드 - 요청의 결과를 나타낸다.
- 상태 텍스트 - 상태 코드에 대한 설명
헤더
요청에 들어가는 HTTP헤더는 헤더의 기본 구조를 따른다. 대문자 구분없는 문자열 다음에 코론이 붙으며, 그 뒤에 오는 값은 헤더에 따라 달라진다.
헤더의 종류
- Request 헤더
- General 헤더
- Entity 헤더
GET / home.html HTTP/1.1
POST / index.html HTTP/1.1
DELETE /query.html HTTP/1.1
- GET / POST / DELETE : verb
.html
: URIHTTP/
: version
본문
201, 204 같은 상태 코드를 가진 응답에는 본문이 필요하지 않는다. 응답의 body에는 두가지 종류로 나눌 수 있다.
본문의 종류
- 단일 - 리소스 본문 : 헤더 2개로 정의된 단일 파일
- 다중 - 리소스 본문 : 멀티파트 본문으로 구성된 다중 리소스 본문으로 구성된 본문 파트에 다른 정보를 가지게 된다.
'Language > JS' 카테고리의 다른 글
[JS] HTTP 트렌젝션 해부 및 CORS (0) | 2021.07.20 |
---|---|
[JS] 네트워크 (0) | 2021.07.20 |
[JS]네트워크 - REAT API (0) | 2021.07.20 |
[JavaScript] 객체 지향 프로그래밍 (OOP) (0) | 2021.06.22 |
[JavaScript] 비동기 Callback/Promise/async,await (0) | 2021.06.22 |