- Transfer - Encoding
- Range, Content - Range
전송 방식 설명
- 단순 전송
- 압축 전송
- 분할 전송
- 범위 전송
단순 전송은 Content-Length를 알고 있을 때 전달 해준다.
압축 전송은 단순 전송에 있던 내용들을 gZip 같은 걸로 압축을 한다.
(Content-Encoding의 종류를 나타내주어야 한다.)
용량이 큰 걸 분할 전송으로 보내면 오는데 바로바로 표현을 해 줄수가 있다.
바이트 정보들이 다 나와있기 때문에 분할해서 전송할 때에는 Content-Length를 나타내주면 안된다.
범위 전송 같은 경우에는 범위를 지정해서 전송해 줄수가 있다.
범위를 지정해서 보내어 줄 수 있다.
일반 정보
- From: 유저 에이전트의 이메일 정보
- Referer: 이전 웹 페이지 주소
- User - Agent: 유저 에이전트 애플리케이션 정보
- Server: 요청을 처리하는 오리진 서버의 소프트웨어 정보
- Date: 메시지가 생성된 날짜
From
유저 에이전트의 이메일 정보
- 일반적으로 잘 사용안 함
- 검색 엔진 같은 곳에서, 주로 사용
- 요청에서 사용
Refer
이전 웹 페이지 주소
- 현재 요청된 페이지의 이전 웹 페이지 주소
- A -> B로 이동하는 경우 B를 요청할 때, Referer: A를 포함해서 요청
- Referer를 사용해서 유입 경로 분석 가능
- 요청에서 사용
- 참고: referer는 단어 referrer의 오타이다.
WIKI에서 Adele의 노래 hello를 검색하면 아래와 같이 뜬다. 영국이라는 버튼을 클릭하고 Request-Headers에서 referer를 보자
이전 웹페이지의 주소가 나타난다.
User-Agent
유저 에이전트 애플리케이션 정보를 나타낸다.
- user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/ 537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36
- 클라이언트의 애플리케이션 정보(웹 브라우저 정보, 등등)
- 통계 정보
- 어떤 종류의 브라우저에서 장애가 발생하는지 파악 가능
- (특정 브라우저에서만 버그가 생긴다 => 로그 파싱을 해서 파악이 가능)
- 요청에서 사용
Server
요청을 처리하는 ORIGIN 서버의 소프트웨어 정보
- Server: Apache/2.2.22(Debian)
- server: nginx
- 응답에서 사용
Date
메시지가 발생한 날짜와 시간
- Date: Tue, 15 Nov 1994 08:12:31 GMT
- 응답에서 사용
특별한 정보
Host
요청한 호스트 정보(도메인)
- 요청에서 사용
- 필수
- 하나의 서버가 여러 도메인을 처리해야 할 때
- 하나의 IP 주소에 여러 도메인이 적용되어 있을 때
호스트 헤더가 있기 때문에 Host:aaa.com에 들어가는 구나 하고 내부에 있는 aaa.com으로 들어가게 된다.
Location
페이지 리다이렉션
- 웹 브라우저는 3xx 응답의 결과 Location 헤더가 있으면, Location 위치로 자동 이동(리다이렉트)
- 응답코드 3xx에서 설명
- 201(Created): Location 값은 요청에 의해 생성된 리소스 URI
- 3xx (Redirection): Location 값은 요청을 자동으로 리디렉션하기 위한 대상 리소스를 가리킴
Allow
허용 가능한 HTTP 메서드
- 405(Method Not Allowed) 에서 응답에 포함해야함
- Allow: GET, HEAD, PUT
Retry - After
유저 에이전트가 다음 요청을 하기까지 기다려야 하는 시간
- 503(Service Unavailable): 서비스가 언제까지 불능인지 알려줄 수 있음
- Retry - After: Fri, 31 Dec 1999 23:59:59 GMT (날짜 표기)
- Retry - After: 120 (초단위 표기)
<출처 김영한: 모든 개발자를 위한 HTTP 웹 기본 지식 >
https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard
모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의
실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., - 강의 소개 | 인프런...
www.inflearn.com
'HTTP' 카테고리의 다른 글
캐시 기본 동작 & 검증 헤더와 조건부 요청 (0) | 2022.04.30 |
---|---|
인증 & 쿠키 (0) | 2022.04.30 |
HTTP 헤더 개요 & 표현 및 컨텐츠 협상 (0) | 2022.04.30 |
HTTP 상태코드 2xx 3xx 4xx 알아보자. (0) | 2022.04.27 |
HTTP API 설계 예시 (0) | 2022.04.27 |