HTTP 标头 |功能政策
HTTP Feature-Policy 是响应类型的标头。如今,我们的大多数 Web 浏览器都可以使用某些功能和 API 为 Web 用户提供额外的体验。 Feature-Policy是一个 HTTP 标头,可以允许网站所有者打开或关闭某些 Web 浏览器功能和 API。这种影响是对主机网站和嵌入其中的页面造成的。要使用这个 HTTP 标头,我们可以编辑.htaccess文件或服务器配置文件。需要注意的重要一点是,此标头与网站的安全性无关,而是为网站用户提供良好和流畅的体验。
句法:
Feature-Policy:
指令:此标头接受 2 个指令,但 on 指令可以与其他指令一起重定向,如下所述:
-
:它对应于我们如何使用不同的特性和 API 的说明。 -
:它是一个列表,指示如何使用浏览器功能。
- accelerometer :用于获取有关设备加速度的信息
- ambient-light-sensor :用于获取周围环境是否有足够光线的信息
- autoplay :用于控制媒体自动播放设置。主要用于音频和视频元素
- 电池:用于使用电池状态 API 获取电池状态
- camera :用于通过设备的摄像头控制视频输入
- display-capture : 通过屏幕截图捕获屏幕内容
- document-domain :用于通过设置或取消设置来控制当前文档的文档域
- encrypted-media :用于控制加密媒体扩展 API (EME)
- fullscreen :用于控制全屏访问
- geolocation :用于使用地理定位API 在地图上显示用户的位置
- 陀螺仪:用于获取有关设备访问设备陀螺仪方向的信息
- layout-animations :用于显示布局动画和过渡
- legacy-image-formats :以旧格式显示图像
- 磁力计:用于获取有关设备磁方向的信息
- 麦克风:用于通过设备的麦克风进行音频输入
- midi : 用于访问 Web MIDI API
- oversized-images :用于显示和下载超大尺寸的图像
- 付款:使用付款请求 API 控制所有与付款相关的活动
- 画中画:允许视频以画中画模式播放
- publickey-credentials-get :使用 Web 身份验证 API 并检索公钥凭据
- sync-xhr :用于制作同步XMLHTTPRequest
- usb :控制用于 USB 媒体访问的WebUSB API
- wake-lock :使用 Wake Lock API 通知设备不要进入省电模式
- xr-spatial-tracking :用于通过使用WebXR设备 API 与WebXR会话进行交互
例子
- 考虑一个使用麦克风和摄像头进行视频会议的网站。因此,这种情况下的 HTTP Feature 标头将是 -
Feature-Policy: microphone 'self'; camera 'self'
- 让我们考虑另一个示例,其中 Web 应用程序需要知道您的位置才能为您提供一些特定的服务集。这些服务可以包括但不限于出租车预订、送餐等。因此,这种情况下的 HTTP Feature 标头可以是——
Feature-Policy: geolocation 'self'
支持的浏览器: HTTP header Feature-Policy支持的浏览器如下:
- 谷歌浏览器
- 微软边缘
- 火狐浏览器
- 苹果浏览器