美文网首页饥人谷技术博客
HTTP初探:请求与响应

HTTP初探:请求与响应

作者: 饥人谷_万青 | 来源:发表于2019-01-01 16:37 被阅读62次

    HTTP是什么

    协议,就是双方为了交流而设置的规则。而超文本传输协议(HTTP)就是客户端和服务器端之间相互通信而设置的规则。只要客户端与服务器都使用HTTP协议,双方就能相互理解各自所发送信息的含义。
    通过使用网页浏览器(如IE、Chrome)等工具,客户端发起一个HTTP请求到服务器上的指定端口(默认端口为80)。服务器则在该端口监听客户端的请求,一旦收到请求,服务器会响应客户端并返回一个状态,比如"HTTP/1.1 200 OK",以及返回的内容,如请求的文件、错误消息、或者其它信息。

    HTTP请求

    HTTP请求包含以下几个信息:

    1. 动词 路径 协议/版本(例如GET /images/logo.gif HTTP/1.1,表示从/images目录下请求logo.gif这个文件)
    2. Key1: value1(例如Accept-Language: en)
    3. 空行
    4. 要上传的数据

    HTTP响应

    HTTP响应包含以下几个信息:

    1. 协议/版本号 状态码 状态解释(例如HTTP/1.1 200 OK,表示请求已成功,请求所希望的响应头或数据体将随此响应返回)
    2. Key1: value1
    3. 空行
      4 要下载的内容

    使用Chrome开发者工具查看HTTP请求&发送内容

    1. 打开Chrome,在空白位置右击鼠标,选择检查,进入开发者模式 进入开发者模式
    2. 选择Network标签,输入并打开查询网址,选择第一项 进入请求
    3. 选择Request HeadersResponse Headers即可查看请求或响应信息的1、2部分(记得选择View Source),选择Response可查看第四部分 查看信息
    4. 查询结果 查询结果

    使用curl命令查看HTTP请求&发送内容

    curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。

    • 语法 :
    $ curl [option] [url]
    
    • 常见参数:
    -A/--user-agent <string>          设置用户代理发送给服务器
    -b/--cookie <name=string/file>    cookie字符串或文件读取位置
    -c/--cookie-jar <file>            操作结束后把cookie写入到这个文件中
    -C/--continue-at <offset>         断点续转
    -D/--dump-header <file>           把header信息写入到该文件中
    -e/--referer                      来源网址
    -f/--fail                         连接失败时不显示http错误
    -o/--output                       把输出写到该文件中
    -O/--remote-name                  把输出写到该文件中,保留远程文件的文件名
    -r/--range <range>                检索来自HTTP/1.1或FTP服务器字节范围
    -s/--silent                       静音模式。不输出任何东西
    -T/--upload-file <file>           上传文件
    -u/--user <user[:password]>       设置服务器的用户和密码
    -w/--write-out [format]           什么输出完成后
    -x/--proxy <host[:port]>          在给定的端口上使用HTTP代理
    -#/--progress-bar                 进度条显示当前的传送状态
    
    • 示例
    $ curl -s -v -H "Hello" -- "https://www.baidu.com"
    

    用 curl 创造一个请求,并得到响应


    请求与响应
    $ curl -o baidu.html  www.baidu.com
    

    用curl抓去百度首页保存到当前目录下的baidu.html中

    $ curl ip.gs
    

    用curl查询本机IP地址

    相关文章

      网友评论

        本文标题:HTTP初探:请求与响应

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