Questions tagged «http»

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

12
HTTP状态码0-错误域= NSURLErrorDomain?
我正在开发一个iOS项目。 在此应用程序中,我正在从服务器下载图像。 问题: 下载图像时,我收到请求超时。根据文档,请求超时的HTTP状态代码为408。 但是在我的应用程序中,我收到0带有以下错误的HTTP状态代码 错误域= NSURLErrorDomain代码= -1001“请求超时。” UserInfo = 0xb9af710 {NSErrorFailingURLStringKey = http://xxxx.com/resources/p/PNG/1383906967_5621_63.jpg,NSErrorFailingURLKey = http://xxxx.com/resources/p/PNG/1383906967_5621_63.jpg,NSLocalizedDescription =请求超时。,NSUnderlyingError = 0xx13846870“请求超时。”} 在搜索过程中,通过互联网,我没有找到有关HTTP状态码0的信息。 谁能向我解释一下?

2
$ http获取参数不起作用
有谁知道为什么这不起作用? $http .get('accept.php', { source: link, category_id: category }) .success(function (data, status) { $scope.info_show = data }); 这确实有效: $http .get('accept.php?source=' + link + '&category_id=' + category) .success(function (data, status) { $scope.info_show = data });

4
删除请求正文的RESTful替代方案
尽管HTTP 1.1规范似乎允许DELETE请求上的消息正文,但它似乎表明服务器应该忽略它,因为没有定义的语义。 4.3邮件正文 服务器应根据任何请求读取并转发消息正文;如果请求方法不包括为实体主体定义的语义,则在处理请求时应忽略消息主体。 我已经回顾了关于SO及其它主题的一些相关讨论,例如: 是否允许实体正文进行HTTP DELETE请求? HTTP请求方法的有效载荷 带请求正文的HTTP GET 大多数讨论似乎都同意,可以允许在DELETE上提供消息正文,但通常不建议这样做。 此外,我注意到各种HTTP客户端库中都有一种趋势,其中越来越多的增强功能正在被记录下来以支持DELETE上的请求主体。尽管偶尔会有一些最初的阻力,但大多数图书馆似乎都有义务。 我的用例要求在DELETE上添加一些必需的元数据(例如,删除的“原因”,以及删除所需的其他一些元数据)。我考虑过以下选项,这些选项似乎都不是完全合适的,并且符合HTTP规范和/或REST最佳实践: 邮件正文 -规范表明DELETE上的邮件正文没有语义值;HTTP客户端未完全支持;不是标准做法 自定义HTTP标头 -要求自定义标头通常违反标准做法;使用它们与我的其余API不一致,所有这些都不需要自定义标头;此外,没有良好的HTTP响应可用来指示不良的自定义标头值(可能是一个单独的问题) 标准HTTP标头-没有合适的标准标头 查询参数 -添加查询参数实际上会更改要删除的Request-URI;违反标准做法 POST方法 -(例如POST /resourceToDelete { deletemetadata })POST不是删除的语义选项;POST实际上表示所需的相反操作(即POST创建资源下属;但是我需要删除资源) 多种方法 -将DELETE请求拆分为两个操作(例如,先删除PUT删除元数据,然后执行DELETE),将一个原子操作拆分为两个,可能会导致状态不一致。删除原因(以及其他相关的元数据)不是资源表示本身的一部分。 我的第一个偏好可能是使用消息正文,其次是自定义HTTP标头。但是,如所示,这些方法存在一些缺点。 是否有符合REST / HTTP标准的任何建议或最佳做法,以将此类必需的元数据包括在DELETE请求中?还有其他我没有考虑过的选择吗?

4
“ Vary:接受” HTTP标头的功能是什么?
我使用PHP生成动态网页。如以下教程所述(请参见下面的链接),当$ _SERVER ['HTTP_ACCEPT']允许时,XHTML文档的MIME类型应为“ application / xhtml + xml”。由于可以使用2个不同的MIME(“ application / xhtml + xml”和“ text / html”)为同一页面提供服务,因此应将“ Vary” HTTP标头设置为“ Accept”。这将有助于代理上的缓存。 链接:http: //keystonewebsites.com/articles/mime_type.php 现在我不确定以下含义:header('Vary:Accept'); 我不确定'Vary:Accept'到底会做什么... 我发现的唯一解释是: 在Content-Type标头之后,将发送一个Vary标头(如果我理解正确的话),以告知中间高速缓存(如代理服务器)该文档的内容类型根据请求文档的客户端的功能而有所不同。 http://www.456bereastreet.com/archive/200408/content_negotiation/ 任何人都可以给我这个标头的“真实”解释(带有该值)。我想我了解以下信息:Vary:Accept-Encoding,其中代理上的缓存可以基于所服务页面的编码,但是我不明白:Vary:Accept
93 http  caching  proxy 

8
读取Java中的错误响应正文
在Java中,当HTTP结果为404范围时,此代码将引发异常: URL url = new URL("http://stackoverflow.com/asdf404notfound"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.getInputStream(); // throws! 就我而言,我碰巧知道内容是404,但无论如何我还是想阅读响应的内容。 (在我的实际情况下,响应代码为403,但是响应的主体说明了拒绝的原因,我希望向用户显示该信息。) 如何访问响应正文?

4
http在现代保持活力
因此,据haproxy作者说,他对http知道一两件事: 当CPU速度慢100倍时,发明了Keep-alive来减少服务器上的CPU使用率。但是,没有说持久连接会消耗大量内存,而除了打开它们的客户端之外,任何人都无法使用。在2009年的今天,CPU的价格非常便宜,而且由于架构或价格的原因,内存仍然限制在几GB。如果一个站点需要保持活动状态,那将是一个真正的问题。高负载站点通常会禁用保持活动状态以支持最大数量的并发客户端。没有保持活动的真正弊端是获取对象的延迟稍有增加。浏览器将非Keepalive站点上的并发连接数量加倍,以弥补这一点。 (来自http://haproxy.1wt.eu/) 这符合其他人的经验吗?即没有保持活动状态-现在几乎看不到结果了吗?(对于websockets等,可能值得注意的是-对于响应速度非常快的应用程序,无论保持连接状态如何,连接都会保持“打开”状态)。对于远离服务器的人员来说,效果是否更好?或者在加载页面时是否要从同一主机加载许多工件?(我认为CSS,图像和JS之类的东西越来越多地来自缓存友好的CDN)。 有什么想法吗? (不知道这是否是serverfault.com的内容,但是除非有人告诉我将其移到那里,否则我不会交叉发布)。

13
SecurityException:权限被拒绝(缺少INTERNET权限?)
这个错误真的很奇怪,我不知道如何重现和解决它,因为我进行了很多搜索,但没有用。 这是堆栈跟踪: Stack Trace _________________________________ 0 java.lang.RuntimeException: An error occured while executing doInBackground() 1 at android.os.AsyncTask$3.done(AsyncTask.java:299) 2 at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273) 3 at java.util.concurrent.FutureTask.setException(FutureTask.java:124) 4 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307) 5 at java.util.concurrent.FutureTask.run(FutureTask.java:137) 6 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 7 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 8 at java.lang.Thread.run(Thread.java:856) 9 Caused by: java.lang.SecurityException: Permission denied (missing INTERNET permission?) 10 at java.net.InetAddress.lookupHostByName(InetAddress.java:430) 11 …
92 android  http 

13
在Swift中进行REST API调用
我正在尝试使用Swift来对REST API进行GET调用,并且试图遵循众多教程,但无法弄清楚。要么是因为我无法弄清楚如何将所有Obj-C转换为Swift,要么是因为不赞成使用n'这样的方法的一半。有谁知道如何进行调用以及解析返回的JSON数据?
92 ios  swift  rest  api  http 

4
以两个斜杠开头的URI……它们的行为如何?
最近,我看到了这样的工作代码块: <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 根据RFC 2396(URI语法)和RFC 2616(HTTP 1.1),这些URI以两个斜杠开头是有效的,但是不幸的是RFC并没有真正解释它们。 谁能指出我的资源来解释浏览器将/应该/如何处理这些URI?

3
RESTful API方法;头和选项
我正在为PHP中的应用程序编写RESTful API模块,并且动词HEAD和混合使用OPTIONS。 OPTIONS 用于检索给定资源的可用HTTP动词吗? HEAD 用于确定给定资源是否可用? 如果有人能弄清楚这些动词,那将不胜感激。 *澄清是关于重新使用HTTP动词的RESTful API架构。我既然来实现这两个HEAD和OPTIONS应该不会被重新定意,而是可预测的行为作为任何HTTP应用程序应该。哦,我们两年内的成长。
92 php  api  http  rest 


9
如何在Node中的http.request()上设置超时?
我试图在使用http.request且没有运气的HTTP客户端上设置超时。到目前为止,我所做的是: var options = { ... } var req = http.request(options, function(res) { // Usual stuff: on(data), on(end), chunks, etc... } /* This does not work TOO MUCH... sometimes the socket is not ready (undefined) expecially on rapid sequences of requests */ req.socket.setTimeout(myTimeout); req.socket.on('timeout', function() { req.abort(); }); req.write('something'); req.end(); …
92 http  node.js  timeout 

8
nodejs-第一个参数必须是字符串或Buffer-与http.request一起使用response.write时
我只是试图创建一个输出给定URL的HTTP状态的节点服务器。 当我尝试使用res.write刷新响应时,出现错误:throw new TypeError('第一个参数必须是字符串或Buffer'); 但是,如果我用console.log替换它们,一切都很好(但是我需要将它们写入浏览器而不是控制台)。 该代码是 var server = http.createServer(function (req, res) { res.writeHead(200, {"Content-Type": "text/plain"}); request({ uri: 'http://www.google.com', method: 'GET', maxRedirects:3 }, function(error, response, body) { if (!error) { res.write(response.statusCode); } else { //response.end(error); res.write(error); } }); res.end(); }); server.listen(9999); 我相信我应该在某个地方添加一个回调,但是很困惑,我们将提供任何帮助。
92 node.js  http  callback 

6
如何处理多个同名Cookie?
举例来说,我有一个应用程序发送以下HTTP标头以设置为名为“ a”的cookie: Set-Cookie: a=1;Path=/;Version=1 Set-Cookie: a=2;Path=/example;Version=1 如果我/example在服务器上访问,则两个路径均有效,因此我有两个名为“ a”的cookie!由于浏览器不发送任何路径信息,因此无法区分两个cookie。 Cookie: a=2; a=1 这种情况应该如何处理?选择第一个?创建具有所有cookie值的列表?还是应该将这种情况视为开发人员的错误?
92 http  cookies 

6
我们可以创建自定义HTTP状态代码吗?
我有REST和WCF服务,并希望根据操作发送自定义状态代码。 例如,当某些验证失败时,我想发送HTTP 444;当授权失败时,我想发送HTTP 455 问题是我们如何对SOAP和REST Web服务进行验证。 在客户端上,错误代码如何起作用,因为当您从WCF服务发送HTTP 400/500(使用SOAP)时,客户端上会抛出一个异常,显示状态代码。 现在,如果我发送新的自定义状态代码,客户端将如何处理?
92 c#  asp.net  wcf  http  wcf-rest 

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.