HTTP
HTTP는 Hyper Text Tranfer Protocol의 약자로, www상에서 정보를 주고받을 수 있는 프로토콜이다.
응용계층에 속하며 80번 포트를 사용해서 통신한다.
(HTTPs는 443번 포트를 사용한다.)
HTTP Request Message format
HTTP는 Request를 전송하고, Response를 전송받는 형태이며,
HTTP Request Message는 Start Line, Headers, Message Body로 이루어져있다.
(Header와 Body 사이에는 한 줄의 공백이 있다.)
1. Request Start Line
Request Start Line은 HTTP Method와 Request Target, 프로토콜 버전으로 구성되어있다.
HTTP Method는 GET, POST 등 HTTP통신에서 사용되는 메소드이고, 다른 포스트에서 정리하겠다.
그리고 Request Target은 주로 URL형태로 표현되며, 요청 컨텍스트에 따라 미묘하게 다르다.
Protocol Version은 말 그대로 프로토콜의 버전이다.
2. Request Headers
Header는 Start Line에서 표현되지 않은 더 구체적인 요구를 작성하는 공간이다.
- Host : 서버의 도메인 주소
- Connection : Keep-alive가 디폴트이며, HTTP/2에선 아예 사라진 헤더. 큰 의미가 없다.
- User-Agent : 사용자의 웹 브라우저 종류&버전 정보
------------------Accept 시리즈-----------------------
- Accept : 브라우저가 처리할 수 있는 데이터의 형태
- Accept-Charset : 브라우저가 처리할 수 있는 문자 인코딩 방법
- Accept-Language : 사용하는 언어
- Accept-Encoding : 브라우저가 처리할 수 있는 컨텐츠 압축 방식
------------------------------------------------
- Referer : 이전 페이지의 주소
- Cookie : 쿠키 정보
-------------------Content 시리즈(Entity 헤더라고 부름)-------------
- Content-Length : 메세지의 본문 크기를 byte단위로 표시
- Content-Type : 컨텐츠의 타입과 문자열 인코딩 등을 명시
- Content-Language : 사용하는 언어
- Content-Encoding : 컨텐츠 압축 방식
----------------------------------------------
1번의 Request Start Line과 2번의 Request Headers를 합쳐서 Request Message Header라고 부른다.
3. Request Message Body
본문이다.
'ETC > Network' 카테고리의 다른 글
[HTTP] HTTP Request Method 종류와 설명 (0) | 2020.05.15 |
---|