인프런 김영한님 [모든 개발자를 위한 HTTP 웹 기본 지식] 강의를 듣고 정리한 내용입니다.😊😊
1. 일반정보
👉 From
유저 에이전트의 이메일 정보
- 일반적으로 잘 사용되지 않음
- 검색 엔진 같은 곳에서, 주로 사용
- 요청에서 사용
👉 Referer
이전 웹 페이지 주소
- 현재 요청된 페이지의 이전 웹 페이지 주소
- A -> B로 이동하는 경우 B를 요청할 때 Referer: A를 포함해서 요청
- Referer를 사용해서 유입 경로 분석 가능
- 요청에서 사용
참고) referer는 단어 referrer의 오타
👉 User-Agent
유저 에이전트 애플리케이션 정보
- 클라이언트의 애플리케이션 정보(웹 브라우저 정보, 등등)
- 통계 정보
- 어떤 종류의 브라우저에서 장애가 발생하는지 파악 가능
- 요청에서 사용
👉 Server
요청을 처리하는 오리진(ORIGIN) 서버의 소프트웨어 정보
- ORIGIN 서버: 실제로 응답을 보낸 서버(HTTP 요청을 보내면, 실제로 많은 프록시 서버를 거쳐 응답을 받게됨)
- 응답에서 사용
👉 Date
메시지가 생성된 날짜
• 응답에서 사용
2. 특별한 정보
👉 Host ⭐⭐⭐ (중요❗)
요청한 호스트 정보(도메인)
- 요청에서 사용 (필수 사용!!! 매우중요❗❗❗❗❗❗❗⭐⭐⭐⭐⭐)
- 하나의 서버가 여러 도메인을 처리해야 할 때 or 하나의 IP 주소에 여러 도메인이 적용되어 있을 때 사용
EX)
1) 가상 호스트를 통해 여러 도메인을 한 번에 처리할 수 있는 서버가 있음
- ip가 200.200.200.2 인 서버는 aaa.com, bbb.com, ccc.com 도메인을 처리할 수 있음
2) 클라이언트가 Host를 지정하지 않고 서버에 /hello 요청을 보내는 경우
- 서버는 /hello가 aaa.com, bbb.com, ccc.com 중 어떤 도메인에 관한 요청인지 구분X(IP로 통신하기 때문에)
3) 클라이언트가 Host를 지정하고 서버에 /hello 요청을 보내는 경우
- 서버는 /hello가 Host의 aaa.com에 관한 요청인지 알 수 있다(가상 호스팅)
👉 Location
페이지 리다이렉션
- 웹 브라우저는 3xx 응답의 결과에 Location 헤더가 있으면, Location 위치로 자동 이동 (리다이렉트)
- 201 (Created): Location 값은 요청에 의해 생성된 리소스 URI
- 3xx (Redirection): Location 값은 요청을 자동으로 리디렉션하기 위한 대상 리소스를 가리킴
👉 Allow
허용 가능한 HTTP 메서드
- 405 (Method Not Allowed) 에서 응답에 포함해야함
- Allow: GET, HEAD, PUT
👉 Retry-After
유저 에이전트가 다음 요청을 하기까지 기다려야 하는 시간
- 503 (Service Unavailable): 서비스가 언제까지 불능인지 알려줄 수 있음
- 날짜와 초단위 표기 가능
❓ 질문 정리 ❗
Q. 구글에서 hello를 검색하고 위키피디아에 들어가면 referer가 www.google.com/search?q=hello가 아닌, www.google.com/인 이유는?
A. 개인 정보 보호를 위해 도메인을 제외한 추가 정보를 referer에서 제공할 수 있다. 구글의 검색 쿼리가 이에 해당한다.
[출처] https://www.inflearn.com/questions/482175
Q. Post와 Host는 비슷한 개념인가요?
해당 IP에서 Host를 찾고 -> 그 안에서 Port로 구분한다.
[출처] https://www.inflearn.com/questions/217279
'📚 Computer Science > Network' 카테고리의 다른 글
[모든 개발자를 위한 HTTP 웹 기본 지식] 7. HTTP 헤더2 (캐시와 조건부 요청) - 캐시 기본 동작 (0) | 2023.08.17 |
---|---|
[모든 개발자를 위한 HTTP 웹 기본 지식] 7. HTTP 헤더1 (일반 헤더) - 인증, 쿠키 (0) | 2023.08.16 |
[모든 개발자를 위한 HTTP 웹 기본 지식] 7. HTTP 헤더1 (일반 헤더) - 전송 방식 (0) | 2023.08.16 |
[모든 개발자를 위한 HTTP 웹 기본 지식] 7. HTTP 헤더1 (일반 헤더) - 콘텐츠 협상 (0) | 2023.08.16 |
[모든 개발자를 위한 HTTP 웹 기본 지식] 7. HTTP 헤더1 (일반 헤더) - HTTP 헤더 개요, 표현 (0) | 2023.08.16 |