curl和浏览器客户端开发调试 – 深入浅出HTTP原理

一、浏览器开发调试在我们学习和设计HTTP的相关内容时,最常用的工具就是浏览器,一般浏览器都自带开发者模式,在涉及到HTTP原理的学习中,我们主要是查看HTTP的请求头和响应头。
以chrome浏览器的使用为例子,在页面点击右键-检查打开调试面板,在顶部导航找到Network,然后刷新页面,你可以看到该页面的加载内容:

curl和浏览器客户端开发调试 – 深入浅出HTTP原理

文章图片
  1. General并不属于HTTP报文的内容,该项信息只是一个简洁提炼出来展示。
  2. Response Headers响应头,在这里你可以查看服务器的环境信息:server服务器使用的是AmazonS3,也可以查看关于该报文数据主体的详细信息,例如从content-type得知该报文数据类型为image/jpeg,还有报文数据的过期时间,最后更新时间等。
  3. Request Headers请求头,本机向服务器请求数据的报文信息,例如cookie,浏览器每次请求都会带上cookie,所以在cookie中保存session id可以实现回话保持。又如user-agent为本机请求的用户代理,在这里即浏览器。
二、curl HTTP客户端调试【curl和浏览器客户端开发调试 – 深入浅出HTTP原理】除了可以使用浏览器作为开发调试工具,另外还有更好用的curl,curl是一个超级强大的HTTP客户端工具,你可以在linux环境下安装,另外,如果你在本地已下载git可以使用git bash命令行工具使用curl。
curl和浏览器客户端开发调试 – 深入浅出HTTP原理

文章图片
                          Curl常用命令如下:
  1. 获取html文档内容:curl http://www.example.com
  2. 显示http头:curl –I http://www.example.com
  3. 显示http头和html内容:
curl –v http://www.example.com
curl –i http://www.example.com
  1. 保存html文档内容:curl http://www.example.com –o index.html
  2. 获取重定向内容:curl –L http://example.com
  3. 自定义User-Agent:curl – A “user-agent” http://www.example.com
  4. 自定义header:curl –H “key=value”
  5. 保存cookie:curl –c “cookie-file-name”
  6. 发送POST请求,-X后面跟HTTP方法:
  7. curl –d “key01=value01& key02=value02” –X POST http://www.example.com

    推荐阅读