前言

本文主要包括以下内容:

  1. HTTP是什么?
  2. HTTP 请求包括哪些部分?
  3. HTTP 响应包括哪些部分?
  4. 如何用Chrome开发者工具查看 HTTP 请求及请求的内容?
  5. 如何使用 curl 命令?

1  HTTP是什么?

  • HTTP 全称:HyperText Transfer Protocol,即超文本传输协议HTTP的作用。
  • HTTP 作用:指导浏览器和服务器之间进行沟通。

2  HTTP 请求包括哪些部分?

  • HTTP请求主要包括四部分(第四部分可以为空),主要格式如下:
  • 1 动词 路径 协议/版本
    2 Key1: value1
    2 Key2: value2
    2 Key3: value3
    2 Content-Type: application/x-www-form-urlencoded
    2 Host: www.baidu.com
    2 User-Agent: curl/7.54.0
    3
    4 要上传的数据 

3  HTTP 响应包括哪些部分?

  • HTTP响应同样包括四部分,主要格式如下:
  • 1 协议/版本号 状态码 状态解释
    2 Key1: value1
    2 Key2: value2
    2 Content-Length: 17931
    2 Content-Type: text/html
    3
    4 要下载的内容

4  如何用Chrome开发者工具查看 HTTP 请求及响应的内容?

  • 首先进入chrome浏览器,command+option+i 打开开发者页面。
  • 查看请求头部信息:打开一个网址,这里打开的是https://st.hujiang.com,按照下图选择,如果不能看到请求的内容,点击request hearders(橙色的线条位置)旁边的的view source即可看到请求头。
  • 查看响应头部信息:点击response hearders(蓝色的线条位置)旁边的的view source,即可看到响应头。
  • 查看响应的内容,点击Hearders 旁边的Preview即可,如下图:

5  如何使用 curl 命令?

  • 什么是curl:Curl是Linux下一个很强大的http命令行工具。
  • curl的基本用途:创造一个请求,并得到响应,主要如下图:
    curl -s -v -H "Nola: xxx" -- "https://www.baidu.com"
    请求内容:
    GET / HTTP/1.1
    Host: www.baidu.com
    User-Agent: curl/7.54.
    Accept: */*
    Nola: xxx curl -X POST -s -v -H "Nola: xxx" -- "https://www.baidu.com"
    请求内容:
    POST / HTTP/1.1
    Host: www.baidu.com
    User-Agent: curl/7.54.0
    Accept: */*
    Nola: xxx curl -X POST -d "" -s -v -H "Nola: xxx" -- "https://www.baidu.com"
    请求内容:
    POST / HTTP/1.1
    Host: www.baidu.com
    User-Agent: curl/7.54.
    Accept: */*
    Nola: xxx
    Content-Length: 10
    Content-Type: application/x-www-form-urlencoded 1234567890

最新文章

  1. PHP RSA参数签名
  2. 预装WIN8系统的电脑安装WIN7的方法
  3. 使用Excel对象模型在Excel单元格中设置不同的字体
  4. Hadoop学习笔记(2)
  5. POJ 1904 King's Quest 强连通分量+二分图增广判定
  6. nginx_http核心模块(二)
  7. 第28讲 UI组件之 ListView和ArrayAdapter
  8. Swift 求余运算
  9. Java实现猜字母游戏
  10. 写博客 Why?
  11. GitHub学习笔记:本地操作
  12. HTTP简明学习
  13. java.lang.RuntimeException: Class "org.apache.maven.cli.MavenCli$CliRequest" not found
  14. 在不安装sqlite3的时候使用sqlite3数据库以及问题/usr/bin/ld: skipping incompatible.....的解决
  15. webStorm 2018 激活
  16. php +apache +mysql 配置笔记
  17. nginx 用户登录认证
  18. (转)Mysql数据库主从心得整理
  19. intellij 插件结构(文件结构以及概念层面上的结构)
  20. SpringBoot Caused by: java.lang.NoClassDefFoundError: org/apache/tomcat/util/descriptor/tld/TldParser

热门文章

  1. Bata版本
  2. pyspider architecture--官方文档
  3. DirectUI界面编程(六)实现右键弹出菜单
  4. indexOf实际试用方法
  5. 使用 Shiro 设计基于用户、角色、权限的通用权限管理系统
  6. JSP 点击量统计!
  7. 路飞学城Python-Day23(practise)
  8. Python——微信数据分析
  9. [读书笔记] Python数据分析 (四) 数组和矢量计算
  10. Vue2+Webpack+ES6 兼容低版本浏览器(IE9)解决方案