개발 소발/기초 컴퓨터,통신
HTTP 표현,협상 이란?
우기!
2021. 8. 13. 10:49
표현
리소스(데이터)를 어떤 표현으로 전달할지를 의미한다.
즉, 서버와 클라이언트가 주고받는 전송 형태를 말한다.
json으로, xml으로 표현한다.
Content-Type | 표현 데이터의 형식 |
Content-Encoding | 표현 데이터의 압축 방식 |
Content-Language | 표현 데이터의 자연언어 |
Content-Length | 표현 데이터의 길이 |
표현 헤더는 reqeust, response 둘 다 사용
Ex)
HTTP/1.1 200 OK
Content-Type : application/json
Content-Length : 16
{“data”:”hello”}
Content-Encoding
- gzip등으로 압축했을 때 클라리언트에서 압축방식을 알아야 하기에 표현을 전달할 때 사용한다.
Content-Length
- ko,en등 한국어, 영어 표현
Content-Language
- byte단위로 표현의 길이를 나타낸다.
협상(콘텐츠 네고시에이션)
클라이언트가 선호하는 표현 요청
Accept | 클라이언트가 선호하는 미디어 타입 전달 |
Accept-CharSet | 클라이언트가 선호하는 문자 인코딩 |
Accept-Encoding | 클라이언트가 선호하는 압축 인코딩 |
Accept-Language | 클라이언트가 선호하는 자연 언어 |
협상헤더는 reqeust에서만 사용한다.
예를 다중언어를 지원하는 서버에서 기본이 영어일 때 한국어를 요청할 때 사용한다.
협상과 우선순위1
Quality values
우선순위를 설정해서 서버에 요청한다
Accept-Language : ko-KR, ko;ko;q=0.9, en-US;9=0.8
1.ko-KR;q=1(q=1은 생략)
2.ko;q=0.9
3.en-US;q=0.8
식으로 숫자가 큰 순으로 우선순위를 정해 요청한다.
협상과 우선순위 2
Quality values(q)
구체적인 것이 우선한다.
Accept : text/*, text/plain, text/plain;format=flowed, */*
협상과 우선순위 3
구체적인 것을 기준으로 미디어 타입을 맞춘다.