- 博客(12)
- 资源 (10)
- 收藏
- 关注
原创 技术储备(二):http请求报文和响应报文
一、GET和POSThttp常用请求分为两种方式:GET和POST。浏览器向服务器发送http请求报文格式为:请求行+请求头部+空白行+(请求数据)注意:1、请求数据只有在POST时才有,在请求头部有一字段,Content_Length表示请求数据的长度。GET方式没有请求数据,http请求报文以空白行结尾。2、使用GET时数据附加在URL后面,和URL以?分开,各个变量之间以&...
2019-05-31 20:39:10 286
转载 技术储备(一):CGI介绍
通用网关接口(CGI,Common Gateway Interface)是一种Web服务器和服务器端编程进行交互的方式。CGI完全独立于编程语言,操作系统和Web服务器。目前,它是最常见的服务器端编程技术,几乎每一个Web服务器都支持。此外,所有服务器用几乎同样的方式实现它,这样你可以为一个服务器编写CGI脚本,然后分发到任何Web服务器上运行。就像上面说的,服务器需要一种方法来知道哪些URL映...
2019-05-30 20:06:08 951
原创 DEBUG(一):解决execl(path,NULL)执行出错
源码段if (pid == 0) /* child: CGI script */ { char meth_env[255]; char query_env[255]; char length_env[255]; dup2(cgi_output[1], 1); dup2(cgi_input[0], 0); close(cgi_output[0]); close(...
2019-05-30 20:01:37 765 2
转载 使用 vim + ctags + cscope + taglist 阅读源码
(1) ctags 插件a) 功能:对浏览代码非常的方便, 可以在函数, 变量之间跳来跳去等等等等 (更多说明请百度或谷歌一下)b) 安装配置:终端下输入 sudo apt-get install ctags如果没发现该软件包就用 sudo apt-get install exuberant-ctags 就行了……如果还不行可以到官网下载源码手动编译安装,有点麻...
2019-05-28 14:46:41 189
原创 解读NAT网络穿透(二):NAT类型检测
根据https://blog.csdn.net/vainfanfan/article/details/90269554,NAT类型有四种:完全锥形、IP限制锥形、端口限制锥形、对称。stun服务器检测nat类型的过程:检测过程1.检测是否在NAT之后或者UDP socket是否阻塞向IP1:PORT1发送数据包,要求IP1:PORT1返回数据包源地址和端口号,同时设置socket tim...
2019-05-17 11:24:13 6352
原创 解读NAT网络穿透(一)
一、NAT是什么,解决什么问题解决问题:由于公网地址不够用,并且我们国家分到的公网IP地址太少了,于是产生了NAT技术(network address translation)NAT是将私网IP地址转换为公网IP地址,本质就是让一群机器公用同一个IP,这样就暂时解决了IP短缺的问题。私网机器在公网上存在的形式为 公网IP地址:端口号即NAPT(Network Address/Port Tra...
2019-05-16 18:36:36 3177
原创 apache bench+python脚本压测统计TPS和延迟
一、系统的瓶颈压测的目的就是跑垮系统,达到系统承受最大值。本次压测考虑的方面:1、CPU利用率、磁盘IO利用率2、达到系统瓶颈后,再次增大并发和最大连接数吞吐量和延迟反而会下降3、压测的机器选择,我是在服务器本机上跑的,这会使得压测程序占用一部分CPU,网络延迟几乎为0;而在笔记本上跑,网络延迟占很大部分。二、python脚本关于ab的参数分析在上一篇文章中介绍了,网上关于ab都是基于...
2019-05-15 22:40:18 964
原创 分布式场景下数据分布:哈希分布和顺序分布
分布式系统的数据分布在多个节点中,常用的数据分布方式有哈希分布和顺序分布。哈希分布哈希分布就是将数据计算哈希值之后,按照哈希值分配到不同的节点上。例如有 N 个节点,数据的主键为 key,则将该数据分配的节点序号为:hash(key)%N。传统的哈希分布算法存在一个问题:当节点数量变化时,也就是 N 值变化,那么几乎所有的数据都需要重新分布,将导致大量的数据迁移。一致性哈希:减少数据迁移...
2019-05-15 21:52:13 3361
原创 apache bench测试分析:QPS/TPS、并发数、响应时间
一、ab -n 100 -c 4 http://www.taobao.com/本次测试发送了100个请求,成功了100个,表明taobao.com没有对其进行防范。对比baidu.com,发送了100个,只能成功3个。apache bench除了对于web的常见指标进行分析以外,还列出了网络环境中连接、处理、等待的时间,目的是结合响应时间,排除网络的因素。猜想:实际响应时间 = 响应时间(...
2019-05-13 16:54:51 4043
原创 apache bench安装问题:出现 AH00072: make_sock: could not bind to address [::]:443
一、更改apache/conf/httpd.conf文件首先把解压后的文件放在根目录下,如G:\Apache24首要更改httpd.conf文件:1、更改srvrroot,设置成当前的根目录Define SRVROOT "G:/Apache24"ServerRoot "${SRVROOT}"2、更改端口号,80端口号已经被占用,更改成8088,注意listen 80 和ServerN...
2019-05-13 11:29:50 786
原创 windows + web性能测试工具对比
web压力性能测试工具对比apache bench优点:使用单线程程序,只占用一个CPU,可以用作快速测试工具。缺点:不能用作严格的测试,往往跑ab的测试机负荷满了,而服务器应用的性能还绰绰有余。...
2019-05-13 11:19:41 1003
原创 DDos攻击:SYN Flood及应对策略 & ARP攻击
DDos攻击:分布式拒绝服务攻击,是指利用合理的客户端请求来占用过多的服务器资源,从而使得合法用户无法得到服务器的响应。如何实现DDOS攻击:1、利用协议、系统的缺陷 2、具备了海量流量。往往是结合两者实现的。一、SYN Flood攻击产生背景:利用TCP协议特征:利用TCP三次握手协议特征。客户端向服务器发送SYN包时,服务器端建立SYN队列,此时服务器进入半连接状态。服务器端向客户端发...
2019-05-08 21:35:13 1561
守护进程实例
2018-12-25
华中科技大学—零基础搭建MVC工程及入门MVC
2018-06-14
MySQL-python-1.2.3b1
2018-05-23
UIDesigner 很好用的设计软件
2018-04-24
webcrack 路由器密码破解教程
2018-04-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人