-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[17장] 내용 협상과 트랜스코딩 #14
Comments
내용 협상 기법
클라이언트 주도 협상
서버 주도 협상
내용 협상 헤더
내용 협상 헤더의 품질값
그 외의 헤더들에 의해 결정서버는 또한 User-Agent와 같은 클라이언트의 다른 요청 헤더들을 이용해 알맞은 요청을 만들어내려고 시도할 수 있다 투명 협상
캐시와 얼터네이트
Vary 헤더
트랜스코딩
포맷 변환
정보 합성
콘텐츠 주입
트랜스코딩 vs. 정적으로 미리 생성해놓기
|
내용 협상과 트랜스코딩내용 협상 : 서버에 있는 페이지들 중 어떤 것이 클라이언트에게 맞는지 판단하는 방법. 이 방법을 이용해 하나의 URL이 여러 가지 리소스 중 적합한 것에 대응되도록 할 수 있다. 트랜스코딩 : 클라이언트와 서버 사이의 내용 협상에 대한 응답에서 수행된다. 내용 협상 기법
클라이언트 주도 협상
서버 주도 협상HTTP 서버가 클라이언트에게 보내줄 적절한 응답을 계산하기 위해 사용하는 메커니즘은 다음 두 가지다.
내용 협상 헤더
내용 협상 헤더의 품질 값 HTTP 프로토콜은 클라이언트가 각 선호의 카테고리마다 여러 선택 가능한 항목을 선호도와 함께 나열할 수 있도록 품질값을 정의하였다. Accept-Language: en;q=0.5, fr;q=0.0, nl;q=1.0 q값은 0.0부터 1.0까지 가질 수 있다. 위의 헤더는 클라이언트가 네덜란드어로 된 문서를 받기를 원하고 있으나 영어로 된 문서라도 받아들일것을 의미하고 있다. 그 외의 헤더들에 의해 결정 서버는 또한 User-Agent와 같은 클라이언트의 다른 요청 헤더들을 이용해 알맞은 요청을 만들어내려고 시도할 수 있다. 캐시는 반드시 캐시된 문서의 올바른 최신버전을 제공해주려 하기 때문에 HTTP 프로토콜은 서버가 응답에 넣어 보낼 수 있는 Vary 헤더를 정의한다.
투명 협상
캐시와 얼터네이트(alternate)
Vary 헤더
트랜스코딩: 서버가 클라이언트의 요구에 맞는 문서를 가지고 있지 않을 때 서버가 기존의 문서를 클라이언트가 사용할 수 있는 무언가로 변환하는 옵션 포맷 변환
정보 합성(information synthesis)
콘텐츠 주입
트랜스코딩 vs 정적으로 미리 생성
⇒ 루트 페이지를 필요할 때마다 변환하는 것이 좋다. |
내용 협상 기법
클라이언트 주도 협상
서버 주도 협상
투명 협상
트랜스코딩
다음 단계
|
하나의 URL이 여러 리소스에 대응할 필요가 있는 경우, 요청에 따라 어떤 데이터를 보내줄 지 판단하는 것을 내용 협상이라 한다. 내용 협상 기법서버에 있는 페이지들 중 어떤 것이 클라이언트에게 맞는지 판단하는 방법
클라이언트 주도 협상클라이언트가 요청을 보내면, 서버는 클라이언트에게 선택지를 보내주고, 클라이언트가 선택
서버 주도 협상서버가 클라이언트 요청의 헤더를 보고 적절한 응답을 계산해서 보내준다. 내용 협상 헤더를 보는 방식클라이언트가 자신의 선호 정보를 매 요청마다 보내야한다.
이는 커뮤니케이션 대기 시간을 줄여주지만, 선호 정보가 풍푸하지 않으면 서버는 추측을 해야한다. [내용 협상 헤더의 품질값] 그 외의 헤더를 보는 방식
아파치의 내용 협상아파치 웹 서버가 내용 협상을 지원하는 방법
투명 협상클라이언트 입장에서 협상하는 중개자를 프락시로 두는 방식 캐시와 얼터네이트(alternate)
Vary 헤더HTTP Vary 응답 헤더는 서버가 문서를 선택하거나 커스텀 콘텐츠를 생성할 때 고려한 클라이언트 요청 헤더 모두를 나열한다. 예를 들어, 제공된 문서가 User-Agent 헤더에 의존한다면, Vary 헤더는 반드시 "User-Agent"를 포함해야 한다.
서버의 Vary 헤더가 이렇다면, 거대한 수의 다른 User-Agent와 Cookie 값이 많은 배리언트를 만들어 낼 것이다. 트랜스 코딩서버가 클라이언트의 요구에 맞는 문서를 하나도 갖고 있지 않다면, 기존의 문서를 클라이언트가 사용할 수 있는 무언가로 변환하는 옵션 포맷 변환
정보 합성
콘텐츠 주입
트랜스코딩 vs 정적으로 미리 생성해놓기
|
내용 협상하나의 URL이 여러 리소스 중 적합한 것에 대응 내용 협상 기법클라이언트 주도 협상서버가 클라이언트 요청을 받았을 때 가능한 페이지의 목록을 응답
서버 주도 협상클라이언트가 자신이 무엇을 선호하는지 충분한 정보를 서버에게 전달 클라이언트 내용 협상 헤더
투명 협상중개자 프락시를 둠으로써 Vary 응답 헤더를 포함시켜 내용협상을 위해 어떤 헤더를 사용하고 있는지 포함 캐시와 얼터네이트캐시는 서버가 응답을 돌려줄 때 사용했던 의사결정 로직을 상당 부분 사용해야한다 캐시된 리소스에 Vary 응답 헤더를 포함하여 트랜스코딩서버가 클라이언트의 요구에 맞는 문서를 갖고 있지 않을 경우, 변환할 수 있다 포맷 변환
정보 합성문서에서 정보의 요점을 추출 콘텐츠 주입사용자에 맞춰 콘텐츠를 주입 vs 정적으로 미리 생성사본을 미리 생성하는 것은 현실적이지 않다
|
No description provided.
The text was updated successfully, but these errors were encountered: