Tag: http

在JavaScript中访问网页的HTTP头

如何通过JavaScript访问页面的HTTP响应头? 与这个问题有关, 这个问题被修改为询问访问两个特定的HTTP头。 有关: 如何通过JavaScript访问HTTP请求头域?

浏览器收到文件下载时进行检测

我有一个页面,允许用户下载一个dynamic生成的文件。 生成需要很长时间,所以我想显示一个“等待”指标。 问题是,我不知道如何检测浏览器何时收到文件,所以我可以隐藏指标。 我以隐藏的forms发出请求,发送到服务器,并针对其隐藏的iframe的结果。 这是所以我不会取代整个浏览器窗口的结果。 我在iframe上侦听一个“加载”事件,希望在下载完成时触发。 我用文件返回一个“Content-Disposition:attachment”标题,导致浏览器显示“Save”对话框。 但浏览器不会触发iframe中的“加载”事件。 我尝试的一种方法是使用多部分响应。 所以它会发送一个空的HTML文件,以及附加的可下载文件。 例如: Content-type: multipart/x-mixed-replace;boundary="abcde" –abcde Content-type: text/html –abcde Content-type: application/vnd.fdf Content-Disposition: attachment; filename=foo.fdf file-content –abcde 这适用于Firefox; 它接收到空的HTML文件,触发“加载”事件,然后显示可下载文件的“保存”对话框。 但是在IE和Safari上却失败了; IE浏览器会触发“加载”事件,但不会下载文件,Safari下载文件(名称和内容types错误),并且不会触发“加载”事件。 一个不同的方法可能是打电话来启动文件创build,然后轮询服务器,直到它准备好,然后下载已经创build的文件。 但我宁愿避免在服务器上创build临时文件。 有没有人有更好的主意?

HTTP GET请求的最大长度?

什么是HTTP GET请求的最大长度? 是否有响应错误定义服务器可以/应该返回,如果它收到一个GET请求超过这个长度? 更新:如标签中所示,这是在Web服务API的上下文中,尽pipe看到浏览器限制也很有趣。

加载本地文件时出错“仅支持HTTP来源的跨源请求”

我试图用JSONLoader将3D模型加载到Three.js中,并且该3D模型与整个网站位于相同的目录中。 我得到"Cross origin requests are only supported for HTTP." 错误,但我不知道是什么原因造成的,也不知道如何解决。

在浏览器中的最大并行http连接?

我正在创build一些挂起的连接到http服务器(彗星,反向ajax等)。 它工作正常,但我看到浏览器只允许两个暂停连接到一个给定的域同时。 因此,如果用户在浏览器的Tab1中查看我的Web应用程序,那么也会尝试在Tab2中加载它,他们已经用完了两个允许连接到我的网站。 我想我可以做一些通配域的事情,我有我的http服务器parsing我的网站的任何地址,如: *.mysite.com/webapp -> 123.456.789.1 (the actual ip of my server) 所以: a.mysite.com/webapp b.mysite.com/webapp c.mysite.com/webapp 所有仍然指向(www.mysite.com/webapp),但浏览器认为他们不同的领域,所以我不碰到2连接限制。 这是真的? 即使这是事实 – 每个浏览器的活动连接数在所有域中是否有限制? 说我使用上面的scheme – 例如firefox,在任何给定的时间只允许24个并行连接? 就像是: 1) a.mysite.com/webapp 2) www.download.com/hugefile.zip 3) b.mysite.com/webapp 4) c.mysite.com/webapp … 24) x.mysite.com/webapp 25) // Error – all 24 possible connections currently in use! 我只是选了24个连接/ firefox作为例子。

JavaScript中的HTTP GET请求?

我需要在JavaScript中执行HTTP GET请求。 什么是最好的方式来做到这一点? 我需要在Mac OS X dashcode小部件中执行此操作。

在REST中放置与POST

根据HTTP / 1.1规范: POST方法用于请求源服务器接受请求中包含的实体作为Request-Line Request-URI标识的资源的新下属 换句话说, POST被用来创build 。 PUT方法要求封闭的实体存储在提供的Request-URI 。 如果Request-URI引用一个已经存在的资源,封闭的实体应该被认为是驻留在原始服务器上的修改版本。 如果Request-URI不指向现有资源,并且该URI可以被请求用户代理定义为新资源,则源服务器可以使用该URI创build资源。 也就是说, PUT被用来创build或更新 。 那么,应该用哪一个来创build资源? 还是需要同时支持?

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

假设URL为: www.example.com/?val=1#part2 PHP可以使用GET数组读取请求variablesval1 。 散列值part2是否可读? 或者这只是到浏览器和JavaScript?

我如何实现基本的“长轮询”?

我可以find很多关于长轮询如何工作的信息(例如, 这个和这个 ),但是没有关于如何在代码中实现的简单例子。 我所能find的是cometd ,它依赖于Dojo JS框架和相当复杂的服务器系统。 基本上,我将如何使用Apache来服务请求,以及如何编写一个简单的脚本(比如说用PHP)来“长时间轮询”服务器以获得新消息? 这个例子不必是可扩展的,安全的或完整的,只需要工作!

JavaScript提交请求,如表单提交

我试图将浏览器导向到不同的页面。 如果我想要一个GET请求,我可能会说 document.location.href = 'http://example.com/q=a'; 但是我试图访问的资源将不会正确响应,除非我使用POST请求。 如果这不是dynamic生成的,我可以使用HTML <form action="http://example.com/" method="POST"> <input type="hidden" name="q" value="a"> </form> 然后,我只需从DOM提交表单。 但是,我真的想要JavaScript代码,让我说 post_to_url('http://example.com/', {'q':'a'}); 什么是最好的跨浏览器实现? 编辑 对不起,我不清楚。 我需要一个改变浏览器位置的解决scheme,就像提交表单一样。 如果这可能与XMLHttpRequest ,这是不明显的。 这不应该是asynchronous的,也不要使用XML,所以Ajax不是答案。