개념
represation header :
Content-Type. ex) application/JSON ( 어떤 형식으로 전달할지 모르기 때문에 알려줘야 함 ex) byte JSON html)
Content-Length
Content-Language. ex) ko en en-US
content-negotiation :
ex) 클라이언트가 해더로 /evnt GET /event ACCEPT-Language: ko 요청
협상과 우선순위
1. 언어 가중치에 따라 준다
2. 구체적인 것을 우선한다.
===========================
전송방법
1.Content-Encoding =gzip
2.Transfer-Encoding:
chunked 방식 한번에 보내지 말고 나눠서 보내는거 이럴 때는 컨텐트 length를 보내면안됨
3. Content-Range
일반 정보
from : 누가 내 사이트 크롤링 했을 때
Referer : 이전 사이트를 보여줌 ex) 유입 경로를 분석 가능
user-Agent : 클라이언트 앱 에플리케이션 내용 보여줌
특별 정보
Host 호스트 정보 (도메인)
GET /hello HTTP/1.1
Host: aaa.com
Location: url
Allow 허용 가능한 매서드
Retry-After
인증
401 스팩을 날려줄 때 인증과 관련 필요 정보를 제공한다
쿠키
문제
ex) 내가 오전에 로그인하고 오후에 다시 로그인하면 서버는 Stateless 원칙에 의해 전 요청에 대한
내용을 기억하지 못한다. 그래서 오후에 홍길동으로 로그인하여도 서버는 "안녕하세요 손님" 이라고 답할 것이다
해결
1. POST /login HTTp/1.1
2. HTTP/1.1 200 OK
Set-cookie: user- 홍길동
3. 웹브라우저가 쿠기저장소에 먼저 찾아서 해결
문제
계속 웹 어플리케이션 쿠키에 저장되면 보안 문제가 됨
해결
1.sessionid=abcd1234 db에 저장하고 expireds=Sat 를 통해 기한을 정한다 이를 웹 어플리케이션이 쿠키에 저장
로그인 할 때마다 자동으로 sessioid 정보를 같이 보냄
2. 사용처 : 로그인 광고 정보 트래킹
3. 쿠키는 도메인을 지정할 수 있음
'server' 카테고리의 다른 글
브라우저 가동 원리 (0) | 2021.11.18 |
---|---|
cache (0) | 2021.11.03 |
http 상태코드 (0) | 2021.11.03 |
회원관리 시스템 (0) | 2021.11.03 |
HTTP API URL 설계 (0) | 2021.11.02 |