Request

기초/HTTP|2021. 8. 3. 23:03

Request Message의 형식

이미지 출처 : https://ducmanhphan.github.io/2019-02-05-HTTP-protocol/

 

첫 번째 행에는 Request Line이 들어오며, 그 아래는 Request Headers라고 부른다.

그리고 그 전체를 합쳐 Request Message Header라고 부른다.

서버 쪽으로 전송해야 할 정보가 있다면 그 정보(실제 내용)를 payload라고도 하고,

body라고도 하는데, 이 body는 header와 blank line으로 구분한다.

 

즉, Header는 요청 또는 응답에 대한 정보를 가지는 부분.

body는 주고 받는 실제 데이터를 가지는 부분!

* 쿠키는 부가적인 정보이므로 헤더에 저장된다.

 

<Request Line>

GET /doc/test.html HTTP/1.1

→ 웹 서버와 웹 브라우저가 어떤 방식으로 통신할 것인가(method)

→ 우리가 웹 서버에게 요청한 정보가 무엇인지

→ 웹 브라우저가 현재 사용하고 있는/사용할 수 있는 HTTP의 버전

웹 서버는 이 정보를 바탕으로 웹 브라우저에 적합한 방식으로 통신을 한다.

 

<Request Headers>

Host

→ 인터넷에 연결되어 있는 컴퓨터 한 대 한 대를 식별하는 이름.

우리가 요청하는 이 웹사이트의 웹 서버의 주소를 적는 것이라고 보면 된다.

호스트가 있으면 하나의 웹 서버가 여러 개의 도메인을 서비스할 수 있다.... @_@???

User-Agent

→ 웹 브라우저와 거의 같은 말.. 우리가 사용하고 있는 운영 체제와 버전 정보, CPU, 브라우저 정보를 나타낸다.

Accept-Encoding

→ 웹 브라우저와 웹 서버가 서로 통신할 때 응답하는 데이터의 양이 많으면 이를 압축해서 전송하는데,

웹 브라우저가 압축을 풀어서 처리할 수 있고, 그렇게 자원을 아낄 수 있다. 웹 브라우저가 지원하는 압축 방식을 나타낸다.

If-Modified_Since

→ 우리가 요청한 파일을 재요청할 수 있고, 요청할 때마다 다운로드받으면 자원 낭비이다...

이 때 마지막으로 언제 다운로드받은 파일인지 웹 브라우저가 웹 서버에게 알려주는 부분이다.

웹 서버는 자신이 갖고 있는 파일과 비교해서 뭐가 더 최신인지 확인하고 다시 다운로드할 필요가 있는지를 판단한다.

'기초 > HTTP' 카테고리의 다른 글

REST API, URL과 URI  (0) 2021.08.05
Response  (0) 2021.08.03
HTTP?  (0) 2021.07.18

댓글()