美文网首页
前端 | HTTP相关知识的学习

前端 | HTTP相关知识的学习

作者: 清与时光 | 来源:发表于2018-10-02 12:59 被阅读0次

    本文目录

    • 什么是HTTP
    • HTTP 请求
    • HTTP 响应
    • curl 命令

    什么是HTTP

    维基百科的解释

    主要流程为:浏览器发起请求 > 服务器接受请求 > 服务器响应 > 浏览器下载响应内容

    HTTP 请求

    1. HTTP请求方法
      HTTP/1.1协议中共定义了八种方法:GET、HEAD、POST、PUT、DELETE、TRACE、OPTIONS、CONNECT。

    2. 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 要上传的数据
    

    例如:

    GET / HTTP/1.1
    Host: www.baidu.com
    Connection: keep-alive
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
    Accept-Encoding: gzip, deflate, br
    Accept-Language: en-GB,en;q=0.9,en-US;q=0.8,zh-CN;q=0.7,zh;q=0.6
    
    
    1. 使用Chrome开发者工具查看 HTTP 请求内容
      1 在Chrome中按下F12或在页面右键,点击检查。
      2 切换到Network标签页。
      3 在地址栏输入完整的URL,回车。
      4 此时Network标签页中会显示本次操作的所有请求。
      5 点击所需要查看的请求,展开Request Headers,点击view source。
      6 显示的内容即为所需查看的 HTTP 请求内容

    HTTP 响应

    1. 响应的格式
    1 协议/版本号 状态码 状态解释
    2 Key1: value1
    2 Key2: value2
    2 Content-Length: 17931
    2 Content-Type: text/html
    3
    4 要下载的内容
    

    例如:

    HTTP/1.1 200 OK
    Bdpagetype: 2
    Bdqid: 0xb405678a0002641c
    Cache-Control: private
    Connection: Keep-Alive
    Content-Encoding: gzip
    Content-Type: text/html;charset=utf-8
    Date: Tue, 02 Oct 2018 04:29:18 GMT
    Expires: Tue, 02 Oct 2018 04:29:18 GMT
    Server: BWS/1.1
    Set-Cookie: BDSVRTM=190; path=/
    Set-Cookie: BD_HOME=1; path=/
    Set-Cookie: H_PS_PSSID=1447_21099_26350_20719; path=/; domain=.baidu.com
    Strict-Transport-Security: max-age=172800
    X-Ua-Compatible: IE=Edge,chrome=1
    Transfer-Encoding: chunked
    
    1. 状态码
    • 1xx消息——请求已被服务器接收,继续处理
    • 2xx成功——请求已成功被服务器接收、理解、并接受
    • 3xx重定向——需要后续操作才能完成这一请求
    • 4xx请求错误——请求含有词法错误或者无法被执行
    • 5xx服务器错误——服务器在处理某个正确请求时发生错误
    1. 使用Chrome开发者工具查看 HTTP 响应内容
      1 在Chrome中按下F12或在页面右键,点击检查。
      2 切换到Network标签页。
      3 在地址栏输入完整的URL,回车。
      4 此时Network标签页中会显示本次操作的所有响应。
      5 点击所需要查看的响应,展开Response Headers,点击view source。
      6 显示的内容即为所需查看的 HTTP 响应内容

    curl 命令

    使用curl 命令可以在命令行中发起一个http请求。
    例如

    1. curl -s -v -- "https://www.baidu.com"
      发起一段请求
    GET / HTTP/1.1
    Host: www.baidu.com
    User-Agent: curl/7.54.0
    Accept: */*
    
    
    1. curl -X POST -s -v -- "https://www.baidu.com"
      请求的协议为post
    POST / HTTP/1.1
    Host: www.baidu.com
    User-Agent: curl/7.54.0
    Accept: */*
    
    
    1. curl -X POST -d "1234567890" -s -v -- "https://www.baidu.com"
      发起的请求包含了一段上传的数据
    POST / HTTP/1.1
    Host: www.baidu.com
    User-Agent: curl/7.54.0
    Accept: */*
    Content-Length: 10
    Content-Type: application/x-www-form-urlencoded
    
    1234567890
    

    相关文章

      网友评论

          本文标题:前端 | HTTP相关知识的学习

          本文链接:https://www.haomeiwen.com/subject/iiwooftx.html