HTTP 헤더 개요
• General 헤더: 메시지 전체에 적용되는 정보, 예) Connection: close
• Request 헤더: 요청 정보, 예) User-Agent: Mozilla/5.0 (Macintosh; ..)
• Response 헤더: 응답 정보, 예) Server: Apache
• Entity 헤더: 엔티티 바디 정보, 예) Content-Type: text/html, Content-Length: 3423
현재는 RFC2616 -> RFC7230-7235로 개정되며 Entity 대신 Representation (표현)이라는 용어로 바뀜
표현 = 표현 메타데이터 + 표현 데이터
rest API 의 rest가 Representation에서 온 것 !
표현
• Content-Type: 표현 데이터의 형식 ex) applicaion/json; charaset=utf-8
• Content-Encoding: 표현 데이터의 압축 방식 ex) gzip
• Content-Language: 표현 데이터의 자연 언어 ex) ko-KR
• Content-Length: 표현 데이터의 길이
콘텐츠 협상
클라이언트가 선호하는 표현 요청을 뜻한다.
• Accept: 클라이언트가 선호하는 미디어 타입 전달
• Accept-Charset: 클라이언트가 선호하는 문자 인코딩
• Accept-Encoding: 클라이언트가 선호하는 압축 인코딩
• Accept-Language: 클라이언트가 선호하는 자연 언어
ko-KR,ko;q=0.9, ....
q는 Quality Values로 0-1의 값 중 큰 값일수록 높은 우선순위를 갖는다.
전송 방식
• 단순 전송
• 압축 전송
• 분할 전송: 청크 단위로 바이트/데이터를 쪼개서 전송함
• 범위 전송
일반 정보
• From: 유저 에이전트의 이메일 정보, 잘 사용되지 않음
• Referer: 이전 웹 페이지 주소
• User-Agent: 유저 에이전트 애플리케이션 정보
• Server: 요청을 처리하는 오리진 서버의 소프트웨어 정보
• Date: 메시지가 생성된 날짜
특별한 정보
• Host: 요청한 호스트 정보(도메인), 한 ip에 여러 도메인 적용되어있을 때 필요
• Location: 페이지 리다이렉션, 3xx 리다이렉션 혹은 201 Creatd에서 사용
• Allow: 허용 가능한 HTTP 메서드, 405(Method Not Allowed)에서 올바른 메서드를 알려주기 위함
• Retry-After: 유저 에이전트가 다음 요청을 하기까지 기다려야 하는 시간
인증
• Authorization: 클라이언트 인증 정보를 서버에 전달
• WWW-Authenticate: 리소스 접근시 필요한 인증 방법 정의
쿠키
로그인 세션 유지, 광고 트랙킹 등에 사용
브라우저 내의 쿠키 저장소에서 요청에 자동으로 사용자 정보를 포함시켜줌
• Set-Cookie: expires=Sat, 26-Dec-...
expires 혹은 max-age 에 적용된 시간까지만 유지됨
• domain=example.org
로 명시한 경우 서브 도메인까지 쿠키 정보를 전달
명시하지 않으면 기준 도메인에만 적용
• path=/home
경로를 포함한 하위 경로 페이지에만 쿠키 접근
일반적으로 path=/ (루트)로 지정
• Secure
• HttpOnly
• SameSite
보안 관련 헤더
'Spring boot' 카테고리의 다른 글
[MVC1] 웹 애플리케이션의 이해 (0) | 2021.11.23 |
---|---|
[HTTP] HTTP 헤더 - 캐시와 조건부 요청 (2) | 2021.11.16 |
[HTTP] HTTP 상태코드 (0) | 2021.11.03 |
[HTTP] HTTP 메서드 활용 (0) | 2021.10.27 |
[HTTP] HTTP 메서드 (0) | 2021.10.13 |