TIL22 | HTTP 특징과 구조(Request / Response)
2021. 10. 15. 20:14ㆍ프로그래밍/웹관련
반응형
1. HTTP
✔️ HTTP는 HyperText Transfer Protocol의 약자이다
HyperText
문서와 문서가 링크로 연결되어 있음을 뜻한다.
Transfer
HTML로 만든 웹 페이지 문서(파일)을 보낸다.
Protocol
컴퓨터끼리 어떻게 HTML파일을 주고 받을 지에 대한 소통방식 또는 약속
그래서 HTTP란?
네트워크 상에서 HTML파일을 서로 주고 받을 수 있도록 하는 통신규약이다.
2. HTTP 두가지 특징
1️⃣️ Request & Response
전송을 보내는 주체와 받는 주체의 소통
2️⃣️ Stateless
State(상태)
+ less(없음)
HTTP 개별 통신은 모두 독립이어서, 과거의 HTTP통신의 결과(상태)를 보존하지 않는다.
매 통신마다 사전에 필요한 모든 정보를 담아서 요청을 보내야만 한다.
3. Request & Response 구조
🖇️ Request 구조
:: Start Line
- HTTP Method : 해당 요청이 의도한 액션을 정의. 주로
GET
,POST
,DELETE
가 많이 쓰인다. - Request target : 해당 request가 전송되는 목표 url
- HTTP Version : 말 그대로 사용되는 HTTP 버전. 주로 1.1 버전이 널리 쓰인다.
:: Headers
- Host : 요청을 보내는 목표(타겟)의 주소. 즉, 요청을 보내는 웹사이트의 기본 주소가 된다 (ex. www.apple.co.kr)
- User-Agent : 요청을 보내는 클라이언트의 대한 정보 (ex. chrome, firefox, safari, explorer)
- Content-Type : 해당 요청이 보내는 메세지 body의 타입 (ex. application/json)
- Content-Length : body 내용의 길이
- Authorization : 회원의 인증/인가를 처리하기 위해 로그인 토큰을 Authroization 에 담는다.
:: Body
- 요청 메소드에 따라 존재하지 않을 수 있다.
- 주로 POST 메소드일 때 사용한다.
🖇️ Response 구조
:: Status Line
HTTP Version : 요청의 HTTP 버전과 동일
Status Code : 응답 메세지의 상태 코드
Status Text : 응답의 상태를 간략하게 설명해주는 텍스트
:: Headers
- 요청의 헤더와 동일하다.
- 요청하는 브라우저의 정보가 담긴 User-Agent 대신, Server 헤더가 사용된다.
:: Body
- 응답의 형태에 따라 존재하지 않을 수 있다.
반응형
'프로그래밍 > 웹관련' 카테고리의 다른 글
TIL33 | 인가(Authorization)와 JWT (0) | 2021.10.26 |
---|---|
TIL32 | 인증(Authentication)과 bcrypt (0) | 2021.10.26 |
TIL10 | 크롬 개발자 도구 - Network panel (0) | 2021.10.08 |
[Pug] Syntax (0) | 2021.08.05 |
[node] setInterval, setTimeout, nextTick (0) | 2021.07.30 |