HTTP

作者: 饥人谷_西瓜 | 来源:发表于2018-10-18 22:36 被阅读0次

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

    请求最多包含四部分,最少包含三部分。(也就是说第四部分可以为空)
    第三部分永远都是一个回车(\n)
    动词为请求方法,有 GET POST PUT PATCH DELETE HEAD OPTIONS 等

    方法 作用
    GET 请求获取由 Request-URI 所标识的资源 请求参数在 请求行中
    POST 请求服务器接收在请求中封装的实体,并将其作为由 Request-Line中的 Request-URI 所标识的资源的一部分请求参数在请求体中
    HEAD 请求获取由 Request-URI 所标识的资源的响应消息报头
    PUT 请求服务器存储一个资源,并用 Request-URI 作为其标识符
    DELETE 请求服务器删除由 Request-URI 所标识的资源
    TRACE 请求服务器回送到的请求信息,主要用于测试或诊断
    CONNECT 保留将来使用
    OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求

    这里的路径包括「查询参数」,但不包括「锚点」
    如果你没有写路径,那么路径默认为 /
    第 2 部分中的 Content-Type 标注了第 4 部分的格式
    常见的类型如下:
    text/html : HTML格式
    text/plain :纯文本格式
    text/xml : XML格式
    image/gif :gif图片格式
    image/jpeg :jpg图片格式
    image/png:png图片格式

    响应的格式

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

    1xx:指示信息——表示请求已经接受,继续处理
    2xx:成功——表示请求已经被成功接收、理解、接受。
    3xx:重定向——要完成请求必须进行更进一步的操作
    4xx:客户端错误——请求有语法错误或请求无法实现
    5xx:服务器端错误——服务器未能实现合法的请求。

    第 2 部分中的 Content-Type 标注了第 4 部分的格式

    第 2 部分中的 Content-Type 遵循 MIME 规范

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

    crul命令的使用

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

    语法:# 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 http://www.baidu.com

    保存访问的网页
    curl -o baidu.html http://www.baidu.com

    相关文章

      网友评论

          本文标题:HTTP

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