首页 PHP 库 其它类库 内容协商PHP库
内容协商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

相关文章

php封装协议有哪些内容 php封装协议有哪些内容

02 Aug 2023

php封装协议有命名空间、类、接口、抽象类、命名规范、异常处理和自动加载这些内容。1、命名空间,允许开发者将类、函数、常量等标识符组织在不同的命名空间中,防止命名冲突;2、类,可以继承其他类,实现接口,还可以定义常量和属性;3、接口,通过使用接口,代码的耦合度降低,可扩展性增强;4、抽象类,主要用于定义一个共同的抽象概念,具体的实现由子类完成。

PHP 函数库中有什么内容? PHP 函数库中有什么内容?

26 Apr 2024

PHP函数库是一个内置工具箱,提供广泛的函数和类,涵盖基本操作、字符串操作、数组操作、数据库操作、网络通信、文件系统操作、图像处理、密码算法、数学和统计等方面,使开发人员无需编写代码即可完成各种任务,例如字符串转换、数组操作、数据库查询等。

如何使用PHP修改数据库表的内容 如何使用PHP修改数据库表的内容

26 Apr 2023

PHP是一种广泛使用的服务器端脚本语言,它主要用于Web开发。与前端相比,后端开发更需要应用于数据库操作,从而增强Web应用的数据存储。在PHP中,我们可以使用MySQL数据库,它为PHP提供了强大的数据存储和查询能力。在实际的Web开发中,我们通常需要创建、删除、更新数据库表中的数据,本文将介绍如何使用PHP修改数据库表的内容。一、连接数据库在PHP中,我们可以使用mysql

解读php的PDO连接数据库的相关内容 解读php的PDO连接数据库的相关内容

08 Jun 2018

php的PDO连接数据库在数据操作中很重要,本篇文章将详解其相关内容。

什么是 Asp.Net webAPI C# 中的内容协商? 什么是 Asp.Net webAPI C# 中的内容协商?

11 Sep 2023

内容协商是为给定的内容选择最佳表示的过程当有多个表示可用时的响应。意味着,取决于接受请求中的标头值,服务器发送响应。首要的HTTP中内容协商的机制是这些请求标头-Accept-响应可以接受哪些媒体类型,例如“application/json”、“application/xml”或自定义媒体类型,例如“application/vnd.example+xml”Accept-Charset-可接受哪些字符集,例如UTF-8或ISO8859-1.Accept-Encoding-哪些内容编码是可接受的,例

maven仓库类型有哪些 maven仓库类型有哪些

04 Jan 2024

maven仓库类型:1、本地仓库;2、远程仓库;3、中央仓库;4、私服仓库;5、其他公共远程仓库。详细介绍:1、本地仓库,是存储在本地磁盘上的仓库,它是默认的仓库类型;2、远程仓库,是存储在网络上的仓库,可以由中央仓库、私服仓库和其他公共远程仓库等组成;3、中央仓库,是由Maven团队维护的远程仓库,它包含了世界上大部分流行的开源项目的构件;4、私服仓库等等。

See all articles