我在 http 中遇到“Accept”标头的问题。我写了一个http客户端,当我设置“接受:image/png”时,我仍然可以读取任何文件(如txt、html等)。我认为当像上面那样设置标题“Accept”时,这是不可能的。
我尝试检查我的 Firefox 的行为方式。我写了“about:config”并将“network.http.accept.default”设置为“image/png”,我就可以像平常一样上网了。
我是否误解了这个标题的含义?我认为我应该只能打开文件 *.png。
我想获取网站的标题,但 get_headers 不返回任何内容
这是我的代码
<?php
$url = 'http://www.example.com';
print_r(get_headers($url));
?>
Run Code Online (Sandbox Code Playgroud)
供您参考,我的网络托管提供商是网络解决方案
问题是否来自我的代码或网络托管提供商?
获取一个网站标题的解决方案是什么?
我有一个 Tomcat 服务器,仅提供静态文件(html、css、js)。当请求到来时,它会被代理服务器拦截。代理服务器对用户进行身份验证 userId并向标头添加一个字段并将其转发到我的 Tomcat 服务器。
如何userId从 javascript 访问已存储在标头中的内容?
谢谢
我在加载视频时遇到问题 - 它们都返回 206(部分内容)响应。我想在 100% 完成时触发一个事件,但还没有实现。
这是我在检查器中得到的信息:
响应头
Accept-Ranges:bytes
Accept-Ranges:bytes
Connection:keep-alive
Content-Length:12465963
Content-Length:12465963
Content-Range:bytes 0-12465962/12465963
Content-Type:video/mp4
Date:Wed, 01 Apr 2015 00:26:29 GMT
ETag:"6f23fd3-be372b-51239e2090e70"
Host-Header:192fc2e7e50945beb8231a492d6a8024
Last-Modified:Fri, 27 Mar 2015 00:04:58 GMT
Server:Apache
X-Cache:SGCACHE-MISS
X-Forwarded-For:189.135.253.115
Run Code Online (Sandbox Code Playgroud)
请求标头
Accept:*/*
Accept-Encoding:identity;q=1, *;q=0
Accept-Language:en-US,en;q=0.8
Cache-Control:no-cache
Connection:keep-alive
Cookie:PHPSESSID=ml8n0hh37na09ggjcvvbeld383; key=76626f47b940e09d3601920b684befc62d703fd5%2Bda9d8d1ede4727d1486ac7274487ffa8994d18f3%7C1427415309%7Ce2fa179955ca0ce759d4ba10c1227e825bba261f%7CZGV2YWRtaW4%3D
DNT:1
Host:[xxxxx]
Pragma:no-cache
Range:bytes=0-
Referer:[xxxxx]
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 Safari/537.36
Run Code Online (Sandbox Code Playgroud)
我看到了这个:Content-Range:bytes 0-12465962/12465963- 并注意到它已经加载了除最后一个字节之外的所有字节。
次要问题:我也看到了Cache-Control:no-cache。我正在加载的视频并不大,最好将它们保留在缓存中一小段时间。
我对标题之类的东西一无所知。这是怎么回事?
我正在编写一项服务来从我家的能源监控设备接收数据。设备推送数据的唯一方法是使用 HTTP POST、 withTransfer-Encoding: chunked和 no Content-Length,并在请求正文中使用 XML 形式的数据。
我希望能够在 PHP 脚本(Apache 后面)中读取这些数据并将其存储在我的数据库中。
看来现在在 PHP 中读取 HTTP 请求正文的最正确方法是打开并读取php://input. 然而,PHP 网站上用户的评论表明(并且我的测试证实),如果Content-Length客户端未指定标头,php://input则不会返回任何数据(即使客户端以分块编码发送数据)。
是否有其他方法可以访问请求正文?我可以配置 Apache(使用 .htaccess)来解码分块数据并在获取全部数据后调用我的脚本吗Content-Length?或者配置 PHP 以便它能够处理这个问题?
谢谢!
例如,此页面上的第一个搜索结果会导致较旧的 SO 问题,并带有以下 HTTP 请求:
GET /questions/4402502/how-does-google-set-the-http-referrer-when-someone-clicks-on-a-search-result-lin HTTP/1.1
Host stackoverflow.com
Referer https://www.google.ru
Run Code Online (Sandbox Code Playgroud)
注意:
问题是,他们如何实现这一目标?
我有一个 NGINX 设置来代理我的应用程序服务器请求,如下所示:
daemon off;
#Heroku dynos have at least 4 cores.
worker_processes <%= ENV['NGINX_WORKERS'] || 4 %>;
events {
use epoll;
accept_mutex on;
worker_connections 1024;
}
http {
# Instead of using Rack::Deflater and having the application serer Gzip HTML and JSON requests from
# the client, have the webserver compress them.
gzip on;
gzip_comp_level 3;
gzip_proxied any;
gzip_types text/plain text/css text/json text/javascript
application/javascript application/x-javascript application/json
application/rss+xml application/vnd.ms-fontobject application/x-font-ttf
application/xml font/opentype image/svg+xml text/xml;
underscores_in_headers on;
server_tokens off;
log_format l2met …Run Code Online (Sandbox Code Playgroud) 我有一个调用 http api 的 Angular 服务,该 API 返回一个文件 blob。该服务将响应传递给文件保存方法以呈现文件以供下载。
我正在努力对此方法进行单元测试,特别是确保其中有包含正确标头的响应。我认为它是 TestRequest.flush() 函数的一部分
flush(body: ArrayBuffer | Blob | string | number | Object | (string | number | Object | null)[] | null, opts: {
headers?: HttpHeaders | {
[name: string]: string | string[];
};
status?: number;
statusText?: string;
} = {}): void
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何添加标头。
req.flush(file, {
headers: {
[name: 'Content-Disposition']= '' },
status: 200,
statusText: 'OK'
});
Run Code Online (Sandbox Code Playgroud) 我们有一个 Laravel 应用程序 (Laravel 5.6.35),我们使用 /public 文件夹中的 .htaccess 设置 X-Frame-Options 标头。
<IfModule mod_rewrite.c>
...
</IfModule>
<IfModule mod_headers.c>
# Prevent click jacking
Header set X-Frame-Options Deny
Header always append X-Frame-Options SAMEORIGIN
</IfModule>
Run Code Online (Sandbox Code Playgroud)
这在本地开发环境(Laravel、PHP 7.1.23、Apache2、Vagrant 上的 Debian 8.11)上运行良好。所有响应都设置了 X-Frame-Options 标头。
在测试服务器上进行完全相同的设置(除了它不是 Vagrant),只有静态内容(css、js、图像)包含 X-Frame-Options 标头,但所有 Laravel 生成的内容(通过 index.php 的任何内容)没有设置 X-Frame-Options 标头。
看似相同的设置怎么可能会有不同的结果呢?
我们如何为所有路由设置 X-Frame-Options 标头?
(两台服务器上都启用了 headers_module)
1°我需要在 .htacces 文件中实现权限策略标头
2°我花了一整天的时间在互联网上寻找标题,但是,我只找到了一些解释,说明我没有 100% 理解如何实现它。
3°我在这篇文章Permissions-Policy 中找到了关于标题的更好的解释。我在 .htacces 文件中插入了这行代码以使魔法发生,但我没有在securityheaders上看到绿旗
Permissions-Policy: fullscreen=(self "https://example.com" "https://another.example.com"), geolocation=*, camera=()
Run Code Online (Sandbox Code Playgroud)
4°请,我将非常感谢您的帮助!
5°图像显示安全标头扫描的结果
wordpress http wordpress-theming http-headers custom-wordpress-pages