文档章节

url抓包分析

kirsmile
 kirsmile
发布于 2017/06/18 13:50
字数 985
阅读 9
收藏 0

http协议是位于应用层的协议,我们在日常浏览网页比如在导航网站请求百度首页的时候,会先通过http协议把请求做一个类似于编码的工作,发送给百度的服务器,然后在百度服务器响应请求时把相应的内容再通过http协议做一个类似于解码的工作,这样浏览器才能理解这个数据,然后为我们展示出来百度首页.

这相当于是一种规范,网络中数据的传输在位于应用之下的各层(传输层,应用层)来完成的,在tcp/ip协议接收到数据时,我们是不能直接使用和浏览的,需要先通过一种规范来进行梳理,也就是解码,得到浏览器支持的一种格式,才能被我们使用.

在web开发中,熟悉http协议中的报文结构是很重要的,比如,如果对http报文不熟悉,在使用httpServletRequest很多方法的时候,就会陷入懵逼.

http报文分为请求报文和响应报文.

请求报文(request message)

请求报文分为三部分:首行,请求头,请求体.

首行包括:请求类型,URL,HTTP版本.

请求头部保存一些键值对的属性.

请求体保存具体内容,一般为POST类型的参数.

常见的HTTP请求头属性

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8

Accept:告诉服务端,该请求所能支持的响应数据类型,专业术语称为MIME 类型,上图中表示支持text/html的响应格式.

扩展:text/html,application/xhtml+xml,application/xml 都是 MIME 类型,也可以称为媒体类型和内容类型,斜杠前面的是 type(类型),斜杠后面的是 subtype(子类型)

Cookie:seraph.confluence=6389808%3A04c906749aac37bbfe595ff3149ac5c17bfcd298;Hm_lvt_4a7d8ec50cfd6af753c4f8aee3425070=1477401172,1479201037,1479895114; _ga=GA1.2.1021401543.1477401172; JSESSIONID=6C331887C562AF7839384C41D590CA9A;

Cookie:将客户端的cookie放在请求头里一并发送给服务器端.

这里就出了一个问题,网站A怎么保证自己请求体中保存的cookie就是网站A的cookie而不是网站B的cookie呢,这就和cookie里面的jsessionid有关系了,关于cookie,session,sessionid,jsessionid的区别联系,可以参考这个博文http://www.cnblogs.com/fnng/archive/2012/08/14/2637279.html

referer:https://www.baidu.com/linkurl=fjKPqTaoZV2a2g2H2kbBwdz0mgBgI06WLrVLrQhiKgu&wd=&eqid=841d77d20000a7ae00000004586b7070

Referer:表示这个请求是从哪个url跳过来的,通过百度来搜索淘宝网,那么在进入淘宝网的请求报文中,Referer的值就是:www.baidu.com

Cache-Control:max-age=0

Cache-control:对服务端返回的相应内容进行缓存控制,即是否需要在客户端保存下来,如上表示不缓存.

User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36

User-Agent:用户代理,简称 UA,是一个特殊字符串头,使得服务器能够识别客户端使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等信息

Connection:keep-alive

Connection:表示客户端与服务连接类型;Keep-Alive表示持久连接

更多请求头属性可以参考这篇文章:HTTP响应头和请求头信息对照表

响应报文(response message)

响应报文也由三部分组成,首行,响应头,响应体.

首行分为报文协议及版本,响应码及状态描述

状态码

1XX:信息性状态码

2XX:成功状态码,200 表示成功

3XX:重定向状态码

4XX:客户端错误状态码,404表示没有找到请求的资源

5XX:服务器端错误状态码,500表示内部错误

关于响应报文的响应头属性,可以详见上面那个对照表链接.

需要提一下的是,我们可以通过HttpServletResponse的setHeader方法来自行添加响应头属性.

本文转载自:http://blog.csdn.net/qq_34857250/article/details/54015615

kirsmile
粉丝 0
博文 25
码字总数 6488
作品 0
私信 提问
网络应用(1):抓包获取APP的重要信息 | charles

小白:何为抓包? 小程:就是截获网络上收发的数据包。 小白:网络上那么多数据包,怎么知道哪些是有用的? 小程:只截获目标app的数据包就缩小了范围,但即便是缩小了范围,也需要进一步分析...

小程2019
05/10
0
0
解决快递100普通key不能查询顺丰、申通等快递问题

已在其他板块里和MYCNCART官网插件区提供了下载插件,此贴只是针对快递100的接口进行分析处理 ----------------------------------------------------------------------------------------...

OpenCart中国
2015/12/23
1K
0
Python3网络爬虫(八):爱奇艺等主流视频网站的VIP视频破解(在线观看+视频下载)

版权声明:本文为博主原创文章,未经博主允许不得转载。个人网站:http://cuijiahua.com。 https://blog.csdn.net/c406495762/article/details/71334633 转载请注明作者和出处:http://blog...

Jack-Cui
2017/05/07
0
0
current.vc项目的分析

仅仅current.vc这个网站的项目,这里写好文档对网站的抓取分析。 1.chinavc 原本以为newsChannlid已经被我找完了,实际上还有很多。但是,我仔细看了一下网站的首页,分析了AJAX,得到未必需...

FeanLau
2017/05/02
10
0
如何实现从一个url抓取底下所有url并保存为文本

假如说,我输入http://www.taobao.com,底下还有一系列的子url请求。怎么在linux系统上把这些url都抓出来呢?要抓出来进行分析(上面截图是httpwatch的抓包截图)...

实践哥
2015/03/18
101
1

没有更多内容

加载失败,请刷新页面

加载更多

zk中leader和follower启动时信息交互

QuorumPeer中读取节点状态信息,不同状态下设置不同角色 1 Leader启动Follower接收器LearnerCnxAcceptor LearnerCnxAcceptor负责接收非leader连接请求,线程中创建LearnerHandler处理器 2 Le...

writeademo
37分钟前
5
0
完美的Linux之【navi】使用笔记

今天要说的是才上线才两天,就已经获得超过1000星。开发者是一位来自巴西的小哥Denis Isidoro。 开发的工具navi Linux用户的日常困惑 > 新命令 用完就忘 ? > 一时想不起来命令的单词怎么拼?...

我们都很努力着
38分钟前
6
0
iptables删除命令中的相关问题

最近在做一个V**N中间件的配置工作,在配置iptables的时候,当用户想删除EIP(即释放当前连接),发现使用iptables的相关命令会提示错误。iptables: Bad rule (does a matching rule exist ...

Linux就该这么学
50分钟前
5
0
ExtJS 4.2 评分组件

本文转载于:专业的前端网站➸ExtJS 4.2 评分组件 上一文章是扩展ExtJS自带的Date组件。在这里将创建一个评分组件。 目录 1. 介绍 2. 示例 3. 资源下载 1. 介绍 代码参考的是 Sencha Touch 2...

前端老手
58分钟前
5
0
springboot2.0.6启动解析(四)观察器、启动的错报告、Headless模式相关分析

解析SpringApplication的run方法观察器、启动的错报告、Headless模式、监听器相关分析 public ConfigurableApplicationContext run(String... args) { // 构造一个任务执行观察器(Jav...

小亮89
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部