美文网首页
2018-06-06

2018-06-06

作者: 铁杵磨针 | 来源:发表于2018-06-06 23:09 被阅读0次

    关于HTTP 那些事

    自从有万维网以来,人们浏览网页的通信协议一直都没有变过,就是请求和相应模式。这都是遵守HTTP协议的缘故。那么,现在我就解来揭开HTTP的神秘面纱吧。

    1.HTTP 是什么鬼 ?

    http的全称为超文本传输协议,是“HyperText Transfer Protocol”的缩写。我们之所以能在浏览器输入网址后就返回一个网页,都是遵守HTTP协议标准实现的。是一个客户端和服务器端请求和应答的标准。通俗来讲,他就是计算机通过网络进行通信的规则,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据。目前任何终端(手机,笔记本电脑。。)之间进行任何一种通信都必须按照Http协议进行,否则无法连接。

    2. HTTP 请求包括哪些部分,如何在cherome上查看

    • 一个HTTP请求报文由请求行,请求头部,空行和请求数据4个部分组成,下面给出了请求报文的一个示例:第一行为第一部分即请求行;剩下4行全部为第二部分即请求头部;第三部分永远为空行;第四部分为请求数据。
      示例

      GET / HTTP/1.1
      Host: www.baidu.com
      User-Agent: curl/7.54.0
      Accept: /
      user: xxx

    请求的格式

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

    如何用Chrome开发者工具查看其请求内容
    首先使用CHROME浏览器,右键单击‘检查’即打开开发者工具,然后再单击Network开关,在地址栏输入一个网址https://www.baidu.com/,在 Network 点击,查看 request,点击「view source」,可以看到请求的前三部分了。如果有请求的第四部分,那么在 FormData 或 Payload 里面可以看到。

    image.png

    3.HTTP 响应包括哪些部分,如何用Chrome开发者工具查看其响应内容

    • HTTP响应报文主要由状态行、响应头部、空行以及响应数据4部分组成。状态行分别为:协议版本,状态码,状态码描述。以下为例子:

    HTTP/1.1
    Accept-Ranges: bytes
    Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
    Connection: Keep-Alive
    Content-Length: 2443
    Content-Type: text/html
    Date: Tue, 10 Oct 2017 09:14:05 GMT
    Etag: "5886041d-98b"
    Last-Modified: Mon, 23 Jan 2017 13:24:45 GMT
    Pragma: no-cache
    Server: bfe/1.0.8.18
    Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
    <!DOCTYPE html>
    <html> <head> 后面太长,省略了……

    响应的格式

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

    用 Chrome 查看响应

    打开 Network
    输入网址
    选中第一个响应
    查看 Response Headers,点击「view source」,点击「view source」,点击「view source」
    你会看到响应的前两部分
    查看 Response 或者 Preview,你会看到响应的第 4 部分

    image.png

    3.如何使用 curl 命令

    curl -s -v -H "Frank: xxx" -- "https://www.baidu.com" 参数谷歌一下就知,

    curl -s -v -H "Frank: xxx" -- "https://www.baidu.com"
    
    
     HTTP/1.1 200 OK
    < Accept-Ranges: bytes
    < Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
    < Connection: Keep-Alive
    < Content-Length: 2443
    < Content-Type: text/html
    < Date: Wed, 06 Jun 2018 15:05:54 GMT
    < Etag: "588603ec-98b"
    < Last-Modified: Mon, 23 Jan 2017 13:23:56 GMT
    < Pragma: no-cache
    * Server bfe/1.0.8.18 is not blacklisted
    < Server: bfe/1.0.8.18
    < Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
    <
    

    相关文章

      网友评论

          本文标题:2018-06-06

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