【计算机网络】HTTP协议详解(十一):内容协商机制

内容协商机制

指客户端和服务器端就响应的资源内容进行交涉,然后提供给客户端最为合适的资源,内容协商会以响应资源的语言,字符集,编码方式等作为判断的基准

就如一个网站面向英语、法语两种语言的用户,因此理想情况下,该网站就需要向英语用户提供英文版的网站内容、向法语用户提供法文版的网站内容,HTTP内容协商机制就可以在客户端、服务端之间做这样的决定,使得单一的URL就可以代表不同的资源(同一个网站不同语言版本)


内容协商方式

1.客户端驱动

客户端发起请求,服务器返回可选列表,客户端作出选择后发送第二次请求
优点:尊重用户真实意愿
缺点:需要两次请求,增加了时延

2.服务端驱动(现在最常用)

服务器检查客户端的请求头部集并决定提供哪个版本的页面
优点:只要一次请求,相对于客户端驱动更快,并且提供了权重机制(q=0.7…)服务器端可以近似匹配
缺点:客户端、服务端头部集都不匹配时,服务器要进行猜测

客户端-服务器对应的头部集

客户端-请求头服务端-响应头
Accept:告诉服务器发送何种媒体类型Content-Type
Accept-Language:告诉服务器发送何种语言Content-Language
Accept-Charset:告诉服务器发送何种字符集Content-Type
Accept-Encoding:告诉服务器采用何种编码Content-Encoding

请求头都可以设置权重值来近似匹配
如:Accept-Language:en;q=0.5,fr;q=0.0,nl;q=1.0,tr;q=0.0
表示用户最愿意接受nl(荷兰语),其次是en(英语),不接受fr(法语)和tr(土耳其语)
假如服务器端既没有nl也没有en,这时候服务器端就要进行猜测,通常会设置一个默认,都没有的话就返回默认语言

3.透明协商

某个中间设备(通常是缓存代理)代表客户端进行协商
优点:节省了Web服务器的协商开更快
缺点:不是HTTP标准的协商方式,所以没有相应的规范

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

戴陵FL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值