Request
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 |