php-为什么Firefox会提示下载经过POST的文件?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php-为什么Firefox会提示下载经过POST的文件?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2480字,纯文字阅读大概需要4分钟。
内容图文
![php-为什么Firefox会提示下载经过POST的文件?](/upload/InfoBanner/zyjiaocheng/688/73b5018cefc546e39aeb30b15030656b.jpg)
这是最奇特的事情.
它来自内部旧版CMS.
当我尝试提交更改时,它提示保存链接在表单的action属性中的文件.
标头
请求
POST /~site/edit/articles/article_save.php?id=54 HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://example.com
Content-Type: multipart/form-data; boundary=---------------------------10102754414578508781458777923
Content-Length: 940
-----------------------------10102754414578508781458777923
Content-Disposition: form-data; name="title"
Home Content
-----------------------------10102754414578508781458777923
Content-Disposition: form-data; name="catid"
18
-----------------------------10102754414578508781458777923
Content-Disposition: form-data; name="activecheck"
1
-----------------------------10102754414578508781458777923
Content-Disposition: form-data; name="image"
-----------------------------10102754414578508781458777923
Content-Disposition: form-data; name="contentWidgToolbarSelectBlock"
<p>
-----------------------------10102754414578508781458777923
Content-Disposition: form-data; name="content"
<p>Edit your article in this text box.</p>
-----------------------------10102754414578508781458777923
Content-Disposition: form-data; name="contentWidgEditor"
true
-----------------------------10102754414578508781458777923--
响应
HTTP/0.9 200 OK
然后Firefox显示出来…
Firefox http://alexanderdickson.com/hosted/stackoverflow.com/firefox-prompt-save.png
我不能从响应标头中确定为什么提示打开/保存.它一直有效.该站点上的所有其他PHP文件都可以正常工作.
有人知道吗?
谢谢
更新资料
显然,它只是使Safari崩溃.
我在CMS文章中添加了图片,并且由于某些未知的原因,图片已正确保存.我无法解释原因.
解决方法:
似乎Web服务器认为您的请求不是HTTP / 1.0请求,因此从回头到需要担心的标头之前回退到史前的HTTP / 0.9.
因此,它返回HTTP / 0.9响应. HTTP / 0.9响应中没有Content-Type标头,因此浏览器不知道它返回的是哪种文件,因此将其视为application / octet-stream并提示保存.
请求是如何生成的,您如何检查它?因为这看起来很可疑:
Content-Length: 940
-----------------------------10102754414578508781458777923
在这两行之间应该有另一个换行符.必须使用双换行符来表示标题的末尾.
(由于诸如此类的Windowsy正在吃掉CRLF序列并将它们转换成普通的LF换行符,从而阻止它们作为HTTP / MIME行尾使用,因此也会出现这种问题.)
内容总结
以上是互联网集市为您收集整理的php-为什么Firefox会提示下载经过POST的文件?全部内容,希望文章能够帮你解决php-为什么Firefox会提示下载经过POST的文件?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。