Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info

Table of Contents

Content Header

분류HeaderDescription

Content

(표현 헤더)

Content-Type
Content-Length
Content-Language
Content-Encoding

Negotiation

(협상 헤더,

클라이언트가 선호하는 표현)

Accept
Accept-Charset
Accept-Language
Accept-Encoding

전송방식 Header

분류Exam HeaderDescription
일반전송

Content-Type: text/plan

Content-Length: 528


압축전송

Content-Type: text/plan

Content-Encoding: gzip

Content-Length: 528


분할전송

Content-Type: text/plan

Content-Length: 528

Transper-Encoding: chunked

Content-Length가 있으면 안됨, 대신 표현메세지에 byte 명세함.

----------------

5 <= 5byte

hello

5 <= 5byte

world

범위전송

Content-Type: text/plan

Content-Range: byte 1001-2000 / 2000


일반정보 Header

요청방식
요청 구분Exam HeaderDescription비고
RequestFromUserAgent의 이메일 주소
Referer: http://www.google.co.kr이전 웹페이지 주소

유입경로 분석

Referrer의 오타로 스펙에 정의됨

User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36요청한 어플리케이션 정보

클라이언트의 어플리케이션 정보


ResponseServer: nginx요청을 처리하는 오리진 서버의 소프트웨어 정보
Date: Tue, 15 NOV 1994 08:21:31 GMT응답 메세지가 생성된 날자

특별한 정보 Header

요청방식
요청 구분Exam HeaderDescription비고

Request

*Host: www.google.com요청한 HOST정보 (도메인)
ResponseLocation: 페이지 리다이렉션
Allow: GET, HEAD, PUT

405 Not Method Allow 발생시

허용가능한 Http Method

실제 거의 사용하지 않음

Retry-After: Fri, 31 Dec 1999 23:59:59 GMT (날자표기)

Retry-After: 120 (초단위 표기)

503 Service Unavailable 발생시

유저 에이전트가 다음 요청하기까기 기다려야 하는 시간


인증 Header

요청 구분Exam HeaderDescription비고
RequestAuthorization:
 
BASIC xxxxxxxxxxx...클라이언트 인증정보를 서버에 전달
ResponseWWW-Authenticate:
BASIC xxxxxxxxxxx...
Newauth realm="apps", type=1, title="Login to \"apps \"", Basic realm="simple"

401 Unauthorized 응답과 함께 사용

리소스 접근시 필요한 인증 방법 정의


Authorization: Token <token>
Info
title인증방식
인증 방식설명예시 헤더 값
Basic사용자 이름과 비밀번호를 Base64로 인코딩한 후 인증. 안전하지 않아 HTTPS로 사용해야 함.Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
Bearer서버에서 발급된 토큰(JWT, OAuth 토큰 등)을 사용하는 방식. 주로 OAuth 2.0에서 사용.Authorization: Bearer <token>
Digest서버에서 제공한 난수를 이용해 암호화된 응답을 보내는 방식. 암호가 직접 노출되지 않음.Authorization: Digest username="user", realm="realm", ...
HOBA클라이언트가 서버에서 제공한 난수를 서명하는 인증 방식. 브라우저 독립적이며 PKI 기반.Authorization: HOBA sig=<signature>
Mutual클라이언트와 서버가 상호 인증을 수행하여 신뢰성을 보장하는 방식. 주로 TLS 기반 인증과 결합.Authorization: Mutual <parameters>
AWS SignatureAWS API 요청에서 사용하는 서명 기반 인증 방식. 요청 데이터를 해시하여 서명을 포함.Authorization: AWS4-HMAC-SHA256 Credential=<credentials>, ...
OAuthOAuth 프로토콜을 통해 액세스 토큰을 얻은 후 해당 토큰을 Bearer로 사용하는 방식.Authorization: Bearer <OAuth access token>
Token기본적으로 클라이언트에서 발급받은 토큰을 사용. Bearer와 유사하나 간단하게 토큰을 전달할 때 사용.

Cooke Header

요청 구분Exam HeaderDescription
RequestCookie: 클라이언트가 서버에서 받은 쿠키를 저장하고, HTTP 요청시 서버로 전달
ResponseSet-Cookie: sessionId=xxxxxx; expires=Sat, 26-Dec-2020 00:00:00 GMT; path=/; domain=.google.com; Secure서버에서 클라이언트로 쿠키 전달

Cache Header

구분요청 구분Exam HeaderDescription
수정일로 캐시Request

Cache-Control: max-age=31536000

If-Modified-Since: Fri, 27 Sep 2019 01:00:00 GMT

캐시 유휴기간 초단위

Expires(하위호환)는 무시됨


Cache-Control: no-cacha

데이터는 캐시해도 되지만, 항상 오리진 서버에 검증하고 사용

Cache-Control: no-store

데이터에 민감 정보가 있으므로 저장하면 안됨

(메모리에서 사용하고 최대한 빨리 삭제) 

ResponseLast-Modified: Fri, 27 Sep 2019 01:00:00 GMT
프록시 캐시Request

Cache-Control: public, max-age=31536000

If-Modified-Since: Fri, 27 Sep 2019 01:00:00 GMT

public: 응답이 public(proxy) 캐시에 저장되도 됨.

Cache-Control: privatemax-age=31536000

If-Modified-Since: Fri, 27 Sep 2019 01:00:00 GMT

private 캐시에 저장되어야함 (default)

Cache-Control: s-maxage

proxy 캐시에만 적용되는 max-age
Response

Age: 60

오리진 서버에서 응답 후 proxy 캐시에 머문시간(초)
버전으로 캐시RequestIf-None-Match: aaaa
ResponseETag: aaaa
하위호환 (http 1.0)
Pragma: no-cache캐시 제어
하위호환
Expires: Fri, 27 Sep 2019 01:00:00 GMT캐시 유효기간
캐시 무효화

Cache-Control: no-cache, no-store,  must-revalidate

Pragma: no-cache (하위호환)