SPDYGoogle开发的基于传输控制协议(TCP)的应用层协议 。Google最早是在Chromium中提出的SPDY协议Google Chrome浏览器中来访问Google的SSL加密服务。

SPDY当前并不是一个标准协议,但SPDY的开发组已经开始推动SPDY成为正式标准(现为互联网草案[5]

设计

设计SPDY的目的在于降低网页的加载时间[8]

与HTTP的关系

SPDY并不用于取代HTTP,它只是修改了HTTP的请求与应答在网络上传输的方式[1]; 这意味着只需增加一个SPDY传输层,现有的所有服务端应用均不用做任何修改。 当使用SPDY的方式传输,HTTP请求会被处理、标记简化和压缩。比如,每一个SPDY端点会持续跟踪每一个在之前的请求中已经发送的HTTP报文头 部,从而避免重复发送还未改变的头部。而还未发送的报文的数据部分将在被压缩后被发送。

浏览器支持

Google ChromeChromium已经支持SPDY[10].

Mozilla Firefox自11.0开始内嵌支持SPDY,但默认并不使用[13]

Opera从12.10开始支持SPDY.[16]

IE将在IE11开始支持SPDY。[4]

以上来自维基百科  http://zh.wikipedia.org/wiki/SPDY

 

DEMO

以下是DEMO页面

服务基于nodejs

nodejs 安装命令:

npm install spdy

github 地址: https://github.com/indutny/node-spdy

下载github包,然后解压,example里面有hello_world,我把app.js修改了下

如下

 1 var fs = require('fs'),
 2     spdy = require('../../');
 3 var Buffer = require('buffer').Buffer;
 4 
 5 var options = {
 6   key: fs.readFileSync('keys/spdy-key.pem'),
 7   cert: fs.readFileSync('keys/spdy-cert.pem'),
 8   ca: fs.readFileSync('keys/spdy-csr.pem')
 9 };
10 
11 var big = new Buffer(16 * 1024);
12 for (var i = 0; i < big.length; i++) {
13   big[i] = '0'.charCodeAt(0) + (i % 10);
14 }
15 
16 var server = spdy.createServer(options, function(req, res) {
17   if (req.url !== '/') {
18     res.writeHead(404);
19     res.end();
20     return;
21   }
22 
23   res.push('/' + Math.random() + '.txt', {
24     'Content-Type': 'text/plain'
25   }, function(err, stream) {
26     console.log('Push start');
27     if (err)
28       return console.error(err);
29     stream.on('error', function(err) {
30       console.error('Push error', err);
31     });
32     stream.write(big, function() {
33       console.error('Push done');
34     });
35     stream.end();
36   });
37   res.writeHead(200, {
38     "Content-Type": "text/plain"
39   });
40   res.end('ok good');
41 });
42 
43 server.listen(3232, function() {
44   var addr = this.address();
45   console.log('Server is listening on %s:%d', 'localhost', addr.port);
46 });

 

运行 浏览器敲入  https://localhost:3232/

firefox下打开网络请求,如下

 SPDY以及示例

 

SPDY以及示例

 

相关文章: