空间站 对接,设计师网站十大网站,wordpress微信付费,网站建设方案书 模版1、HTTP协议结构 2、在Windows server去搭建web扫描器 3、分析HTTP协议流量 一、HTTP协议
1、概念
HTTP#xff08;超文本传输协议#xff09;用于在万维网服务器上传输超文本#xff08;HTML#xff09;到本地浏览器的传输协议
基于TCP/IP(HTML文件、图片、查询结构等超文本传输协议用于在万维网服务器上传输超文本HTML到本地浏览器的传输协议
基于TCP/IP(HTML文件、图片、查询结构等
2、万维网
采用C/S架构客户机通过浏览器去请求从而在浏览器上就可以看到对应图形界面。浏览器/服务器B/S
3、万维网服务的软件
windows server IISWindows平台apache多平台tomcat多平台nginx多平台……
二、HTTP工作原理
1、工作原理
在客户端使用浏览器通过URL向HTTP服务器发送请求 URL统一资源定位符由协议、主机和端口及文件名和路径三部分组成web服务器根据收到的请求直接向客户机响应信息 如果页面不存在的话会报404错误提示有的页面会做跳转如下图中访问了一个不存在的地址提示“页面没有找到5秒钟之后会带您进入新浪的首页”。针对于HTTP默认的端口号是80端口默认端口可以改会影响客户机的访问建议改为其他非标准端口
2、交互过程 3、注意事项
HTTP协议是无连接的“无连接”的含义是限制每次连接只处理一个请求之后在请求的时候都需要重新建TCP三次握手虽然每次请求都需要重新建立TCP三次握手但是这种方式可以节省传输时间不会存在客户端没有请求了但服务器还保持着的资源占用问题。HTTP是独立的只要客户端和服务器知道如何去处理数据内容任何类型的数据都可以通过HTTP发送客户端及服务器指定使用场合的MIME-type消息内容类型HTTP是无状态的没有记忆能力。“无状态”类似于UDP如果后续的处理需要前面的信息就必须重传每次连接传输的数据量比较大。 举个例子某些内容需要登录才能访问如用户名和密码不会被记录造成的结果就是后续你要访问登录的内容的时候就必须把前面的内容要重传一下这就引入了Session和Cookie。
三、windows server搭建IIS服务
1、新建网站
关掉默认站点然后添加网站找到D盘下面建woniu网站的目录及文件。 添加网站
、
启动后就可以访问了 字符编码有点问题改成gb2312 刷新一下就OK了 2、winsahrk抓包分析
1第一次分析
打开本机的winshark然后浏览器访问下
247.1是物理的Vmnet1网卡的IP地址前面是和server的三次握手 追踪流
这里就是HTTP协议了然后我们看下HTTP里面的报文这里是请求的头部内容。 这里响应是304NOT Modify 接着这里做了一个确认接着又重新请求 接着又重新请求 接着是一个404响应 接着客户机确认了一下 下面都是TCP的keep Alivekeep Alive是持久性连接客户机向服务器发起持久性连接请求
服务器确认客户机的KeepAlive请求 其实最好的方式是去追踪TCP流
在这里比较好看一点。 其实这里是有问题的404Not Found 2第二次分析
修改网页源码 重启网站重新抓包现在就对了 新建网站应该重启一下我们之前访问的时候虽然浏览器是访问到了页面的但是根据抓包实际上是有个404 Not Found的。
去追踪一下TCP流去看这里 GET请求服务器直接响应了页面页面内容就是我们网站的index.html的源码 下面就是持久性连接它这里Connection携带的是keep-alive持久性连接 看到这里一直没有TCP的四次挥手 当把这个页面关掉之后重新访问这里是RST重连 所以从这里看HTTP协议很简单就一个请求一个响应
但是有数据库就不一样了比如一些表单也不一样你要输用户名密码的时候就不一样了。
四、HTTP报文
1、请求报文
请求报文了解常见的请求方法以及一些字段的含义
请求头请求方法 / 协议/协议版本Host主机Connectionkeep-alive持久性连接 因为HTTP是无状态的请求一个响应一个比如说我刚登陆用户名和密码服务器响应用户名没有任何问题此时就可以访问付费资源了。你马上又要访问付费资源的时候服务器提示你输入用户名和密码这个时候就进入了一种死循环吗服务器不停的让你输用户名和密码账号和密码都输入成功了吗也确认了没有问题但这个时候就是访问不了付费资源。这个时候采用持久性连接当你输入一次用户名和密码登录后服务器就记住了并保持登录的状态。Upgrade-Insecure-Request 现在浏览器都采用安全机制可以报警加入这个字段发送请求时可以升级不安全的请求。因为我们采用的还是HTTP协议其实就是告诉浏览器这里是可以升级不安全的请求的。User-Agent客户端的信息分为两块一块是浏览器的信息一块是操作系统的信息。Accept请求头中的内容代表用户端可以处理的媒体类型说白了就是告诉服务器我可以处理的媒体类型有哪些。Accept-Encoding表示它的压缩方法Accept-Language语言
2、响应报文
响应报文知道状态码及其含义
响应头部 协议类型/版本 状态码 Content-Typetext/html与请求报文的Accept相对应表示接收内容的类型Last-Modified上次修改的日期Accept-Ranges:bytesETage被请求变量的实体Server服务器的信息Date日期Content-Length接收内容的长度响应内容 响应状态码1XX 表示服务器收到请求2XX 表示操作成功3XX 表示重定向访问页面不存在服务器会根据重定向跳转到相关页面4XX 表示用户端出错5XX 表示服务器错误