공부일지
HTTP 헤더 - 1 본문
헤더의 용도 : HTTP 전송에 필요한 모든 부가정보
RFC2616 (과거 HTTP. 폐기됨)
General 헤더 : 메시지 전체에 적용되는 정보
Request 헤더 : 요청 정보
Response 헤더 : 응답 정보
Entity 헤더 : 엔티티 바디 정보
RFC7230 ~ 7235 (최신)
엔티티 -> 표현 = 표현 메타데이터 + 표현 데이터
표현 헤더는 표현 데이터를 해석할 수 있는 정보 제공
표현
- Content-Type : 표현 데이터의 형식 ex) html, json
- Content-Encoding : 표현 데이터의 압축 방식 ex) gzip, identity
- Content-Language : 표현 데이터의 자연 언어 ex) ko, en-US
- Content-Length : 표현 데이터의 길이 (바이트 단위)
협상 (콘텐츠 네고시에이션) : 클라이언트가 선호하는 표현 요청
- Accept : 클라이언트가 선호하는 미디어 타입 전달
- Accept - Charset : 클라이언트가 선호하는 문자 인코딩
- Accept - Encoding : 클라이언트가 선호하는 압축 인코딩
- Accept - Language : 클라이언트가 선호하는 자연 언어
협상의 우선순위
- 0 ~ 1 (클수록 높은 우선순위)
- 구체적인 것 우선 ex) text/* 보다 text/plain이 더 우선
- 구체적인 것을 기준으로 미디어 타입을 맞춤
전송 방식
- 단순 전송
- 압축 전송
- 분할 전송 (Content - Length를 보내면 안됨)
- 범위 전송 (절반을 받았다면 절반부터 다운시작)
일반 정보
- From : 유저 에이전트의 이메일 정보 (잘 사용되지 않음)
- Referer : 현재 요청된 페이지의 이전 웹 페이지의 주소 (유입 경로 분석 때 많이 사용 됨)
- User-Agent : 클라이언트의 애플리케이션 정보 (어떤 종류의 브라우저에서 장애가 발생하는지 파악 가능)
- Server : 요청을 처리하는 ORIGIN 서버의 소프트웨어 정보
- Date : 메시지가 발생한 날짜와 시간
특별한 정보
- Host : 요청한 호스트 정보 (필수 헤더)
- Location : 페이지 리다이렉션
- Allow : 허용 가능한 HTTP 메서드
- Retry - After : 유저 에이전트가 다음 요청을 하기까지 기다려야 하는 시간
인증
- Authorization : 클라이언트 인증 정보를 서버에 전달
- WWW-Authenticate : 리소스 접근시 필요한 인증 방법 정의
쿠키
- Set - Cookie : 서버에서 클라이언트로 쿠키 전달
- Cookie : 클라이언트가 서버에서 받은 쿠키를 저장하고, HTTP 요청시 서버로 전달
- 생명주기 : Expires, max-age
- 도메인
- 경로 : 일반적으로 path=/ 루트로 지정
- 보안 : Secure (https인 경우에만 전송), HttpOnly (자바스크립트에서 접근 불가), SameSite
'Spring' 카테고리의 다른 글
싱글톤 패턴, 리펙토링, DI (0) | 2023.03.04 |
---|---|
HTTP 헤더 - 2 (0) | 2023.02.26 |
HTTP 상태 코드 (0) | 2023.02.25 |
HTTP 메서드 활용 (0) | 2023.02.23 |
HTTP 기본, 메서드 (0) | 2023.02.22 |
Comments