美文网首页虫虫
HTTP 协议简介

HTTP 协议简介

作者: 旦暮何枯 | 来源:发表于2019-02-22 16:49 被阅读9次

    HTTP协议

    请求响应式协议,一次请求和一次响应构成一次HTTP事务。
    HTTP 协议是无状态的,任何两次请求都是没有依赖关系的。

    协议分层-基于 IP 协议栈

    HTTP 应用层
    TCP 传输层 80 端口 保证传输数据有序可靠
    IP 网络层 IP <- 域名服务器(DNS)<- 域名(www.XXX.com
    数据链路层和物理层 数据传输

    流程

    image.png

    请求分析

        GET /upload/iou/APP_FILE/ylzg-resource.zip?auth_key=1548988144918-9b872976b9564a6930b8c7df6c1dbaaf HTTP/1.1
    Host    yltest.xylpay.com
    Accept  */*
    Accept-Language zh-cn
    Connection  keep-alive
    Accept-Encoding br, gzip, deflate
    User-Agent  ylzg-qa/4.0.6.2 CFNetwork/902.2 Darwin/17.7.0
    
    • 请求行
      • 请求方法
      • 请求路径
      • 协议版本号
    • 请求头
      • key-value 键值对
      • 常见请求头 Host, Connection, User-Agent 等
    • 请求体
      • 请求体是可选的

    响应格式

    HTTP/1.1 200  <!--状态行-->
    Server: nginx/1.9.3
    Date: Fri, 01 Feb 2019 06:31:11 GMT
    Content-Type: application/json;charset=UTF-8
    Transfer-Encoding: chunked
    Vary: Accept-Encoding
    X-Application-Context: gateway-portal:QA,test:8041
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1; mode=block
    Cache-Control: no-cache, no-store, max-age=0, must-revalidate
    Pragma: no-cache
    Expires: 0
    X-Frame-Options: DENY
    X-Ab-Gray: stable
    Content-Encoding: gzip
    Connection: keep-alive
    
    {"content":[{...}]}<!--响应体内容-->
    

    状态码:200 ok
    304 Not Modified 3% 缓存相关
    404 Not Found
    500 Internal Server Error 服务器内部错误

    • 响应头
      • key:value
        Server 服务器使用的应用程序返回内容(Web 服务器)
        Content-Type 内容类型;音频 HTML 视频等
        Content-Length 内容长度(为一次链接多次请求适配)
    • 相应体
      • 与响应头空行分割 \r\n
      • 可以是文本或二进制
      • 大小由响应头中的 Content-Length 指定

    相关文章

      网友评论

        本文标题:HTTP 协议简介

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