内容协商PHP库
<?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
相关文章

12 Jan 2025
Oracle 数据库中布尔数据类型的可用性与其他 RDBMS(例如提供 BIT 数据类型的 Microsoft SQL Server)不同,Oracle 数据库...

28 Dec 2024
PHP 库很方便,因为可以从应用程序中的任何位置访问它们:从插件、组件模型、模块等。如果有人已经解决了类似的问题并将其设计为库(甚至更新了它),那就有意义了

04 Mar 2025
本文研究了Oracle数据库细分类型(数据,索引,回滚,临时),其性能含义和管理。 它强调根据工作量和数据特征选择适当的段类型,以提高最佳效率


Hot Tools

热门文章
丢失记录:Bloom&Rage -Corey和Dylan的锁组合
19 Feb 2025
手游攻略
Longvinter:完整的钓鱼指南
21 Feb 2025
手游攻略
KCD 2:Zhelejov Marshes的地图位置和解决方案
19 Feb 2025
手游攻略
丢失的唱片:Bloom&Rage-如何打开机舱门
19 Feb 2025
手游攻略
丢失的记录:Bloom&Rage-成就/奖杯指南
19 Feb 2025
手游攻略