更多>
最新下载
24小时阅读排行榜
- 1 ip_local_port_range 用尽后 bind 失败的 ephemeral port 监控与自动扩容脚本
- 2 PostgreSQL jsonb_path_query / @? 操作符的查询写法对比
- 3 Python *args 和 **kwargs 的真实用途
- 4 如何用 LAG()/LEAD() 计算环比增长率(同比/环比)
- 5 中文版html编辑器哪个好用 汉化版编辑器推荐
- 6 Python 异步函数为何不能随意调用
- 7 sftp 超时频繁的 TCP keepalive_time 与 ClientAliveInterval 配置
- 8 python人马兽系列 内部原理详细介绍
- 9 firewalld permanent rule 失效的 firewall-cmd --reload vs --complete-reload
- 10 python人马兽系列 运行环境配置要求
- 11 Go 中 JSON 反序列化失败的常见原因:结构体字段必须导出
- 12 Python 中因索引越界导致的“运行时报错、调试时正常”现象解析
- 13 scp 断点续传的 rsync --append-verify --ignore-existing
- 14 如何用 NULLIF(denominator, 0) 避免 division by zero
- 15 TIME_WAIT 堆积的 net.ipv4.tcp_max_tw_buckets 与 tcp_tw_recycle 替代
更多>
最新教程
-
- Node.js 教程
- 16513 2025-08-28
-
- CSS3 教程
- 1547401 2025-08-27
-
- Rust 教程
- 23599 2025-08-27
-
- Vue 教程
- 25983 2025-08-22
-
- PostgreSQL 教程
- 22496 2025-08-21
-
- Git 教程
- 9398 2025-08-21
下载首页 / 类库下载 / 其它类库
<?php
if (! ($loader = @include __DIR__ . '/../vendor/autoload.php')) {
die(<<<EOT
You need to install the project dependencies using Composer:
$ wget http://getcomposer.org/composer.phar
OR
$ curl -s https://getcomposer.org/installer | php
$ php composer.phar install --dev
$ phpunit
EOT
);
}
$loader->add('Negotiation\Tests', __DIR__);内容协商技术通常有三种实现方案:
(1)客户端驱动
客户端发起请求,服务器发送可选项列表,客户端作出选择后在发送第二次请求。
优点:比较容易实现
缺点:增加了时延,至少要发送两次请求,第一次请求获取资源列表,第二次获取选择的副本。
(2)服务器驱动
服务器检查客户端的请求首部集并决定提供哪个版本的页面。
优点:比客户端驱动的协商要快。HTTP提供了q机制,允许服务器近似匹配,还提供了vary首部供服务器告知下游的设备(如代理服务器)如何对请求估值。
缺点:首部集不匹配,服务器要做猜测
(3)透明协商
某个中间设备(通常是缓存代理)代表客户端进行协商
优点:免除了web服务器的协商开销,比客户端驱动的协商要快。
缺点:HTTP并没有提供相应的规范
本站所有资源都是由网友投搞发布,或转载各大下载站,请自行检测软件的完整性!本站所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!如有侵权请联系我们删除下架,联系方式:admin@php.cn
