第二章、http协议及嗅探抓包--http协议详解
初识http协议
hypertext trandfer protocol 超文本传输协议,是一种分布式,合作式,多媒体信息系统服务,面向应用层的协议。使用最广泛的应用层协议,基于传输层的TCP协议进行通信,Http协议是通用、无状态的协议
功能: 用于在服务器和客户机之前传输超文本文件
http协议基础知识
http特点
客户/服务器模式:一个服务器可以为分布在世界的许多客户服务
简单:有效处理大量请求,程序规模小,所以速度快,相比其他协议时间开销小
灵活:允许传输任意类型的数据对象,可以通过Content-type来指定数据类型
无状态:无状态的协议,运行速度高,服务器应答速度快
http的事务处理
客户端与服务器端建立连接
客户端向服务器端发送请求
服务器端向客户端回复响应
断开连接
http的消息链
proxy介绍
http消息介绍
消息类型有两大类
请求消息(request):由客户端发送给服务器消息(组成:请求行Request-Line 可选的头域Header Field 实体Entity-Body)
响应消息(response):由服务端回复客户端请求的消息(组成:状态行Status-Line 可选的头域Header Field 实体Entity-Body)
http请求消息
请求消息结构
Full-Request = Request-Line
* ( General-Header
| Request-Header
| Entity-Header)
CRLF
[Entity-Body]
示例:
请求行结构
Request-Line = Method SP
Request-URI
SP
HTTP-Version CRLF
请求行示例:GET
http://taobao.com/pub/WWW/page.html
HTTP/1.1
请求消息示例:
http://taobao.com/pub/WWW/page.html
HTTP/1.1
Connection: close
User-agent: Mozilla/4.0
Accept-Ecoding: gzip,compress
CR LF
Entity-Body
--------------------------
理解一下本例中的各个报头
Connection: close是在告知服务器本浏览器不想使用永久连接的方式(http/1.0非永久连接, http/1.1.永久连接)
User-agent: Mozilla/4.0指定用户代理服务器的类型
Accept-Ecoding: 指出发送次请求的浏览器支持哪些压缩编码方式
请求方法:
GET:获取一个URL指定的资源,即资源实体
POST:向服务器提交数据
HEAD:获取一个指定资源的信息
PUT:向服务器提交资源
DELETE:请求源服务器删除Request-URI标识的资源
TRACE:网络跟踪
CONNECT:与PROXY之间的连接管理
OPTIONS:查询能力
http响应消息
响应消息结构
Full-Response = Status-Line
* ( General-Header
| response-Header
| Entity-Header)
CRLF
[Entity-Body]
响应消息示例:
HTTP/1.1 200 OK
Connection: close
Date:Thu 13 Oct 2005
Server: apache/2.0
Last-Nodified: Mon, 22 Jun
Content-Lenght: 6821
Content-Type: text/html
状态码:
1xx: 信息, 接收到请求,继续处理
2xx: 成功, 操作成功地收到,理解和接受
3xx: 重定向, 为了完成请求,必须采取进一步措施
4xx: 客户端错误, 请求的语法有错误或不能完全被满足
5xx: 服务端错误, 服务器无法完成明显有效的请求
第二章、http协议及嗅探抓包--http协议详解的更多相关文章
- [转] Linux抓包工具tcpdump详解
http://www.ha97.com/4550.html PS:tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具.tcpdump凭借强大的功能和灵活的截取策略,使 ...
- Linux抓包工具tcpdump详解
tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具.tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具. tcpd ...
- Fiddler抓包工具使用详解
一.Fiddler简介 Fiddler是最强大最好用的Web调试工具之一, 它能记录所有客户端和服务器的http和https请求.允许你监视.设置断点.甚至修改输入输出数据.Fiddler包含了一个强 ...
- linux下抓包工具tcpdump详解
本文转自:http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html 简介 用简单的话来定义tcpdump,就是:dump the ...
- Fiddler 抓包工具使用详解
博客园 首页 新随笔 联系 订阅 管理 随笔 - 20 文章 - 0 评论 - 64 Fiddler 抓包工具总结 阅读目录 1. Fiddler 抓包简介 1). 字段说明 2). Statis ...
- 抓包工具Fidder详解(主要来抓取Android中app的请求)
今天闲着没吊事,来写一篇关于怎么抓取Android中的app数据包?工欲行其事,必先利其器,上网google了一下,发现了一款神器:Fiddler,这个貌似是所有软件开发者必备神器呀!这款工具不仅可以 ...
- 抓包工具Fidder详解
第一步:下载神器Fiddler,下载链接: http://fiddler2.com/get-fiddler 下载完成之后,傻瓜式的安装一下了! 现在这个下载链接失效了,可以百度下载 第二步:设置Fid ...
- fiddler抓包常用功能详解
一.基础部分: 1.设置代理ip及端口,tools --> telerik fiddler options --> connections -->勾选 “ Allow romote ...
- wireshark http抓包命令行详解
This article is a quick and easy HowTo detailing the use of Wireshark or another network sniffing pr ...
随机推荐
- ORM SQLAlchemy - 基本关系模式
1 一对多 一个parent对多个child,一对多关系添加一个外键到child表,用于保存对应parent.id的值,引用parent.relationship()在parent中指定,引用/保存 ...
- 【原】Python基础-__init__
#py中,有些名称前后都会加上俩个下划线,是有特殊含义的#在Py中,由这些名字组成的集合所包含的方法称为 “魔法方法”.如果在你的对象中#实现了这些方法的其中某一个,那这些方法会被py自动调用,几乎没 ...
- Ubuntu系统图形化界面无法登录到root用户的解决方法
Ubuntu默认是禁用了root用户的登录. 系统安装后, 图形化界面无法登录到root用户解决方法:Ubuntu 12.04:1.设置root用户密码: 普通用户登录,sudo passwd ro ...
- MATLAB实现模糊控制
一.简介 MATLAB软件有提供一个模糊推理系统编辑器,利用模糊工具箱在matlab命令窗口输入Fuzzy命令进入模糊控制编辑环境 二.主要步骤 1.接受输入变量 2.输入变量模糊化 3.利用模糊规则 ...
- Servlet的三种实现方式
A: 实现Servlet接口 B: 继承GenericServlet C: 继承HttpServlet,它是对Http协议进行了封装
- OpenStack Cinder发展动态系列--Austin峰会
在Mitaka版本,Cinder团队在多个特性和领域取得了重大进展. 本文将做一个简要的介绍:关于在Mitaka版本已经完成的功能和特性,以及讨论在Newton版本将会开发的功能和特性. 1 Cind ...
- Node.js使用superagent模拟GET/POST请求样例
示例代码: var superagent = require('superagent'); superagent.get("http://localhost:8091/user/all?re ...
- java工具类学习,系统中用户密码加密总结
现在项目,用户注册登录部分很少有涉及到了,原因:现在热门开发框架都已经在底层帮我们做了一套用户注册,密码加密,登录认证,权限控制,缓存数据等基本功能. 这有利于项目的快速完成,只需要搬砖码畜们专注于业 ...
- idea-配置文件提示红色
Idea建立spring配置文件首行红色 提示URI is not registered 复制出现红色字体的路径...File - Settings - schemas and DtDs 点击加号 ...
- 免费好用的 Apple 工具(Windows 适用)
首先,下载链接: https://pan.baidu.com/s/1Sfx3SB8Ya1aMS01aXk--rA 密码: 6y69 1. Airplay (itools) : ios 可以投屏到win ...