标签: http

什么是"升级 - 不安全请求"HTTP标头?

我向HTTP(非HTTPS)网站发出了POST请求,检查了Chrome开发者工具中的请求,发现它在将其发送到服务器之前添加了自己的标头:

Upgrade-Insecure-Requests: 1
Run Code Online (Sandbox Code Playgroud)

在搜索之后Upgrade-Insecure-Requests,我只能找到有关发送标头的服务器的信息:

Content-Security-Policy: upgrade-insecure-requests
Run Code Online (Sandbox Code Playgroud)

这似乎是相关的,但仍然非常不同,因为在我的情况下,CLIENT在请求中发送标头,而我发现的所有信息都与SERVER在响应中发送相关标头有关.


那么为什么Chrome(44.0.2403.130米)会添加Upgrade-Insecure-Requests我的请求以及它的作用是什么?


更新2016-08-24:

此标题已被添加为W3C候选推荐标准,现已正式认可.

对于那些刚刚遇到这个问题并且感到困惑的人来说,Simon East 的出色答案很好地解释了这一点.

Upgrade-Insecure-Requests: 1头曾经是HTTPS: 1 在之前的W3C工作草案,并改名悄然由镀铬前的变化成为正式受理.

(在此过渡期间,当此标题上没有官方文档且Chrome是唯一发送此标题的浏览器时,会询问此问题.)

google-chrome http http-headers upgrade-insecure-requests

214
推荐指数
2
解决办法
12万
查看次数

有没有办法在python中进行HTTP PUT

我需要PUT在python中使用HTTP将一些数据上传到服务器.从我对urllib2文档的简要介绍来看,它只能用于HTTP POST.有没有办法PUT在python中做HTTP ?

python http put

213
推荐指数
8
解决办法
14万
查看次数

我可以在服务器端应用程序(PHP,Ruby,Python等)上读取URL的哈希部分吗?

假设URL为:

www.example.com/?val=1#part2
Run Code Online (Sandbox Code Playgroud)

PHP可以val1使用GET数组读取请求变量.

哈希值是否part2也可读?或者这只是浏览器和JavaScript?

language-agnostic url http uri-fragment web

212
推荐指数
7
解决办法
21万
查看次数

在PHP中设置Curl的超时

我正在通过php在eXist数据库上运行curl请求.数据集非常大,因此,数据库一直需要很长时间才能返回XML响应.为了解决这个问题,我们设置了一个curl请求,它应该是一个长时间的超时.

$ch = curl_init();
$headers["Content-Length"] = strlen($postString);
$headers["User-Agent"] = "Curl/1.0";

curl_setopt($ch, CURLOPT_URL, $requestUrl);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, 'admin:');
curl_setopt($ch,CURLOPT_TIMEOUT,1000);
$response = curl_exec($ch);
curl_close($ch);
Run Code Online (Sandbox Code Playgroud)

但是,卷曲请求始终在请求完成之前结束(通过浏览器请求时<1000).有谁知道这是否是在卷曲中设置超时的正确方法?

php curl timeout http

212
推荐指数
6
解决办法
35万
查看次数

URL在jQuery中为AJAX请求编码字符串

我正在我的应用程序中实现Google的即时搜索.我想在用户输入文本输入时触发HTTP请求.我遇到的唯一问题是,当用户到达名字和姓氏之间的空格时,空间不会被编码为a +,从而破坏搜索.如何用a替换空格+,或者只是安全地对字符串进行编码?

$("#search").keypress(function(){       
    var query = "{% url accounts.views.instasearch  %}?q=" + $('#tags').val();
    var options = {};
    $("#results").html(ajax_load).load(query);
});
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery http

211
推荐指数
4
解决办法
40万
查看次数

HTTP POST返回错误:417"期望失败."

当我尝试POST到URL时,会导致以下异常:

远程服务器返回错误:(417)期望失败.

这是一个示例代码:

var client = new WebClient();

var postData = new NameValueCollection();
postData.Add("postParamName", "postParamValue");

byte[] responseBytes = client.UploadValues("http://...", postData);
string response = Encoding.UTF8.GetString(responseBytes); // (417) Expectation Failed.
Run Code Online (Sandbox Code Playgroud)

使用一HttpWebRequest/HttpWebResponse对或一HttpClient对没有区别.

造成这种异常的原因是什么?

.net c# webclient http http-post

209
推荐指数
4
解决办法
19万
查看次数

哪种HTTP方法与哪种CRUD方法匹配?

在RESTful样式编程中,我们应该使用HTTP方法作为构建块.虽然哪种方法与经典的CRUD方法相匹配,但我有点困惑.GET/Read和DELETE/Delete非常明显.

但是,PUT/POST有什么区别?它们是否与"创建和更新"一对一匹配?

rest http crud http-method

206
推荐指数
6
解决办法
12万
查看次数

通过Curl发送带有在File中指定的数据的POST请求

我需要从命令行通过Curl发出POST请求.此请求的数据位于文件中.我知道通过PUT可以通过--upload-file选项完成.

curl host:port/post-file -H "Content-Type: text/xml" --data "contents_of_file"
Run Code Online (Sandbox Code Playgroud)

curl http http-post command-line-interface

203
推荐指数
5
解决办法
25万
查看次数

如何在PHP中创建异步HTTP请求

PHP中有没有办法进行异步HTTP调用?我不关心响应,我只想做类似的事情file_get_contents(),但是在执行其余代码之前不要等待请求完成.这对于在我的应用程序中引发排序的"事件"或触发长进程非常有用.

有任何想法吗?

php asynchronous http

202
推荐指数
11
解决办法
16万
查看次数

Ruby:如何将哈希转换为HTTP参数?

用简单的哈希就很容易了

{:a => "a", :b => "b"} 
Run Code Online (Sandbox Code Playgroud)

这将转化为

"a=a&b=b"
Run Code Online (Sandbox Code Playgroud)

但你如何处理更复杂的事情呢?

{:a => "a", :b => ["c", "d", "e"]} 
Run Code Online (Sandbox Code Playgroud)

这应该转化为

"a=a&b[0]=c&b[1]=d&b[2]=e" 
Run Code Online (Sandbox Code Playgroud)

或者更糟糕的是,(做什么)有类似的事情:

{:a => "a", :b => [{:c => "c", :d => "d"}, {:e => "e", :f => "f"}]
Run Code Online (Sandbox Code Playgroud)

感谢非常感谢的帮助!

ruby parameters http hashmap

198
推荐指数
7
解决办法
12万
查看次数