Tag: http

URL的目录部分的有效字符(用于简短链接)

除了A-Za-z0-9之外,还有其他什么字符可以用来缩短链接而不会陷入麻烦…… :)我正在考虑+, – 或者什么。 是否有一个定义的标准,哪些字符可以在浏览器厂商尊重的url中使用?

如何正确使用AngularJS中的HTTP.GET? 具体而言,对于外部API调用?

我在controller.js中有以下代码, var myApp = angular.module('myApp',[]); myApp.service('dataService', function($http) { delete $http.defaults.headers.common['X-Requested-With']; this.getData = function() { $http({ method: 'GET', url: 'https://www.example.com/api/v1/page', params: 'limit=10, sort_by=created:desc', headers: {'Authorization': 'Token token=xxxxYYYYZzzz'} }).success(function(data){ return data }).error(function(){ alert("error"); }); } }); myApp.controller('AngularJSCtrl', function($scope, dataService) { $scope.data = dataService.getData(); }); 但是,我想我可能犯了与CORS有关的问题。 你能指点一下正确的方式来打这个电话吗? 非常感谢!

什么具体的用例通过WebSockets和长期投票调用BOSH?

BOSH是… 传输协议通过有效地使用多个同步HTTP请求/响应对而不需要使用频繁的轮询或分块响应来模拟两个实体(诸如客户端和服务器)之间的长期双向TCP连接的语义。 这听起来像WebSockets和HTTP长轮询,除了它使用两个开放的HTTP连接而不是一个,并且不扩展HTTP协议。 这两种协议有什么区别,哪种用例更喜欢WebSocket而不是BOSH?

Node.JS中的基本HTTP身份validation?

我试图用NodeJS编写一个REST-API服务器,就像Joyent使用的服务器一样,除了我无法validation一个普通用户的身份validation外,一切正常。 如果我跳转到terminal,并执行curl -u username:password localhost:8000 -X GET ,我无法获取NodeJS http服务器上的值username:password。 如果我的NodeJS http服务器是类似的 var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337, "127.0.0.1"); ,不应该得到值来自callback的req对象中的值username:password。 如何获得这些值,而不必使用Connect的基本httpauthentication ?

HTTP Expires标头值“0”和“-1”

HTTP响应头中的Expires: 0和Expires: -1什么区别? RFC 2616定义了无效的date格式,特别是包括值“0” 已过期 。 但是,某些服务器(例如www.google.de)回复“ Expires: -1 。 比使用-1超过0还是有优势,甚至这是一些破碎的HTTP客户端所需要的吗?

REST URLdevise – 一个HTTP调用中的多个资源

可能重复: Rails 3 Custom将多个ID作为参数 根据我的理解,获取资源的良好REST URL将如下所示: /resource/{id} 我遇到的问题是,我经常需要同时获取大量的资源,而不想为每个资源都分别进行HTTP调用 。 是否有一个整洁的URLdevise,将迎合这一点,或者这只是不适合REST API?

什么是HTTP请求/响应头的平均大小?

我知道这听起来很愚蠢。 我正在使用一个只有16MB RAM的embedded式平台。 而且我需要深度包过滤HTTPstream。 为了防止设备的DoS,我想要一些关于HTTPstream大小的统计平均值,特别是HTTP头。

在Android中进行asynchronousHTTP请求是否有一个公认的最佳做法?

我已经看到了许多例子,他们似乎都以不同的方式解决这个问题。 基本上我只想要最简单的方法来使请求不会locking主线程,并可以取消。 这也没有帮助,我们有(至less)2个HTTP库可供select,java.net。*(如HttpURLConnection)和org.apache.http。*。 对最佳做法有何共识?

在HTTP“主机”头参数中是否需要端口号?

说我做了一个HTTP请求: foosite.com但实际发送请求的端口是6103,我不把这个端口放在Host头,例如: GET /barpage HTTP/1.1 Host: foosite.com Method: GET 那么http服务器应该认识到我正试图在端口6103上与它交谈? 或者,因为它在请求头被省略,我赌博,如果服务器实际上认识到这一点? 我问这个问题说:我发现浏览器,至lessfirefox + chrome,把端口int的Host头。 但是我正在使用的Java应用程序没有。 而当端口没有通过Host服务器回应思考我在80端口。那么我需要獾谁? 服务器运营商,还是Java程序员?

WebSocket服务器如何处理多个传入的连接请求?

据此: HTTP升级头请求服务器将应用层协议从HTTP切换到WebSocket协议 。 客户端握手build立了IE10和服务器之间的HTTP-on-TCP连接。 在服务器返回其101响应之后,应用层协议从HTTP切换到使用先前build立的TCP连接的WebSocket。 在这一点上, HTTP完全没有了 。 使用轻量级的WebSocket有线协议,消息现在可以随时由任一端点发送或接收。 所以,我的理解是,在第一个客户端与服务器握手后,服务器的80端口将被WebSocket协议垄断 。 HTTP不再在80端口上工作 。 那么第二个客户端怎么会和服务器交换握手呢? 毕竟WebSocket握手是HTTP格式的。 ADD 1 感谢所有迄今为止的答案。 他们真的很有帮助。 现在我明白,同一个服务器的80端口是由多个TCP连接共享的。 而且这种共享是完全可以的,因为Jan-Philip Gehrcke指出TCP连接是由一个5元组元素来标识的。 我想补充一些想法。 WebSocket和HTTP都只是应用程序级别的协议。 通常他们都依赖TCP协议作为传输。 为什么select80端口? WebSocketdevise有意select服务器端口80进行握手和后续通信 。 我认为devise人员希望使WebSocket通信看起来像 从传输层面(即服务器端口号仍为80)的普通HTTP通信。 但根据jfriend00的回答,这个伎俩并不总是欺骗networking基础设施。 协议如何从HTTP转换到WebSocket发生? 从RFC 6455 – WebSocket协议 基本上,它打算尽可能接近暴露原始的TCP到脚本在给定的Web约束下。 它的devise也使得它的服务器可以与HTTP服务器共享一个端口,因为它的握手是一个有效的HTTP升级请求。 人们可以从概念上使用其他协议来build立客户端 – 服务器消息传递,但是WebSockets的目的是提供一个相对简单的协议,它可以与HTTP共存并部署HTTP基础设施(如代理服务器),并且与安全的TCP在给定安全考虑的情况下与这样的基础设施一起使用,有针对性的添加以简化使用并简单简单的事情(例如添加消息语义)。 所以我觉得我错了下面的说法: 握手请求模仿 HTTP请求而不是后面的通信。 握手请求到达端口80上的服务器。 因为它是80端口,服务器将使用HTTP协议处理它。 这就是为什么WebSocket握手请求必须是HTTP格式。 如果是这样,我认为HTTP协议必须被修改/扩展来识别那些WebSocket特定的东西。 否则,它不会意识到它应该产生 WebSocket协议。 我认为应该这样理解: WebSocket通信从客户端到服务器的有效 HTTP请求开始。 所以服务器遵循HTTP协议来parsing握手请求,并确定协议变更请求。 它是切换协议的服务器。 […]