美文网首页
HTTP协议

HTTP协议

作者: 饥人谷_王捷 | 来源:发表于2018-10-03 00:16 被阅读0次

    什么是http

    超文本传输协议(HTTP)是用于传输诸如HTML的超媒体文档的应用层协议。它被设计用于Web浏览器和Web服务器之间的通信。

    用户通过客户端,如浏览器打开一个连接以发出请求,服务器端收到请求并发回响应。

    http请求

    http请求包括以下几个部分。

    1. 方法(GET/POST/PUT/PATCH/DELETE) 路径(包括查询参数但不包括锚点) 协议/版本
    2. Host:url
      User-Agent:curl/7.54.0
      Content-Type:application/x-www-form-urlencoded
      ....
    3. 一个换行
    4. 上传的数据(并不总是有)

    可通过chrome浏览器查看相关信息。点击F12,找到Network,此时请求一个网页,就能看到相应的请求,点击一个请求,找到Request Headers,点击view source即可看到相应的http请求。


    http响应

    1. 协议/版本号 状态码 状态解释
    2. Accept-Ranges: bytes
      Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
      Connection: Keep-Alive
      Content-Length: 2381
      Content-Type: text/html
      ...
    3. 一个换行。
    4. 下载的内容。

    依然可通过用chrome浏览器查看相关信息。方法同上,唯一不同的是要通过Response Headers查看相应信息。


    需要注意的是,Content-Type决定了第四部分的内容类型。
    关于状态码的一些信息。

    • 2xx 表示成功响应。
    • 3xx 表示重定向。
    • 4xx 表示客户端错误。
    • 5xx 表示服务器错误。
      具体细节可查看 状态码

    除了通过chrome查看,也可使用gitbash查看请求响应信息。在命令行输入curl -s -v -H "xxx:yyy" -- "http://www.baidu.com",即可查看返回的内容。

    使用POST方法curl -X POST -s -v -H "xxx:yyy" -- "https://www.baidu.com"

    使用POST方法并发送一些数据curl -X POST -d"123456xxxx" -s -v -H "xxx:yyy" -- "https://www.baidu.com"

    相关文章

      网友评论

          本文标题:HTTP协议

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