HTTP

URL

统一资源定位符(Uniform Resource Locator)

  • 完整的URL包括协议、域名、路径、查询字符串、锚点和端口。
  • 通过 URL 你可以确定一个「唯一的」地址(网址)。

HTTP

超文本传输协议(HTTP,HyperText Transfer Protocol)

  • HTTP 的作用就是指导浏览器和服务器如何进行沟通。
  • 使用 curl 命令发送请求:
    curl -s -v -H “key: value” -- "https://www.baidu.com"
    
  • -v显示请求详细信息
  • -X 指定请求方式
    curl -X POST -s -v -H “Frank: xxx” – “https://www.baidu.com"
  • -H增加头部信息

    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 要上传的数据
    
    1. 请求行:请求方法(GET POST PUT PATCH DELETE HEAD OPTIONS)、路径(URL)、HTTP协议版本。
    2. 请求头(key: value形式):
      User-Agent:产生请求的浏览器类型。
      Accept:客户端可识别的内容类型列表。
      Host:主机地址。
      Content-Type:标注了第 4 部分的格式
    3. 第三部分永远都是一个回车(\n),用来区分第二部分与第四部分。
    4. 要上传的数据,post 方法中,数据以 key: value 形式发送。

      用 Chrome 发请求
    5. F12,点击 Network。
    6. 地址栏输入网址。
    7. 在 Network 点击,查看 request,点击「view source」。

      HTTP响应

      响应格式
      1 协议/版本号 状态码 状态解释
      2 Key1: value1
      2 Key2: value2
      2 Content-Length: 17931
      2 Content-Type: text/html
      3
      4 要下载的内容
    8. 状态行:协议/版本号 状态码 状态解释。
    9. 响应头:包含服务器类型,日期,长度,内容类型等(key: value 形式),Content-Length 表示响应正文的长度,Content-Type 表示响应正文的格式。
    10. 响应正文:服务器返回的 HTML 页面或者 json 数据。
      1xx 指示信息–表示请求已接收,继续处理
      2xx 成功–表示请求已被成功接收、理解、接受
      3xx 重定向–要完成请求必须进行更进一步的操作。
      4xx 客户端错误–请求有语法错误或请求无法实现。
      5xx 服务器端错误–服务器未能实现合法的请求。
      
      用 Chrome 查看响应
    11. 点击 Network。
    12. 输入网址。
    13. 选中第一个响应。
    14. 查看 Response Headers,点击「view source」。
    15. 查看 Response 或者 Preview,查看响应的第 4 部分