Web
HTTP 헤더
Choi G.H
2022. 7. 6. 15:52
반응형
HTTP 헤더란?
클라이언트, 서버가 http 전송(요청, 응답)하는데 필요한 모든 부가정보를 담는다.
표현: http를 통해 보낼 실제 데이터
표현 헤더: 표현 데이터를 해석할 정보를 제공하는 데이터
Representation(표현) = Representation Metadata(표현 메타데이터) + Representation Data(표현 데이터)
표현 헤더의 종류
- Content-type: 표현 데이터 형식
- Content-Encoding: 표현 데이터 압축 방식
- Content-Language: 표현 데이터의 자연 언어
- Content-Length: 표현 데이터 길이
...
Content Negotiation
HTTP에서, 컨텐츠 협상이란 동일한 URI에서 리소스의 서로 다른 버전을 서브하기 위해 사용되는 메커니즘으로, 사용자 에이전트가 사용자에게 제일 잘 맞는 것이 무엇인지(예를 들어, 문서의 언어, 이미지 포맷 혹은 컨텐츠 인코딩에 있어 어떤 것이 적절한지)를 명시할 수 있습니다.
협상과 우선순위
1. Quality Value(q)
2. 구체적인 것이 우선
• Accept: text/*, text/plain, text/plain;format=flowed, */*
1. text/plain;format=flowed
2. text/plain
3. text/*
4. */*
전송 방식
- 단순 전송
- 압축 전송: gzip 등으로 압축해 전송
- 분할 전송: chunk(덩어리) 단위로 전송
- 범위 전송: 지정된 byte 범위 전송
일반 정보
- Form: 유저 에이전트의 이메일
- Referer: 이전 웹페이지 주소 - 유입 경로 분석에 쓰임
- User-Agent: 클라이언트의 애플리케이션 정보
- Server: 요청 처리 Origin 서버 정보
- Date: 메시지의 발생 시간, 날짜
특별한 정보
- Host: 요청한 호스트 정보
- Location: 페이지 redirection
>> 3XX 응답 결과에 Location 헤더가 있으면, 자동으로 이동한다. - Allow: 허용 가능한 http 메서드
>> 405(Method Not Allowed)에서 포함함. - Retry-After: 유저 에이전트가 다음 요청을 허가할때까지 기다려야 하는 시간
>> 서비스가 언제까지 사용불가인지 알려준다.
쿠키
http는 stateless 프로토콜이라서 사용자의 로그인 이후 사용자를 기억하지 못한다.
» 모든 요청에 사용자 정보를 포함하면? 보안에 문제, 브라우저 재시작 시 정보는 사라진다.
- set-cookie: 서버→클라이언트 쿠키 전달
- Cookie: 클라이언트가 서버에서 받은 쿠키를 저장하고, http 요청시 서버로 전달
이후 다른 페이지의 모든 요청에 쿠키가 자동으로 포함된다.
반응형