web 应用交互
HTTP 协议基础
HTTP 请求
requests
分析 HTTP 响应
HTTP 协议基础
超文本传输协议 (HyperText Transfer Protocol, 缩写: HTTP) 是一种用于分布式, 协作式和超媒体信息系统的应用层协议. HTTP 是万维网的数据通信的基础.
设计 HTTP 最初的目的是为了提供一种发布和接收 html 页面的方法. 通过 HTTP 或者 HTTPS 协议请求的资源由统一资源标识符 (Uniform Resource Identifiers,URI) 来标识.
HTTP 的发展是由蒂姆. 伯纳斯 - 李于 1989 年在欧洲核子研究组织 (CERN) 所发起. HTTP 的标准制定由万维网协会 (World Wide Web Consortium,W3C) 和互联网工程任务组 (Internet Engineering Task Force,IETF) 进行协调, 最终发布了一系列的 RFC, 其中最著名的是 1999 年 6 月公布的 RFC 2616, 定义了 HTTP 协议中现今广泛使用的一个版本 --HTTP 1.1.
2014 年 12 月, 互联网工程任务组 (IETF) 的 Hypertext Transfer Protocol Bis(httpbis)工作小组将 HTTP/2 标准提议递交至 IESG 进行讨论[2], 于 2015 年 2 月 17 日被批准. HTTP/2 标准于 2015 年 5 月以 RFC 7540 正式发表, 取代 HTTP 1.1 成为 HTTP 的实现标准.
HTTP 是一个客户端终端 (用户) 和服务器端 (网站) 请求和应答的标准(TCP). 通过使用网页浏览器, 网络爬虫或者其它的工具, 客户端发起 HTTP 请求到服务器上指定端口(默认端口为 80). 我们称这个客户端为用户代理程序(user agent). 应答的服务器上存储着一些资源, 比如 HTML 文件和图像. 我们称这个应答服务器为源服务器(origin server. 在用户代理和源服务器中间可能存在多个 "中间层", 比如代理服务器, 网关或者隧道(tunnel).
尽管 TCP/IP 协议是互联网上最流行的应用, HTTP 协议中, 并没有规定必须使用它或它支持的层. 事实上, HTTP 可以在任何互联网协议上, 或其他网络上实现. HTTP 假定其下层协议提供可靠的传输. 因此, 任何能够提供这种保证的协议都可以被其使用. 因此也就是其在 TCP/IP 协议族使用 TCP 作为其传输层.
通常, 由 HTTP 客户端发起请求, 创建到服务器指定端口 (默认是 80 端口) 的 TCP 连接. HTTP 服务器则在那个端口监听客户端的请求. 一旦收到请求, 服务器会向客户端返回状态, 比如 "HTTP/1.1 200 OK", 以及返回的内容, 如请求的文件, 错误消息, 或者其它信息.
版本
超文本传输协议已经演化出了很多版本, 它们中的大部分都是向下兼容的. 在 RFC 2145 中描述了 HTTP 版本号的用法. 客户端在请求的开始告诉服务器它采用的协议版本号, 而后者则在响应中采用相同或者更早的协议版本.
HTTP/0.9
已过时. 只接受 GET 一种请求方法, 没有在通讯中指定版本号, 且不支持请求头. 由于该版本不支持 POST 方法, 因此客户端无法向服务器传递太多信息.
HTTP/1.0
这是第一个在通讯中指定版本号的 HTTP 协议版本, 至今仍被广泛采用, 特别是在代理服务器中.
HTTP/1.1
持久连接被默认采用, 并能很好地配合代理服务器工作. 还支持以管道方式在同时发送多个请求, 以便降低线路负载, 提高传输速度.
HTTP/1.1 相较于 HTTP/1.0 协议的区别主要体现在:
缓存处理
带宽优化及网络连接的使用
错误通知的管理
消息在网络中的发送
互联网地址的维护
安全性及完整性
HTTP/2
当前版本, 于 2015 年 5 月作为互联网标准正式发布.
HTTP 是无状态的, 服务器和客户端只有请求时知道对方, 为此很容易发动攻击. 所有的通信是明文, 易受截取和篡改.
image.png
可爱的 python 测试开发库 https://github.com/china-testing/python-api-tesing 请在 github 上点赞, 谢谢!
python 中文库文档汇总
接口自动化性能测试线上培训大纲
python 测试开发自动化测试数据分析人工智能自学每周一练
[雪峰磁针石博客]python3 标准库 - 中文版
更多内容请关注 雪峰磁针石: 简书
技术支持 qq 群: 144081101(后期会录制视频存在该群群文件) 591302926 567351477 钉钉免费群: 21745728
道家技术 - 手相手诊看相中医等钉钉群 21734177 qq 群: 391441566 184175668 338228106 看手相, 面相, 舌相, 抽签, 体质识别. 服务费 50 元每人次起. 请联系钉钉或者微信 pythontesting
具体的任务工具
哈希, Base 64,MD5,SHA1 和 Unicode 等.
利用漏洞工具: 如 SQL 注入器如 SQL map,XSS 控制台如 Beef 来演示 XSS 和 DOM XSS,Dominator 等扫描工具等等.
其他工具, 比如控制服务器, 上传文件, Shell, 代理内容到内部网络, 并在内部扩展您的攻击.
来源: http://www.jianshu.com/p/77b013a2a556