HTTP数据包

简介:由w3c制定的一种网络应用层协议,定义了浏览器与web服务器之间通信时所使用的数据格式。

0x00 数据包格式

1、请求行:请求类型/请求资源路径、协议的版本和类型

2、请求头:一些键值对,一般有w3c定义,浏览器与web服务器之间都可以发送,表示特定的某种含义

3、空行:请求头与请求体之间用一个空行隔开

4、请求体:要发送的数据(一般post方式会使用)如:UserName=123&PAssWord=123

0x01 请求头介绍

Hsot:表示请求的服务器域名/ip地址+端口

User-Agent:表示用户本地系统浏览器环境

Accept:表示浏览器可解析的应用环境

Accept-Language:表示浏览器可解析的语言类型

Accept-Encoding:表示浏览器可解析的编码方式

Referer:表示请求页面是从哪里来的

Cookie:表示服务器和浏览器之间的会话转台,该状态可以表示用户是否登陆过,一般都是服务器给配置的,具有时效性,只要失效就需要用户重新登录,会得到一个新的Cookie值,只要登录成功之后,浏览器就会保存cookie,妹子去服务器请求都会带上cookie,并且该cookie是需要在服务器中验证的

X-forwarded-for:表示用户真实ip

content-type:表示该请求数据的类型

0x02 响应包response

用户发送的请求包到达服务器,服务器处理该请求,处理之后返回发送给用户浏览器,讲该结果成为响应包。

响应包=状态行+响应报头+空行+响应正文(响应内容)

响应报头参数含义:

data:响应时间

server:服务器环境

content-length:响应数据包长度

connection:连接状态

content-type:返回响应数据类型,告诉浏览器该使用哪种方式去解析或打开盖响应数据的内容

location:表示要跳转到的页面

set-cookie:表示服务器给浏览器设置的cookie值

0x03 状态码的分类,由3位数字组成:

1xx 表示服务器已接收到请求,并需要继续处理

2xx 表示服务器已成功接收到请求,并处理了请求

3xx 表示重定向,url要跳转到其他页面去请求

4xx 表示用户请求客户端有问题

5xx表示服务器端内部错误

常见状态码:

200 表示请求已成功,请求所希望的响应头或数据将响应返回

203 表示服务器已成功处理了请求,但返回的试题头部元信息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝

302 表示请求的资源现在临时从不同的url响应请求,由于这一的重定向是临时的,客户端应继续向原有地址发送以后的请求

304 表示如果客户端发送了一个带条件的get请求且请求已被允许,而文档的内容并没有改变

400 表示语义有误,当前请求无法被服务器理解,或者请求的参数有误

401 表示当前请求需要用户验证,该响应必须包含一个适用于被请求资源的信息头用以询问用户信息

403 表示服务器已经理解请求,但是被拒绝执行,与401不同的事,身份验证并不能提供任何帮助,而这个请求也不应该呗重复提交

404 请求失败,请求所希望得到的资源未被在服务器上发现

500 服务器遇到一个未曾预料的状况,导致了它无法完成对请求的处理,一般是服务器的程序码出错时出现

PS:此博客是博主的学习记录过程,如有错误烦请大佬们纠正。

部分参考资料来源于其他博主

HTTP协议数据包的更多相关文章

  1. TCP/IP协议数据包文件PCAP分析器

    一.设计原理 1.PCAP文件构成 参考http://blog.csdn.net/gulu_gulu_jp/article/details/50494909 PCAP文件由一个PCAP文件头和多个PC ...

  2. 使用网络监视器(IRSI)捕捉和分析协议数据包

    转载请注明原地址. 实验名称:  理解子网掩码.网关和ARP协议的作用             一.实验目的和要求 (1) 熟悉IRIS的使用 (2) 验证各种协议数据包格式 (3) 学会捕捉并分析各 ...

  3. 史上最全最强Charles截取手机https协议数据包教程(附上利用此技术制作最近微信比较火的头脑王者辅助外挂)!

    纯原创,思路也是本人花了半个小时整理出来的,整个完成花费了本人半天时间,由于不才刚大学毕业,所以有的编码方面可能不入大牛们的眼,敬请原谅!如有转载请附上本地址,谢谢! 最近微信朋友圈刚刚被跳一跳血洗, ...

  4. 从零开始学安全(四十二)●利用Wireshark分析ARP协议数据包

    wireshark:是一个网络封包分析软件.网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料.Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换,是目前 ...

  5. TCP协议数据包及攻击分析

    TCP/IP协议栈中一些报文的含义和作用 URG: Urget pointer is valid (紧急指针字段值有效) SYN: 表示建立连接 FIN: 表示关闭连接 ACK: 表示响应 PSH: ...

  6. 2019-9-23:渗透测试,基础学习,http协议数据包的认识,html css的认识,笔记

    Burp suite功能模块Dashboard:扫描Proxy:拦截包,代理 drop:放弃Intruder:爆破Decoder:编码,解码repeater:重放comparer:比较 BP,prox ...

  7. 使用wireshark在windows平台下捕获HTTP协议数据包中的帐号密码信息

    1.打开wireshark软件,从Interface List中选择相应的网卡,例如我的PC机上是“本地连接”,然后选择”Start”启动抓包程序. 2.打开学校主页,输入账号和密码登录校内邮箱. 3 ...

  8. fiddler设置抓取HTTPS协议数据包

    1.打开工具里的选项 2.选择弹窗中的HTTPS选项,如下图进行勾选 3.若浏览器显示不安全链接则需要添加证书 提示如下点击确定证书安装成功,可以查看安装的证书,点击Action 下图即可查看fidd ...

  9. 用Java代码实现拦截区域网数据包

    起因: 吃饭的时间在想如果区域网内都是通过路由器上网,那如何实现拦截整个区域网的数据包,从而实现某种窥探欲. 思路:      正常是通过电脑网卡预先设置或分配的IP+网关对路由器进行通讯,比如访问百 ...

随机推荐

  1. Java注解(入门级)

    Java注解 前言 近日在阅读开源项目,发现项目里好多奇奇怪怪的注解(@DataScope.@Log...)看得我一脸懵,不知道大家是否也有过这样的经历,回想了一下,发现自己对于注解的知识,好像只停留 ...

  2. Java工程师高薪训练营-第一阶段 开源框架源码解析-模块一 持久层框架涉及实现及MyBatis源码分析-任务一:自定义持久层框架

    目录 任务一:自定义持久层框架 1.1 JDBC回顾及问题分析 1.2 自定义持久层框架思路分析 1.3 IPersistence_Test编写 1.3.1 XXXMapper.xml详解 1.3.2 ...

  3. php 使用 phpword 操作 word 读取 word

    思路 1. 加载word文件.2. 循环判断加载出来的数据.( 数据下面有很多个节点 )( 节点是按照数据的类型分类的 例如 无样式的文本是RunText,换行是TextBreak,表格是table. ...

  4. c#写入文件流

    using (FileStream wir=new FileStream(@"C:\Documents and Settings\Administrator\桌面\1.txt",F ...

  5. lvs负载简介,原理,常见使用案例及Keepalived高可用

    Lvs简介 基础概念 LVS(Linux Virtual Server)即Linux虚拟服务器,是由张文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中(2.6及以上版本内核) ...

  6. git 的一些常用命令

    1. git clone **(项目地址) 克隆一个git项目到本地,将git项目拉取到本地 2. git status 查看文件状态,列出当前目录没有被git管理,以及被修改过还未提交的文件 3. ...

  7. sendfile zero-copy

    传统read/write进行网络文件传输过程当中,文件数据实际上经过四次copy操作: 硬盘->内核buf->用户buf->socket相关缓冲区->协议引擎 而sendfil ...

  8. 周末我把HashMap源码又过了一遍

    为什么在Java面试中总是会问HashMap? HashMap一直是Java面试官喜欢考察的题目,无论应聘者你处于哪个级别,在多轮的技术面试中似乎总有一次会被问到有关 HashMap 的问题. 为什么 ...

  9. Redis 数据结构之字符串的那些骚操作

    Redis 字符串底层用的是 sds 结构,该结构同 c 语言的字符串相比,其优点是可以节省内存分配的次数,还可以... 这样写是不是读起来很无聊?这些都是别人咀嚼过后,经过一轮两轮三轮的再次咀嚼,吐 ...

  10. 三、分布式编程总结------linux多线程服务端编程