Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

공부일지

HTTP 헤더 - 1 본문

Spring

HTTP 헤더 - 1

알라알리야 2023. 2. 26. 16:02

헤더의 용도 : 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 : 클라이언트가 선호하는 자연 언어

협상의 우선순위

  1. 0 ~ 1 (클수록 높은 우선순위)
  2. 구체적인 것 우선 ex) text/* 보다 text/plain이 더 우선
  3. 구체적인 것을 기준으로 미디어 타입을 맞춤

 

전송 방식

  • 단순 전송
  • 압축 전송
  • 분할 전송 (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