本文概述
开发人员的基本技能之一是调试应用程序, API或服务, 并且知道正确的工具可以挽救生命。
什么是调试?
如果你观看犯罪剧, 那么调试背后的想法对你将不会陌生。调试是一个过程, 涉及很多策略。这是系统地发现并解决程序中的问题和错误。
此外, 调试还可以解决所有可能导致软件或Web应用程序无法正常运行的问题。调试API或Web应用程序的过程主要涉及尝试重现该问题。
因此, 出现了发出API请求的需求。现在, 这就是问题所在。大多数浏览器都会阻止你更改原始标头, 甚至无法更改URL大小的限制。
换句话说, 要重现此问题, 你可能需要执行一些HTTP操作。这将需要一些功能强大的调试工具。
调试过程的所有组件或策略包括:
- 交互式调试
- 控制流分析
- 单元测试
- 整合测试
- 日志文件分析
- 监控方式
- 内存转储
- 剖析
有趣的是, 有些HTTP客户端(即Web浏览器)具有内置的Web开发人员工具。这些工具可用于调试API。考虑到这一点, 没有必要编写调试工具。
什么是HTTP客户端?
如果你想构建一个利用HTTP协议进行分布式通信的系统, 或者构建一个支持HTTP的系统(例如Web应用程序)。然后, 你可能需要查看HTTP客户端组件。
每次键入URL时, HTTP或超文本传输协议就是你可以在Web上进行通信或传输数据的原因。这是一个使浏览互联网成为可能的应用协议。
现在, HTTP客户端是一个系统, 它以HTTP文本格式向服务器发送请求, 并依次从同一服务器接收响应。
此时, 了解HTTP客户端和HTTP服务器之间的区别至关重要。
HTTP客户端和服务器之间的差异
虽然HTTP客户端通常是Web浏览器, 但是HTTP服务器充当应用程序服务器的代理。它们用作HTML, CSS, JS, PHP, Python, C#, Java, Node.js等。
简而言之, 你的智能手机, 电视, PlayStation, 实际上是任何可以连接到互联网的设备, 都可能使用HTTP客户端。
同样, HTTP服务器是HTTP客户端连接到的网络计算机。他们分享的关系更像是一种对话式的关系。 HTTP客户端发送请求并且HTTP服务器响应的位置。
HTTP请求的例子
要求 | 结果 |
得到 | 请求整个资源 |
头 | 没有主体就请求资源 |
开机自检 | 将内容添加到现有的Web资源 |
放 | 修改现有的网络资源 |
删除 | 删除指定的资源 |
跟踪 | 显示对Web资源的更改 |
选项 | 显示URL的可用HTTP方法 |
连接 | 将请求连接转换为透明的TCP / IP隧道 |
补丁 | 部分修改网络资源 |
调试API从未如此简单。使用这些工具, 你可以在进行自己喜欢的工作和Web开发时最终得到放松。
首先, 让我们探索命令行HTTP客户端。
HTTPie
HTTPie的最终目标是使与Web服务用户界面的CLI交互变得友好。该工具提供了用于发送请求的HTTP命令, 所有命令均使用自然语法。
另外, HTTPie可用于调试, 测试和与HTTP服务器连接。
特征
- 内置JSON支持系统
- 文档和插件
- 支持Linux, macOS和Windows
- 支持Python 2.7和3.x
- 验证HTTPS和代理
- 直观的语法
请求者
Requester是一个强大的客户端, 结合了HTTPie, Postman和Paw的功能。它仅适用于Sublime Text编辑器。
强调
- 支持JSON Schemer
- 请求收集和历史记录
- 带语法高亮显示的彩色输出
- 现代UX
- Cookie, 自定义标头, 请求正文和查询参数易于设置。
- GraphQL支持
停留
RESTer可作为Google Chrome和Firefox的扩展程序使用。
特征
- 具有Basic或Auth2身份验证的授权标头
- 查看请求历史
- 使用任何方法, URL, 正文和自定义标头执行请求
- 测试和调试API
爪子
Paw是HTTP客户端, 它允许你发送各种HTTP请求。使用Paw, 你可以测试你的API, 还可以探索新的API。而且, Paw具有功能齐全的可视化编辑器和HTTP工具集。
此外, Paw专为macOS构建, 并且具有易于使用的功能。你可以导入并生成swagger, RAML等, 它支持JSON模式。
邮差
毫无疑问, Postman是用于调试Web应用程序的更流行的HTTP客户端之一。它允许更快, 更轻松地开发API。
特征
- 包含功能强大的GUI, 并具有用户友好的界面。
- 请求的历史记录。
- 使用收集运行器进行自动化测试。
- 详细的API文档。
- 支持拆分堆栈开发。
- 灵活的API监控。
除了所有这些出色功能之外, PostMan还支持多种有效载荷。包括JSON和HTML。
网络工具
NetTool是免费的调试工具。与PostMan不同, 它具有两个组成部分: TCP隧道和HTTP客户端。此外, NetTool还可以用于监视Web应用程序的正常运行时间, 性能和准确性。
此外, NetTool可用于处理应用程序级别的网络消息。
卷曲
如果你更多是命令行用户, 那么cURL是适合你的工具。 cURL是一个命令行工具, 用于使用URL语法发送数据。
SSH进入远程服务器时, cURL很有用。它还可以检查和验证那些远程服务器的证书。
强调
- 支持一系列常见的网络协议。
- 执行SSL证书验证。
- 包含在nix发行版中
- 支持用于测试和部署的构建脚本。
提琴手
Fiddler是一个跨平台的Web应用程序调试代理。它可以编辑和操纵Web会话。此外, Fiddler可以解密HTTPS流量并显示Web应用程序请求。
使用Fiddler, 你可以编写HTTP请求。同样, cookie, 标头和缓存指令在客户端和服务器之间传输。
特征
- Web会话操作
- 性能测试
- 安全测试
- HTTP / HTTPS流量记录
- 网页调试
- 定制选项
查尔斯·Proxy
Charles代理还是最受欢迎的调试工具之一。它是一个HTTP代理, 通过它路由本地计算机流量。只要你配置了Charles代理, 它就可以在任何智能设备和PC上运行。
你可以将Charles用于SSL代理, 带宽限制, AJAX调试, 断点等。
第二, 使用网络浏览器
火狐浏览器
可以通过浏览器调试Web应用程序。 Firefox Web浏览器允许你通过使用附加组件和扩展来添加功能。
因此, 你可以直接从浏览器使用Web开发人员工具栏和其他调试扩展。
IE浏览器
尽管Internet Explorer可能不利于更严格的Web API开发, 但可以运行它来检查崩溃报告。
而且, 它可以检查和检测错误和有缺陷的代码。
苹果浏览器
苹果公司的Safari浏览器Web开发人员工具包括一个Web检查器。使用此工具可以轻松调试, 修改, 监视和优化网站应用程序。
同样, 它具有用户友好的界面, 即响应式设计模式。在这里, 你可以查看你的网页, 其分辨率和方向。
铬
Chrome开发人员工具直接在浏览器中构建。 DevTools可以帮助诊断问题。此外, 它们还允许你即时编辑页面。
借助Chrome开发者工具, 你可以及时检查API, 并且压力较小。
总结
开发Web应用程序或API可能很容易, 也可能不容易。捕获HTTP客户端的请求并从HTTP服务器接收响应绝非易事。
但是, 使用这些工具, 你可以在游戏中处于领先地位。使用HTTP客户端监控API, 检测错误并调试Web应用程序, 以及所有其他功能。
评论前必须登录!
注册