HTTP/TCP
文章平均质量分 85
席飞剑
10年+软件测试经验TIB自动化测试工作室核心成员ATF关键字驱动框架核心设计和开发人员熟悉软件自动化测试性能测试多年专职从事软件项目的自动化测试和性能测试对自动化测试的框架设计开发框架搭建以及实施有丰富的实战经验目前关注开源自动化测试领域基于Selenium构建Web自动化测试框架以及手机自动化测试的研究为多家企业进行自动化测试培训和指导
展开
-
HTTP协议--断点续传
要实现断点续传的功能,通常都需要客户端记录下当前的下载进度,并在需要续传的时候通知服务端本次需要下载的内容片段。HTTP1.1协议(RFC2616)中定义了断点续传相关的HTTP头 Range和Content-Range字段,一个最简单的断点续传实现大概如下: 1.客户端下载一个1024K的文件,已经下载了其中512K 2. 网络中断,客户端请求续传,因此需要在HTTP头中原创 2013-03-25 15:41:56 · 27289 阅读 · 3 评论 -
《HTTP权威指南》读书笔记(1)-HTTP简介与消息结构
HTTP 简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP 工作原理HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向H原创 2015-02-11 12:53:27 · 3217 阅读 · 0 评论 -
《HTTP权威指南》读书笔记(6)-实体和编码
一、实体首部HTTP实体首部描述了HTTP报名的内容。HTTP/1.1版定义了以下10个基本字体首部字段。Content-Type:实体中所承载对象的类型Content-Length:所传送实体的长度或大小Content-Language:与所传送对象最相配的人类语言Content-Encoding:对象数据所做的任意变换(例如压缩)Content-Location:一个备用位置,请求时可通过它获原创 2015-02-12 12:48:38 · 1754 阅读 · 0 评论 -
《HTTP权威指南》读书笔记(4)-缓存
概述 Web缓存可以自动保存常见文档副本的HTTP设备。当Web请求抵达缓存时,如果本地有“已缓存的”副本,就从本地存储设备而不是原始服务器中提取这个文档。使用缓存的优点减少了冗余的数据传输缓解了网络的瓶颈的问题(不许更多的的带宽就能更快加载)降低了对原始服务器的要求降低了距离时延冗余的数据传输 1.多名用户访问原始服务器页面时,服务器会多次传输同一份文档,相同的字节会在网络中一遍遍地传输。有原创 2015-02-11 17:20:29 · 2023 阅读 · 0 评论 -
《TCP/IP详解》读书笔记(20章)-TCP的成块数据流
目前建立在TCP协议上的网络协议特别多,有telnet,ssh,有ftp,有http等等。这些协议又可以根据数据吞吐量来大致分成两大类:(1)交互数据类型,例如telnet,ssh,这种类型的协议在大多数情况下只是做小流量的数据交换,比如说按一下键盘,回显一些文字等等。(2)数据成块类型,例如ftp,这种类型的协议要求TCP能尽量的运载数据,把数据的吞吐量做到最大,并尽可能的提原创 2015-03-17 17:23:22 · 3941 阅读 · 1 评论 -
《HTTP权威指南》读书笔记(3)-HTTP连接管理及对TCP性能的考虑
一、HTTP如何使用TCP连接 世界上几乎所有的HTTP通信都是有TCP/IP承载的,它是一种常用的分组交换网络分层协议集。HTTP连接实际就是TCP连接及其使用规则。web浏览器与服务器通过TCP连接的交互如下图: TCP流是通过分段、由IP分组传送 TCP数据是通过IP分组(或IP数据报)的小数据块来发送的。HTTP就原创 2015-02-11 12:56:42 · 4372 阅读 · 0 评论 -
HTTP协议之chunk编码(分块传输编码)
分块传输编码(Chunked transfer encoding)是超文本传输协议(HTTP)中的一种数据传输机制,允许HTTP由网页服务器发送给客户端应用( 通常是网页浏览器)的数据可以分成多个部分。分块传输编码只在HTTP协议1.1版本(HTTP/1.1)中提供。通常,HTTP应答消息中发送的数据是整个发送的,Content-Length消息头字段表示数据的长度。数据的长度很重要,因为客户端需原创 2015-06-11 14:26:32 · 58863 阅读 · 1 评论 -
TCP协议--TIME_WAIT状态
2MSL TIME_WAIT状态存在的理由:TIME_WAIT状态的存在有两个理由:(1)让4次握手关闭流程更加可靠;4次握手的最后一个ACK是是由主动关闭方发送出去的,若这个ACK丢失,被动关闭方会再次发一个FIN过来。若主动关闭方能够保持一个2MSL的TIME_WAIT状态,则有更大的机会让丢失的ACK被再次发送出去。(2)防止lost duplicate对后续新建正常链接的传输造成破坏。l原创 2015-03-26 20:34:49 · 2608 阅读 · 0 评论 -
《TCP/IP详解》读书笔记(23章)-TCP的保活定时器
可能存在这么一种空闲TCP连接:没有任何数据流通过。也就是说,如果TCP连接的双方都没有向对方发送数据,则在两个TCP模块之间不交换任何信息,这意味着我们可以启动一个客户与服务器建立连接,然后长时间不使用,而连接依然保持。中间的路由器可以崩溃和重启,电话线可以被挂断再连接,但只要两端的主机没有被重启,则连接依然保持建立。然而,许多时候一个服务器希望知道客户主机是否崩溃并关机或者崩溃又重新启动,许多原创 2015-03-19 13:00:25 · 2177 阅读 · 0 评论 -
《TCP/IP详解》读书笔记(21章)-TCP的超时与重传
TCP提供可靠的运输层。它使用的方法之一就是确认从另一端收到的数据。但数据和确认都有可能会丢失。TCP通过在发送时设置一个定时器来解决这种问题。如果当定时器溢出时还没有收到确认,它就重传该数据。对于实现而言,关键之处就在于超时和重传的策略,即怎样决定超时间隔和如何确定重传的频率。TCP管理4种不同的定时器:重传定时器:当希望收到另一端的确认时使用。坚持定时器:使窗口信息保持不断流动,即使另一端关闭原创 2015-03-19 12:59:25 · 5353 阅读 · 4 评论 -
《WireShark数据包分析实战》一、数据包分析技术与网络基础
1.1、数据包嗅探器工作原理1、收集,数据包嗅探器从网络线缆上收集原始二进制数据。通过情况下,通过将选定的网卡设置成混杂模式来完成抓包。该模式下网卡将抓取一个网段上所有的网络通信流量,而不仅是发往它的数据包。2、转换,将捕获的二进制数据转换成可读形式。3、分析,对捕获和转换后的数据进行真正的深入分析。1.2 网络通信原理1.2.1协议现代网络是由多种运行在不同平台上的异构系统组成。为了使它们之间能原创 2015-08-28 00:52:01 · 9317 阅读 · 1 评论 -
HTTP协议之响应头Date与Age
HTTP没有为用户提供一种手段来区分响应是缓存命中的,还是访问原始服务器得到的。客户端有一种方法能判断响应是否来自缓存,就是使用Date首部。将响应中Date首部的值与当前时间进行比较,如果响应中的日期值比较早,客户端通常就可以认为是来自缓存的;客户端也可以通过Age首部来检测缓存的响应,通过这个首部可以分辨出这条响应的使用期。否则,则认为是来自原始服务器中的。 Date:Date头域表原创 2015-06-11 18:27:29 · 33340 阅读 · 1 评论 -
《TCP/IP详解》读书笔记(18章)-TCP连接的建立与中止
TCP是一个面向连接的协议。无论哪一方向另一方发送数据之前,都必须在双方之间建立一条连接。这种两端间连接的建立与无连接协议UDP不同,UDP向另一端发送数据报时,无需任何预告的握手。1.建立连接的协议(3次握手)1)请求端发送一个SYN段指明客户端打算连接的服务器端口,以及初始序列号。2)服务器发回包含服务器的初始序号的SYN报文段作为应答。同时将确认序号设置为客户的ISN加1以对客户的SYN报文原创 2015-03-17 17:24:06 · 3641 阅读 · 0 评论 -
《WireShark数据包分析实战》二、让网络不再卡
TCP的错误恢复我是我们定位、诊断、并最终修复网络高延迟的最好工具。1.TCP重传 重传数据包是TCP最基本的错误恢复特性之一,它被设计用来对付数据包丢失。 数据包丢失可能有很多原因,包括出故障的应用程序、流量负载沉重的路由器,或者临时性的服务中断。数据包层次上的移动速度非常快,而且数据包丢失通常是暂时的,因此TCP能否检测到数据包丢失并从中恢复显得至关重要。 决定是否有原创 2015-09-05 21:03:34 · 13942 阅读 · 0 评论 -
SNI: 实现多域名虚拟主机的SSL/TLS认证
一、介绍 早期的SSLv2根据经典的公钥基础设施PKI(Public Key Infrastructure)设计,它默认认为:一台服务器(或者说一个IP)只会提供一个服务,所以在SSL握手时,服务器端可以确信客户端申请的是哪张证书。但是让人万万没有想到的是,虚拟主机大力发展起来了,这就造成了一个IP会对应多个域名的情况。解决办法有一些,例如申请泛域名证书,对所有*.yourdomain.com的域转载 2017-02-20 14:30:51 · 11054 阅读 · 0 评论 -
HTTPS为什么安全?
1、http为什么不安全?http协议属于明文传输协议,交互过程以及数据传输都没有进行加密,通信双方也没有进行任何认证,通信过程非常容易遭遇劫持、监听、篡改,严重情况下,会造成恶意的流量劫持等问题,甚至造成个人隐私泄露(比如银行卡卡号和密码泄露)等严重的安全问题。转载 2017-01-22 14:19:52 · 20804 阅读 · 1 评论 -
HTTPS抓包详细分析
专题二:实际抓包分析本文对百度搜索进行了两次抓包,第一次抓包之前清理了浏览器的所有缓存;第二次抓包是在第一次抓包后的半分钟内。百度在2015年已经完成了百度搜索的全站https,这在国内https发展中具有重大的意义(目前BAT三大家中,只有百度宣称自己完成了全站HTTPS)。所以这篇文章就以www.baidu.com为例进行分析。同时,作者采用的是chrome浏览器,chrome支持SNI (s转载 2017-01-22 14:26:19 · 23363 阅读 · 0 评论 -
《TCP/IP详解》读书笔记(19章)-TCP的交互数据流
在TCP进行数据传输时,可以分为成块数据流和交互数据流两种,如果按字节计算,成块数据与交互数据的比例约为90%和10%,TCP需要同时处理这两类数据,且处理的算法不同。书籍本章中以Rlogin应用为例观察交互数据的传输过程。提示经受时延的确认是如何工作以及Nagle算法怎样减少了通过广域网络传输的小分组的数目。交互式输入上图为没有优化的字符输入回显的数据传输过程,一共需要四个报文段。经受时延的确认原创 2015-03-17 17:23:02 · 4136 阅读 · 0 评论 -
《TCP/IP详解》读书笔记(22章)-TCP的坚持定时器
TCP通过让接收方指明希望从发送方接收的数据字节数(即窗口大小)来进行流量控制。如果窗口大小为0会发生什么情况呢?这将有效阻止发送方传送数据,直到窗口变为非0为止。ACK的传输并不可靠,也就是说,TCP不对ACK报文段进行确认,TCP只确认那些包含有数据的ACK报文段。1.坚持定时器假设一个场景:如果一个确认丢失了,则双方就有可能因为等待对方而使连接终止,接收方等待接收数据(因为它已经向发送方通告原创 2015-03-19 12:58:24 · 2104 阅读 · 0 评论 -
TCP--RST复位攻击
1.RST标识位RST表示复位,用来异常的关闭连接,在TCP的设计中它是不可或缺的。发送RST包关闭连接时,不必等缓冲区的包都发出去(FIN包),直接就丢弃缓存区的包发送RST包。而接收端收到RST包后,也不必发送ACK包来确认。TCP处理程序会在自己认为的异常时刻发送RST包。2个例子:1)A向B发起连接,但B之上并未监听相应的端口,这时B操作系统上的TCP处理程序会发RST包。2)A和B已经正原创 2015-03-28 18:37:52 · 9258 阅读 · 0 评论 -
HTTP协议--请求与响应
1、简介HTTP 是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990 年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW 中使用的是HTTP/1.0的第六版,HTTP/1.1 的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。HTTP 协议的主要特点可概括如下:1.原创 2013-03-24 13:05:09 · 2258 阅读 · 0 评论 -
HTTP协议的几个重要概念
HTTP协议的几个重要概念 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。1.连接(Connection):一个传输层的实际环流,它是建立在两个相互通讯的应用程序之间。 2.消息(Message):HTTP通讯的基本单位,包括一个结构化的八元组序列并通过连接传输。 3.请求(Request):一个从客户端到服务器的请求信息包括应用原创 2012-12-26 22:06:11 · 1526 阅读 · 0 评论 -
TCP--三次握手及四次挥手
TCP三次握手及四次挥手详细图解相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的。因此开发者并不需要控制这个过程,但是对于理解TCP底层运作机制,相当有帮助。TCP三次握手 所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。 三次握手的目的是连接服务器指定端口,建立TCP连接,并原创 2013-03-26 16:06:00 · 2020 阅读 · 0 评论 -
Linux操作系统tcpdump抓包分析详解
PS:tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具。tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具。tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的Linux系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常原创 2013-07-12 21:59:29 · 8573 阅读 · 2 评论 -
Wireshark抓包介绍和TCP三次握手分析
wireshark介绍wireshark的官方下载网站: http://www.wireshark.org/wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。wireshark是开源软件,可以放心使用。 可以运行在Windows和Mac OS上。使用wireshark的人必须了解网络协议,否则就看不懂wireshark。原创 2013-07-09 13:05:46 · 20840 阅读 · 7 评论 -
《Web测试技术大全》V0.1下载地址
本《Web测试技术大全》技术教程由 广州亿能测试技术有限公司(www.gdtesting.com) 旗下工作室:TIB自动化测试工作室、PrefTest性能测试工作室、HackChecker安全测试工作室,联合编制。主要编写人员包括:陈能技、易德财、席飞剑本技术教程可免费传播和使用,敬请保留来源及出处。《Web测试技术大全》V0.1下载地址:http://download.csdn原创 2013-01-30 13:04:13 · 2058 阅读 · 2 评论 -
OAuth2.0简介(QQ登录)
OAuth2.0简介(摘自腾讯开放平台)目录[隐藏]1 1.什么是“QQ登录OAuth2.0”2 2. QQ登录OAuth2.0接入方式3 3. QQ登录OAuth2.0总体处理流程4 4. QQ登录OAuth2.0开发说明 1. 什么是“QQ登录OAuth2.0”OAuth: OAuth(开放授权)是一个开放标准,允许用户授权第原创 2013-07-01 23:06:13 · 12130 阅读 · 1 评论 -
浏览器加载和渲染html的顺序-css渲染效率的探究
1.浏览器加载和渲染html的顺序1、IE下载的顺序是从上到下,渲染的顺序也是从上到下,下载和渲染是同时进行的。2、在渲染到页面的某一部分时,其上面的所有部分都已经下载完成(并不是说所有相关联的元素都已经下载完)3、如果遇到语义解释性的标签嵌入文件(JS脚本,CSS样式),那么此时IE的下载过程会启用单独连接进行下载。4、并且在下载后进行解析,解析过程中,停止页面所有往下元素的下载原创 2013-09-01 00:00:00 · 19982 阅读 · 2 评论 -
前端模拟POST发送数据-Chrome下的REST Client(接口测试利器)
1)确定需要POST的数据2)拼接数据,POST给服务器3)查看服务器响应及结果原创 2013-09-20 23:46:11 · 70109 阅读 · 0 评论 -
OSI和TCP/IP
OSI和TCP/IP1. OSI的七层网络结构(功能及特点)1) 物理层:为数据链路层提供物理连接,在其上串行传送比特流,即所传送数据的单位是比特。此外,该层中还具有确定连接设备的电气特性和物理特性等功能。2) 数据链路层:负责在网络节点间的线路上通过检测、流量控制和重发等手段,无差错地传送以帧为单位的数据。为做到这一点,在每一帧中必须同时带有同步、地址、差错控制及流原创 2013-03-21 22:19:47 · 1879 阅读 · 0 评论 -
TCP为什么需要3次握手与4次挥手
为什么需要“三次握手” 在谢希仁著《计算机网络》第四版中讲“三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误”。在另一部经典的《计算机网络》一书中讲“三次握手”的目的是为了解决“网络中存在延迟的重复分组”的问题。这两种不用的表述其实阐明的是同一个问题。 谢希仁版《计算机网络》中的例子是这样的,“已失效的连接请求原创 2014-03-14 22:36:08 · 73954 阅读 · 8 评论 -
《HTTP权威指南》读书笔记(5)-客户端识别与Cookie机制
一、Cookie的类型 可以笼统地将Cookie分为两大类:会话Cookie和持久Cookie。 会话Cookie是一种临时Cookie,它记录了用户访问站点时的设置和偏好。用户退出浏览器时,会话Cookie就被删除了。 持久Cookie的生存时间更长一些;它们存储在硬盘上,浏览器退出,计算机重启时它们仍然存在。通常会用持久Cookie维护某个用户会周期性访问的站点的配置文件或登原创 2015-02-12 11:03:48 · 2065 阅读 · 0 评论 -
《HTTP权威指南》读书笔记(2)-URL与资源
大多数的URL方案的URL语法都建立在这个由9个部分构成的通用格式上:://:@:/;?#,几乎没有哪个URL包含了所有这些组件。URL最重要的3个方案(scheme)、主机(host)和路径(path)原创 2015-02-11 12:55:41 · 1934 阅读 · 0 评论 -
TCP协议--CLOSE_WAIT状态
1.服务器异常如果服务器出了异常,十之八九都是以下两种情况:1.服务器保持了大量TIME_WAIT状态2.服务器保持了大量CLOSE_WAIT状态因为linux分配给一个用户的文件句柄是有限的,而TIME_WAIT和CLOSE_WAIT两种状态如果一直被保持,那么意味着对应数目的通道就一直被占着,一旦达到句柄数上限,新的请求就无法被处理了,接着应用程序可能返回大量Too Many Open Fil原创 2015-03-26 20:38:20 · 27051 阅读 · 0 评论 -
《TCP/IP详解》读书笔记(17章)-TCP传输控制协议
1.TCP的服务在一个TCP连接中,仅有两方进行彼此通信。TCP通过下列方式来提供可靠性:1)应用数据被分割成TCP认为最适合发送的数据块。这和UDP完全不同,应用程序产生的数据报长度保持不变。由TCP传递给IP的信息单位称为报文段或段。2)当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段,这将在21章中重传策略中讨论。3)当TCP收原创 2015-03-17 17:22:02 · 2430 阅读 · 0 评论 -
TCP--SYN洪水攻击
在查看TCP标识位SYN时,顺便关注了一下SYN Flood,从网上查阅一些资料加以整理:1.SYN洪水介绍当一个系统(客户端C)尝试和一个提供了服务的系统(服务器S)建立TCP连接,客户端C和服务端S会交换一系列报文。 正常的3次握手连接:首先是C发送一个SYN报文给服务端S,然后这个服务端发送一个SYN-ACK包以回应C,接着,C就返回一个ACK包来实现一次完整的TCP连接。就这样,C到服务端原创 2015-03-28 18:15:58 · 7427 阅读 · 0 评论 -
数字证书原理(HTTPS&SSL)
1.1 之前已经大概说了一个证书由什么构成,但是没有仔细进行介绍,这里对证书的内容做一个详细的介绍。先看下一个证书到底是个什么东西,在windows下查看一个证书时,界面是这样的,我们主要关注一下Details Tab页,其中的内容比较长,我滚动内容后后抓了三个图,把完整的信息显示出来:里面的内容比较多——Version、Serial number、Signature algorithm 等等,挑转载 2017-01-22 15:30:55 · 6050 阅读 · 0 评论