[WEB] HTTP Header 구조
[WEB] HTTP 헤더 구조
HTTP 헤더
아래 헤더 정보는 텍스트만 있는 HTML문서에 대한 요청/응답 헤더(HTTP Version 1.1을 기준)
Get /test/test.htm HTTP/1.1
Accept: */*
Accept-Language: ko
Accept-Encoding: gzip, deflate
If-Modified-Since: Fri, 21 Jul 2006 05:31:13 GMT
If-None-Match: "734237e186acc61:a1b"
User-Agent: Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322;
InfoPath.1)
Host: localhost
Connection: Keep-Alive
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.1
X-Powered-By: ASP.NET
Date: Fri, 21 Jul 2006 05:32:01 GMT
Content-Type: text/html
Accept-Ranges: bytes
Last-Modified: Fri, 21 Jul 2006 05:31:52 GMT
ETag: "689cb7f885acc61:a1b"
Content-Length: 101
요청헤더
Get /test/test.htm HTTP/1.1
- 요청 method와 요청 파일정보, http 버전
- GET, POST, PUT, DELETE
- HEAD : 문서의 헤더 정보만 요청하며, 응답데이터(body)를 받지 않음
- TRACE : 클라이언트가 요청한 자원에 도달하기까지의 경로를 기록하는 루프백(loop back) 검사용.
클라이언트가 요청 자원에 도달하기까지 거쳐가는 프록시나 게이트웨이의 중간 경로부터 최종 수신 서버까지의 경로를 알아낼때 사용
Accept
- 클라이언트가 허용할 수 있는 파일 형식으로 */*은 특정 유형이 아닌 모든 파일 형식을 지원함
Accept-Language
- 클라이언트가 인식할 수 있는 언어로 우선 순위 지원이 가능
Accept-Encoding
- 클라이언트가 인식할 수 있는 인코딩
- 압축 방법으로 위의 내용에서는 서버에서 gzip, deflate로 압축한 리소스를 클라이언트가 해석할 수 있는 뜻
If-Modified-Since
- 페이지가 수정되었으면 최신 버전 페이지 요청을 위한 필드.
- 만일 요청한 파일이 이 필드에 지정된 시간 이후로 변경되지 않았다면, 서버로부터 데이터를 전송받지 않습니다.
- 이 경우 notmodifed(304상태코드를 전송받음)
IF-None-Match
- 서버보고 ETag가 달라졌는지 검사해서 Etage가 달라진 경우에만 컨텐츠를 새로 내려주라는 뜻
- 만약 ETag가 같다면 서버는 304 Not Modifided를 응답해서 캐시를 그대로 사용
User-Agent
- 클라이언트 소프트웨어(브라우저, os등)의 이름과 버전 등.
Host
- 요청을 한 서버의 Host
Refer
- 위의 요청 헤더에는 나와 있지 않지만 이 정보도 자주 등장하는 필드
- 특정 페이지에서 링크를 클릭하여 요청을 하였을 경우에 나타나는 필드로써 링크를 제공한 페이지를 나타냄
Cookie
- 위의 요청 헤더에는 나와 있지 않지만 이 정보도 자주 등장하는 필드
- 웹서버가 클라이언트에 쿠키를 저장해 놓았다면 해당 쿠키의 정보를 이름-값 쌍으로 웹서버에 전송
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.1
X-Powered-By: ASP.NET
Date: Fri, 21 Jul 2006 05:32:01 GMT
Content-Type: text/html
Accept-Ranges: bytes
Last-Modified: Fri, 21 Jul 2006 05:31:52 GMT
ETag: "689cb7f886acc61:a1b"
Content-Length: 101
응답 헤더
HTTP/1.1 200 OK
- HTTP버전과 응답 코드(200 성공)
Server
- 웹서버 정보를 나타냄
Date
- 현재 날짜
Content-Type
- 요청한 파일의 MIME 타입을 나타냄
- Text/html은 Text 중 html파일임을 나타냄
Last-Modified
- 요청한 파일의 최종 수정일
Content-Length
- 헤더 이후 이어지는 데이터의 길이(바이트 단위)
- 이어지는 데이터 : 요청한 파일의 데이터
ETag
- 브라우저가 캐시된 파일을 이용할 것인지 아니면 서버로부터 다시 가져와서 할지를 결정하게 하는 헤더
- 캐쉬 업데이트 정보를 위한 임의의 식별 숫자
출처
댓글
댓글 쓰기