...
Info | |
---|---|
|
Content Header
분류 | Header | Description |
---|---|---|
Content (표현 헤더) | Content-Type | |
Content-Length | ||
Content-Language | ||
Content-Encoding | ||
Negotiation (협상 헤더, 클라이언트가 선호하는 표현) | Accept | |
Accept-Charset | ||
Accept-Language | ||
Accept-Encoding |
전송방식 Header
분류 | Exam Header | Description |
---|---|---|
일반전송 | Content-Type: text/plan Content-Length: 528 | |
압축전송 | Content-Type: text/plan Content-Encoding: gzip Content-Length: 528 | |
분할전송 | Content-Type: text/plan
Transper-Encoding: chunked | Content-Length가 있으면 안됨, 대신 표현메세지에 byte 명세함. ---------------- 5 <= 5byte hello 5 <= 5byte world |
범위전송 | Content-Type: text/plan Content-Range: byte 1001-2000 / 2000 |
일반정보 Header
요청 구분 | Exam Header | Description | 비고 |
---|---|---|---|
Request | From | UserAgent의 이메일 주소 | |
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 | 요청한 어플리케이션 정보 | 클라이언트의 어플리케이션 정보 | |
Response | Server: nginx | 요청을 처리하는 오리진 서버의 소프트웨어 정보 | |
Date: Tue, 15 NOV 1994 08:21:31 GMT | 응답 메세지가 생성된 날자 |
특별한 정보 Header
요청 구분 | Exam Header | Description | 비고 |
---|---|---|---|
Request | *Host: www.google.com | 요청한 HOST정보 (도메인) | |
Response | Location: | 페이지 리다이렉션 | |
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 Header | Description | 비고 |
---|---|---|---|
Request | Authorization: |
BASIC xxxxxxxxxxx... | 클라이언트 인증정보를 서버에 전달 | |
Response | WWW-Authenticate: |
Newauth realm="apps", type=1, title="Login to \"apps \"", Basic realm="simple" | 401 Unauthorized 응답과 함께 사용 리소스 접근시 필요한 인증 방법 정의 |
Info | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||
Digest | 서버에서 제공한 난수를 이용해 암호화된 응답을 보내는 방식. 암호가 직접 노출되지 않음. | Authorization: Digest username="user", realm="realm", ... HOBA | 클라이언트가 서버에서 제공한 난수를 서명하는 인증 방식. 브라우저 독립적이며 PKI 기반. | Authorization: HOBA sig=<signature> Mutual | 클라이언트와 서버가 상호 인증을 수행하여 신뢰성을 보장하는 방식. 주로 TLS 기반 인증과 결합. | Authorization: Mutual <parameters> AWS Signature | AWS API 요청에서 사용하는 서명 기반 인증 방식. 요청 데이터를 해시하여 서명을 포함. | Authorization: AWS4-HMAC-SHA256 Credential=<credentials>, ... OAuth | OAuth 프로토콜을 통해 액세스 토큰을 얻은 후 해당 토큰을 Bearer로 사용하는 방식. | Authorization: Bearer <OAuth access token> Token | 기본적으로 클라이언트에서 발급받은 토큰을 사용. Bearer와 유사하나 간단하게 토큰을 전달할 때 사용. | Authorization: Token <token> |
Cooke Header
요청 구분 | Exam Header | Description |
---|---|---|
Request | Cookie: | 클라이언트가 서버에서 받은 쿠키를 저장하고, HTTP 요청시 서버로 전달 |
Response | Set-Cookie: sessionId=xxxxxx; expires=Sat, 26-Dec-2020 00:00:00 GMT; path=/; domain=.google.com; Secure | 서버에서 클라이언트로 쿠키 전달 |
Cache Header
구분 | 요청 구분 | Exam Header | Description |
---|---|---|---|
수정일로 캐시 | 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 | 데이터에 민감 정보가 있으므로 저장하면 안됨 (메모리에서 사용하고 최대한 빨리 삭제) | ||
Response | Last-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: private, max-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 캐시에 머문시간(초) | |
버전으로 캐시 | Request | If-None-Match: aaaa | |
Response | ETag: 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 (하위호환) |