httpstat一个实用的网络工具

概述

这个工具可以收集一些网站的基础信息,而且它使用ascii字符的方式显示网站各种连接的时间,方便我们根据这个去优化网站,从而提高网站的连接响应速度。

安装

安装很简单,使用pip就可以完成 pip install httpstat

使用

一般来说都是httpstat加上你的网站名字,比如

➜  ~ httpstat http://www.baidu.com/   
Connected to 183.232.231.173:80 from 192.168.1.105:56032

HTTP/1.1 200 OK
Server: bfe/1.0.8.18
Date: Sat, 13 Jan 2018 03:15:13 GMT
Content-Type: text/html
Content-Length: 2381
Last-Modified: Mon, 23 Jan 2017 13:28:12 GMT
Connection: Keep-Alive
ETag: "588604ec-94d"
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Pragma: no-cache
Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
Accept-Ranges: bytes

Body stored in: /tmp/tmpeflrdk2d

  DNS Lookup   TCP Connection   Server Processing   Content Transfer
[    12ms    |      37ms      |       38ms        |        0ms       ]
             |                |                   |                  |
    namelookup:12ms           |                   |                  |
                        connect:49ms              |                  |
                                      starttransfer:88ms             |
                                                                 total:88ms   

上面显示了dns查找花了12ms,tcp连接花了37ms,服务器处理用了38ms,内容传输花了0ms,而且可以看到服务器的类型等等,这个工具还可以设置环境变量来控制显示的信息

Environments:
  HTTPSTAT_SHOW_BODY    Set to `true` to show resposne body in the output,
                        note that body length is limited to 1023 bytes, will be
                        truncated if exceeds. Default is `false`.
  HTTPSTAT_SHOW_IP      By default httpstat shows remote and local IP/port address.
                        Set to `false` to disable this feature. Default is `true`.
  HTTPSTAT_SHOW_SPEED   Set to `true` to show download and upload speed.
                        Default is `false`.
  HTTPSTAT_SAVE_BODY    By default httpstat stores body in a tmp file,
                        set to `false` to disable this feature. Default is `true`
  HTTPSTAT_CURL_BIN     Indicate the curl bin path to use. Default is `curl`
                        from current shell $PATH.
  HTTPSTAT_DEBUG        Set to `true` to see debugging logs. Default is `false`

如果你要临时让这个工具不显示比如网站的ip,只要在终端输入 export HTTPSTAT_SHOW_IP=false 之后你就不会看到ip了,和第一次输出你可以对比一下

➜  ~ httpstat http://www.baidu.com/
HTTP/1.1 200 OK
Server: bfe/1.0.8.18
Date: Sat, 13 Jan 2018 03:22:15 GMT
Content-Type: text/html
Content-Length: 2381
Last-Modified: Mon, 23 Jan 2017 13:28:12 GMT
Connection: Keep-Alive
ETag: "588604ec-94d"
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Pragma: no-cache
Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
Accept-Ranges: bytes

Body stored in: /tmp/tmpf3fiqj62

  DNS Lookup   TCP Connection   Server Processing   Content Transfer
[    12ms    |      38ms      |       38ms        |        0ms       ]
             |                |                   |                  |
    namelookup:12ms           |                   |                  |
                        connect:50ms              |                  |
                                      starttransfer:88ms             |
                                                                 total:88ms   

其实这个工具是对curl的封装,所以有的curl参数对这个工具也是适用的

欢迎关注Bboysoul的博客www.bboysoul.com Have Fun

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大内老A

ASP.NET Core应用针对静态文件请求的处理[2]: 条件请求与区间请求

通过调用ApplicationBuilder的扩展方法UseStaticFiles注册的StaticFileMiddleware中间件帮助我们处理针对文件的请求...

22450
来自专栏郭少华

Spring boot Mybatis-XML方式使用Druid连接池(四)

48140
来自专栏张善友的专栏

http响应Last-Modified和ETag以及asp.net web api实现

基础知识 1) 什么是”Last-Modified”? 在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是你请求的资源,同时有一个Las...

24250
来自专栏Jerry的SAP技术分享

如何检查某个用户是否具有某个权限对象上定义的某种权限

比如下图这个ABAP development studi里创建的角色是为了实现CDS view DEMO_CDS_AUTH_LIT_PFCG的权限控制,里面使用...

39280
来自专栏Linyb极客之路

在Spring Boot中实现HTTP缓存

幸运的是,Java附带了第一个这些格式的预定义格式化程序。可以在下面找到将标题设置为当天结束的示例。

34850
来自专栏Android 研究

OKHttp源码解析(六)--中阶之缓存基础

1.什么是缓存 2.为什么要用缓存 3.HTTP缓存机制 4.CacheControl类详解 5.CacheStrategy类详解 6.CacheIn...

25750
来自专栏python爬虫日记

python 2.7 下urllib2 常见用法总结

urllib2做为python下,在httplib之上再次封装的强大html协议实现,应用非常广泛。

63630
来自专栏一枝花算不算浪漫

[数据库连接池] Java数据库连接池--DBCP浅析.

487140
来自专栏lzj_learn_note

Volley源码分析学习

2)根据SDK版本来创建HttpStack的实现,如果是2.3以上的,则使用基于HttpUrlConnection实现的HurlStack,反之,则利用Http...

13260
来自专栏有趣的django

Django+Bootstrap+Mysql 搭建个人博客(五)

31600

扫码关注云+社区

领取腾讯云代金券