Questions tagged «http»

超文本传输​​协议(HTTP)是一种应用程序级网络协议,用于在万维网上传输内容。

30
Node.js快速文件服务器(通过HTTP的静态文件)
是否有Node.js即用型工具(安装有npm),可以帮助我通过HTTP将文件夹内容作为文件服务器公开。 例如,如果我有 D:\Folder\file.zip D:\Folder\file2.html D:\Folder\folder\file-in-folder.jpg 然后开始,D:\Folder\ node node-file-server.js 我可以通过访问文件 http://hostname/file.zip http://hostname/file2.html http://hostname/folder/file-in-folder.jpg 为什么我的节点静态文件服务器删除请求? 引用一些神秘的东西 标准的node.js静态文件服务器 如果没有这样的工具,我应该使用什么框架? 相关: NodeJS中的基本静态文件服务器
642 node.js  http  fileserver 


12
REST API错误返回良好做法[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 我正在寻找有关从REST API返回错误的良好实践指南。我正在开发一个新的API,所以我现在可以朝任何方向发展。目前,我的内容类型是XML,但我计划将来支持JSON。 我现在添加了一些错误情况,例如,某个客户端尝试添加新资源,但已超出其存储配额。我已经在使用HTTP状态代码处理某些错误情况(身份验证为401,身份验证为403,普通错误请求URI为404)。我查看了受祝福的HTTP错误代码,但400-417范围似乎都不适合报告应用程序特定的错误。因此,起初我很想以200 OK和特定的XML有效负载返回我的应用程序错误(即,向我们支付更多,您将获得所需的存储空间!),但我停下来考虑一下,而且似乎很肥皂水(/耸了耸肩)。除此之外,感觉像是将错误响应分为不同的情况,因为有些是http状态代码驱动的,而另一些则是内容驱动的。 那么行业的建议是什么?良好做法(请解释原因!),以及从客户端pov看,REST API中的哪种错误处理使客户端代码的工作变得更轻松?
622 web-services  http  rest 

14
在Python中最快的HTTP GET方法是什么?
如果我知道内容将是字符串,那么用Python进行HTTP GET的最快方法是什么?我正在搜索文档,以查找像以下这样的快速单行代码: contents = url.get("http://example.com/foo/bar") 但是,所有我能找到使用谷歌是httplib和urllib-我无法找到这些库中的快捷方式。 标准Python 2.5是否具有上述某种形式的快捷方式,还是应该编写一个函数url_get? 我宁愿不捕获对wget或的炮击输出curl。
612 python  http  networking 

7
大多数Web浏览器中都可以使用PUT,DELETE,HEAD等方法吗?
我在这里看到了几个问题,例如如何调试RESTful服务,其中提到: 不幸的是,同一浏览器不允许我测试HTTP PUT,DELETE,并且在某种程度上甚至无法测试HTTP POST。 我还听说其他一些来源的浏览器仅支持GET和POST: http://www.packetizer.com/ws/rest.html http://www.mail-archive.com/jmeter-user@jakarta.apache.org/msg13518.html http://www.xml.com/cs/user/view/cs_msg/1098 但是,在Firefox中进行的一些快速测试表明,发送PUT和DELETE请求可以正常工作- XMLHttpRequest成功完成了请求,并且使用正确的方法将请求显示在服务器日志中。我是否缺少某些方面的信息,例如跨浏览器的兼容性或非显而易见的限制?

5
HTTP文件上传如何工作?
当我提交带有附件的简单表格时: <form enctype="multipart/form-data" action="http://localhost:3000/upload?upload_progress_id=12344" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="100000" /> Choose a file to upload: <input name="uploadedfile" type="file" /><br /> <input type="submit" value="Upload File" /> </form> 它如何在内部发送文件?文件是否作为数据的一部分作为HTTP正文发送?在此请求的标题中,没有看到与文件名相关的任何内容。 我只是想知道发送文件时HTTP的内部工作原理。
527 http  file-upload 

11
PHP + curl,HTTP POST示例代码?
谁能告诉我如何使用HTTP POST进行php curl? 我想这样发送数据: username=user1, password=passuser1, gender=1 至 www.domain.com 我希望curl会返回类似的响应result=OK。有什么例子吗?
489 php  http  curl  http-post 

7
HTTP GET请求的最大长度
HTTP GET请求的最大长度是多少? 如果服务器收到超过此长度的GET请求,是否定义了服务器可以/应该返回的响应错误? 这是在Web服务API的上下文中,尽管有趣的是也看到了浏览器的限制。
487 web-services  http 

21
检测浏览器何时接收文件下载
我有一个页面,允许用户下载动态生成的文件。生成需要很长时间,因此我想显示一个“等待”指示。问题是,我不知道如何检测浏览器何时收到文件,因此可以隐藏指示器。 我正在以隐藏的形式发出请求,该请求会发布到服务器,并以隐藏的iframe作为结果。这样一来,我就不会用结果替换整个浏览器窗口。我在iframe上侦听“加载”事件,希望下载完成后将触发该事件。 我随文件返回一个“ Content-Disposition:附件”标头,这将导致浏览器显示“保存”对话框。但是浏览器不会在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会下载文件(具有错误的名称和内容类型),并且不会触发“加载”事件。 一种不同的方法可能是调用开始文件创建,然后轮询服务器直到服务器就绪,然后下载已创建的文件。但是我宁愿避免在服务器上创建临时文件。 有谁有更好的主意吗?
487 javascript  http  mime 


19
错误:请求实体太大
我收到Express的以下错误: Error: request entity too large at module.exports (/Users/michaeljames/Documents/Projects/Proj/mean/node_modules/express/node_modules/connect/node_modules/raw-body/index.js:16:15) at json (/Users/michaeljames/Documents/Projects/Proj/mean/node_modules/express/node_modules/connect/lib/middleware/json.js:60:5) at Object.bodyParser [as handle] (/Users/michaeljames/Documents/Projects/Proj/mean/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js:53:5) at next (/Users/michaeljames/Documents/Projects/Proj/mean/node_modules/express/node_modules/connect/lib/proto.js:193:15) at Object.cookieParser [as handle] (/Users/michaeljames/Documents/Projects/Proj/mean/node_modules/express/node_modules/connect/lib/middleware/cookieParser.js:60:5) at next (/Users/michaeljames/Documents/Projects/Proj/mean/node_modules/express/node_modules/connect/lib/proto.js:193:15) at Object.logger (/Users/michaeljames/Documents/Projects/Proj/mean/node_modules/express/node_modules/connect/lib/middleware/logger.js:158:5) at next (/Users/michaeljames/Documents/Projects/Proj/mean/node_modules/express/node_modules/connect/lib/proto.js:193:15) at Object.staticMiddleware [as handle] (/Users/michaeljames/Documents/Projects/Proj/mean/node_modules/express/node_modules/connect/lib/middleware/static.js:55:61) at next (/Users/michaeljames/Documents/Projects/Proj/mean/node_modules/express/node_modules/connect/lib/proto.js:193:15) TypeError: /Users/michaeljames/Documents/Projects/Proj/mean/app/views/includes/foot.jade:31 29| script(type="text/javascript", src="/js/socketio/connect.js") 30| > 31| …

12
浏览器中的最大并行HTTP连接数?
我正在创建到HTTP服务器的一些挂起的连接(comet,反向ajax等)。一切正常,但我看到浏览器仅允许同时暂停到给定域的两个连接。因此,如果用户正在浏览器的Tab1中查看我的网站,然后又尝试将其加载到Tab2中,则他们已经用完了两个允许访问我的网站的连接。 我想我可以做一些通配符域的事情,在这里我的HTTP服务器可以将网站的任何地址解析为: *.example.com/webapp -> 192.0.2.1 (the actual ip of my server) 所以: a.example.com/webapp b.example.com/webapp c.example.com/webapp 所有都仍然指向(www.example.com/webapp),但浏览器认为它们是不同的域,因此我没有遇到2连接限制。这是真的? 即使是这样-在所有域中,每个浏览器的活动连接数是否有限制?说我使用上述方案-例如Firefox是否在任何给定时间仅允许24个并行连接?就像是: 1) a.example.com/webapp 2) www.download.example/hugefile.zip 3) b.example.com/webapp 4) c.example.com/webapp ... 24) x.example.com/webapp 25) // Error - all 24 possible connections currently in use! 我仅以24个连接/ Firefox为例进行说明。

14
在<script src =“ http://…”>中用//替换http://是否有效?
我有以下要素: &lt;script type="text/javascript" src="https://cdn.example.com/js_file.js"&gt;&lt;/script&gt; 在这种情况下,该站点是HTTPS,但该站点也可能只是HTTP。(该JS文件位于另一个域上。)我想知道为方便起见,执行以下操作是否有效: &lt;script type="text/javascript" src="//cdn.example.com/js_file.js"&gt;&lt;/script&gt; 我想知道删除http:或https:是否有效? 在我测试过的所有地方似乎都可以使用它,但是在某些情况下它不起作用?

21
对预检请求的响应未通过访问控制检查
我在使用ngResource调用Amazon Web Services上的REST API时遇到此错误: XMLHttpRequest无法加载 http://server.apiurl.com:8000/s/login?login=facebook。对预检请求的响应未通过访问控制检查:在所请求的资源上不存在“ Access-Control-Allow-Origin”标头。因此,不允许访问源“ http:// localhost ”。 错误405 服务: socialMarkt.factory('loginService', ['$resource', function($resource){ var apiAddress = "http://server.apiurl.com:8000/s/login/"; return $resource(apiAddress, { login:"facebook", access_token: "@access_token" ,facebook_id: "@facebook_id" }, { getUser: {method:'POST'} }); }]); 控制器: [...] loginService.getUser(JSON.stringify(fbObj)), function(data){ console.log(data); }, function(result) { console.error('Error', result.status); } [...] 我正在使用Chrome,但我不知道该怎么做才能解决此问题。我什至将服务器配置为接受origin的标头localhost。

7
带有URL查询参数的HTTP POST-好主意吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 我正在设计一个通过HTTP的API,我想知道是否使用HTTP POST命令,但仅使用URL查询参数,而没有请求主体,是一种不错的方法。 注意事项: “良好的Web设计”要求通过POST发送非幂等动作。这是非幂等的动作。 当请求参数出现在URL中时,开发和调试该应用程序会更加容易。 该API并非旨在广泛使用。 似乎没有主体地发出POST请求将花费更多的工作,例如Content-Length: 0必须显式添加标头。 在我看来,没有主体的POST有点违反大多数开发人员和HTTP框架的期望。 通过URL查询而不是请求正文在POST请求上发送参数是否还有其他陷阱或优势? 编辑:正在考虑的原因是该操作不是幂等的,并且具有除检索之外的副作用。参见HTTP规范: 特别是,已经建立了约定,即GET和HEAD方法不应具有除检索之外的其他任何操作。这些方法应该被认为是“安全的”。这允许用户代理以特殊方式表示其他方法,例如POST,PUT和DELETE,以便使用户知道请求了可能不安全的操作这一事实。 ... 方法还可以具有“幂等”的特性,因为(错误或过期问题除外)N&gt; 0个相同请求的副作用与单个请求的副作用相同。GET,HEAD,PUT和DELETE方法共享此属性。同样,方法OPTIONS和TRACE不应有副作用,因此本质上是幂等的。
451 rest  http 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.