首页 > Web开发 > 详细

Http长连接

时间:2019-03-17 21:49:45      阅读:152      评论:0      收藏:0      [点我收藏+]

1、Http长连接

Http的请求时在TCP连接上进行发送的,TCP的连接分为长连接和短连接

打开www.baidu.com,查看Connection ID 如下图。 Connection ID代表TCP连接的ID,可以区分是否用的是同一个TCP连接

技术分享图片

如果域名不一样,Connection ID会不一样。

比如Chrome允许并发创建6个TCP连接,其它要连接要等这6个创建完成,才能创建。

 

2、如何保证长连接

技术分享图片

keep-alive代表这个连接时保持的,就不会请求完毕后就被关闭

 

请求头中也有keep-alive

技术分享图片

 

 

3、测试

1)server.js

const http = require(‘http‘);
const fs = require(‘fs‘)

http.createServer(function(request, response){
    console.log(‘request com‘, request.url)
   
    //html格式
    if(request.url === "/"){
        const html = fs.readFileSync("test.html",‘utf-8‘)
        response.writeHead(200,{
            ‘Content-Type‘:‘text/html‘
        })
        response.end(html)
    } //图片JPG格式
    else{
        const img = fs.readFileSync("test.jpg")
        response.writeHead(200,{
            ‘Content-Type‘:‘image/jpg‘
        })
        response.end(img)
    }

   
    


}).listen(8888);

console.log(‘server listening on 8888‘)

  

2) html 文件

<html>
    <head>
        <title>Document</title>
    </head>
    <body>
        <img src="/test1.jpg" >
        <img src="/test2.jpg" >
        <img src="/test3.jpg" >
        <img src="/test4.jpg" >
        <img src="/test5.jpg" >
        <img src="/test6.jpg" >
        <img src="/test7.jpg" >
    </body>

  
   
</html>

  

还有一张test.jpg 文件

技术分享图片

 

 输入http://localhost:8888/  如下图: 

技术分享图片

 

如果html加载更多的图片,并发数为6

<html>
    <head>
        <title>Document</title>
    </head>
    <body>
        <img src="/test1.jpg" >
        <img src="/test2.jpg" >
        <img src="/test3.jpg" >
        <img src="/test4.jpg" >
        <img src="/test5.jpg" >
        <img src="/test6.jpg" >
        <img src="/test7.jpg" >

        <img src="/test11.jpg" >
        <img src="/test12.jpg" >
        <img src="/test13.jpg" >
        <img src="/test14.jpg" >
        <img src="/test15.jpg" >
        <img src="/test16.jpg" >
        <img src="/test17.jpg" >

        <img src="/test21.jpg" >
        <img src="/test22.jpg" >
        <img src="/test23.jpg" >
        <img src="/test24.jpg" >
        <img src="/test25.jpg" >
        <img src="/test26.jpg" >
        <img src="/test27.jpg" >
    </body>

  
   
</html>

  

技术分享图片

 

4、关闭长连接

 技术分享图片

 

则每个http请求都会创建一个TCP连接

技术分享图片

 

Http长连接

原文:https://www.cnblogs.com/linlf03/p/10505332.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!