keep-alive

PHP, nodeJS and sessions

99封情书 提交于 2020-06-24 03:22:09
问题 I have an classical apache server delivering php files, and a nodeJS server (with socket.io, but whithout express/connect) used for real-time event management on that PHP website. I sometimes need to authenticate the clients connecting to the nodeJS server, but this authentication is lost when the user reloads the page, because it also reloads the socket.io client (I store the socket ID on the server, which gets lost at each refresh) The question is: Is there a way to keep the connection

PHP, nodeJS and sessions

社会主义新天地 提交于 2020-06-24 03:21:32
问题 I have an classical apache server delivering php files, and a nodeJS server (with socket.io, but whithout express/connect) used for real-time event management on that PHP website. I sometimes need to authenticate the clients connecting to the nodeJS server, but this authentication is lost when the user reloads the page, because it also reloads the socket.io client (I store the socket ID on the server, which gets lost at each refresh) The question is: Is there a way to keep the connection

jdk下httpserver源码解析

送分小仙女□ 提交于 2020-04-05 19:41:37
在写这篇博客之前我查了很久发现全网都没有一篇写httpserver源码解析的 所以今天就由我来为大家解析一下httpserver的源码。(这里我会去掉其中的https部分的源码,只讲http部分,对httpserver中https的实现感兴趣的读者可以尝试自己去阅读,这部分并不复杂) 第一次在没有参考资料的情况下写这么长一篇源码解析,可能会有很多错误和讲不清楚的地方,希望大家尽量指出来。 本文链接 https://www.cnblogs.com/fatmanhappycode/p/12614428.html httpserver的简单使用例子 大家最好先跟着我构建这样一个小demo, 跑起来之后再一步一步去看源码 /** * @author 肥宅快乐码 */ public class HttpServerSample { private static void serverStart() throws IOException { HttpServerProvider provider = HttpServerProvider.provider(); // 监听端口8080,连接排队队列,如果队列中的连接超过这个数的话就会拒绝连接 HttpServer httpserver =provider.createHttpServer(new InetSocketAddress(8080),

HTTP长连接

你离开我真会死。 提交于 2020-03-19 09:30:52
尝试翻译片技术文章。 What is HTTP Persistent Connections? HTTP persistent connections, also called HTTP keep-alive, or HTTP connection reuse, is the idea of using the same TCP connection to send and receive multiple HTTP requests/responses, as opposed to opening a new one for every single request/response pair. Using persistent connections is very important for improving HTTP performance. 什么是HTTP长连接? HTTP长连接,与一般每次发起http请求或响应都要建立一个tcp连接不同,http长连接利用同一个tcp连接处理多个http请求和响应,也叫HTTP keep-alive,或者http连接重用。使用http长连接可以提高http请求/响应的性能。 There are several advantages of using persistent connections, including: Network

http 协议 相关知识 --请求

一笑奈何 提交于 2020-03-18 17:19:27
3 月,跳不动了?>>> 一:什么是http协议: http协议: 对浏览器客户端 和 服务器端 之间数据传输的格式规范 二:查看http协议的工具   1)使用火狐的firebug插件(右键->firebug->网络)   2)使用谷歌的“审查元素”   3)使用系统自带的telnet工具(远程访问工具)     a)telnet localhost 8080 访问tomcat服务器     b)ctrl+] 回车 可以看到回显     c)输入请求内容      GET /day09/hello HTTP/1.1 Host: localhost: 8080     d)回车,即可查看到服务器响应信息。 三:http协议内容 请求(浏览器- 》服务器) GET /day09/hello HTTP/1.1 Host: localhost: 8080 User -Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0 Accept: text /html,application/xhtml+xml,application/xml;q=0.9,* /* ;q=0.8 Accept-Language: zh-cn,en-us;q=0.8,zh;q=0.5,en;q=0.3 Accept

基于python3.7的一个闯越自动签到脚本--demo版

萝らか妹 提交于 2020-03-07 22:20:11
望指正demo的定位,有时候会抽风无法接受我的定位信息 1 #! /usr/bin/python3 2 # -*- coding:UTF-8 -*- 3 # time : 2019/5/20 20:53 4 # file : chuangyue.py 5 # By 卤蛋 6 from urllib.parse import quote 7 import datetime 8 import requests 9 import calendar 10 import sys 11 import time 12 import random 13 import urllib3 14 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) 15 16 request = requests.session() 17 18 d = datetime.datetime.now() 19 20 StateId = 3 21 22 index_html = __file__.replace("requestforCH.py", "") + "index.html" 23 index_img = __file__.replace("requestforCH.py", "") + "index.jpg" 24 25

http协议版本和MPM工作模式

允我心安 提交于 2020-03-07 17:23:04
协议版本 http/0.9 1991,原型版本,功能简陋,只有一个命令GET。GET /index.html ,服务器只能回应HTML格式字符串,不能回应别的格式 http/1.0 1996年5月,支持cache, MIME, method 每个TCP连接只能发送一个请求,发送数据完毕,连接就关闭,如果还要请求其他资源,就必须再新建一个连接 引入了POST命令和HEAD命令 头信息是 ASCII 码,后面数据可为任何格式。服务器回应时会告诉客户端,数据是什么格式,即Content-Type字段的作用。这些数据类型总称为MIME 多用途互联网邮件扩展,每个值包括一级类型和二级类型,预定义的类型,也可自定义类型, 常见Content-Type值:text/xml image/jpeg audio/mp3 http/1.1 1997年1月,引入了持久连接(persistent connection),即TCP连接默认不关闭,可以被多个请求复用,不用声明Connection: keep-alive。对于同一个域名,大多数浏览器允许同时建立6个持久连接引入了管道机制,即在同一个TCP连接里,客户端可以同时发送多个请求,进一步改进了HTTP协议的效率 新增方法:PUT、PATCH、OPTIONS、DELETE 同一个TCP连接里,所有的数据通信是按次序进行的。服务器只能顺序处理回应

HTTP 长连接

三世轮回 提交于 2020-03-05 18:25:12
先理解下长连接和短链接 短连接: 短连接就是每次请求一个资源就建立连接,请求完成后连接立马关闭。每次请求都经过“创建tcp连接->请求资源->响应资源->释放连接”这样的过程 长连接: 长连接(persistent connection),就是只建立一次连接,多次资源请求都复用该连接,完成后关闭。要请求一个页面上的十张图,只需要建立一次tcp连接,然后依次请求十张图,等待资源响应,释放连接。 client发出的HTTP请求头需要增加connection:keep-Alive字段。 web-service端需要能识别到connection:keep-alice字段,并且在http的response里指定connection:keep-Alive字段,告诉client我们提供keep-alive服务,允许client暂时别关闭socket链接。 http 1.0版本中要实现长连接必须在http请求头显示指定Connection:keep-alive http 1.1版本中默认开始了keep-alive。 需要关闭keep-vlive的话在请求头指定connection:close 现在大多数浏览器都支持HTTP 1.1协议,所以keep-alive都是默认打开的,一旦client和server达成一致长连接就建立好了。 以NGINX 为例: keepalive_timeout

HTTP 协议报文解析

会有一股神秘感。 提交于 2020-03-03 05:34:48
本篇主要是为了记录HTTP中报文的格式,以便针对报文进行解析。首先会介绍基础的HTTP报文,之后会介绍 文件上传时的数据报文格式. HTTP基础报文格式 按照HTTP报文类型进行介绍,HTTP报文类型分为请求报文(客户端主动请求报文)和响应报文(服务端响应客户端的回传报文)。其基本的格式为: GET / HTTP/1.1 Host: www.enjoytoday.cn Connection: keep-alive Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36 Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Referer: http://www.enjoytoday.cn/posts/326 Accept-Encoding: gzip, deflate, sdch Accept-Language: zh-CN,zh;q=0.8 Cookie: bdshare_firstime=1466032270994; UM

详解http_keepalive

六月ゝ 毕业季﹏ 提交于 2020-03-02 04:22:39
1. http keepalive 在 http 早期 ,每个http请求都要求打开一个tpc socket连接,并且使用一次之后就断开这个 tcp 连接。 使用keep-alive可以改善这种状态,即在一次TCP连接中可以持续发送多份数据而不会 断开连接。通过使用keep-alive机制,可以减少 tcp 连接建立次数,也意味着可以减少TIME_WAIT状态连接,以此提高性能和提高httpd 服务器的吞吐率(更少的 tcp 连接意味着更少的系统内核调用,socket的accept()和close()调用)。但是,keep-alive并不是 免费的午餐,长时间的tcp连接容易导致系统资源无效占用。配置不当的keep-alive,有时比重复利用连接带来的损失还更大。所以,正确地设置 keep-alive timeout 时间非常重要。 2. keepalvie timeout Httpd守护进程,一般都提供了keep-alive timeout 时间设置参数。比如 nginx 的 keepalive _timeout,和Apache的KeepAliveTimeout。这个 keepalive _timout时间值意味着:一个http产生的tcp连接在传送完最后一个响应后,还需要hold住 keepalive_timeout秒后,才开始关闭这个连接。当httpd守护进程发送完一个响应后