HTTP传输协议(持续更新中)

HTTP 超文本传输协议

一,定义

  • 传输协议: 定义了客户端和服务端通信,发送数据的格式

  • 特点:

    1. 基于tcp/ip高级协议
    2. 默认端口是80
    3. 基于请求/响应模型:一次请求一次响应
    4. 无状态:每次请求之间相互独立,不能交互数据

二, 请求消息数据格式

    1. 请求行
    2. 请求头
    3. 请求空行
    4. 请求体
  • 请求行
1. 格式
    请求方式 请求url 请求协议/版本
    示例: GET /man.php?c=login&m=index&backurl=http%253A%252F%252F HTTP/1.1

    请求方式
    GET: 
        1. 请求参数 在请求行中
        2. 请求url有长度限制
        
    POST: 
        1. 请求参数 在请求体中
        2. 请求的url没有限制
    
    其他请求方式...

  • 请求头
一、浏览器请求头示例(Request Headers)
    GET /admin.php?c=login&m=index&backurl=http%253A%252F%252F HTTP/1.1
    Host: lm.wkind.cn
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
    Accept-Encoding: gzip, deflate
    Connection: keep-alive
    Cookie: poscms_ci_session=i6spr94jl538a3r19r7c39gqlmkuviiu
    Upgrade-Insecure-Requests: 1
    Referer: http://chang.wkind.cn/admin.php?c=home&m=index

二、详细参数说明
    Host: 主机地址
    User-Agent: 浏览器高数服务器,访问服务器使用浏览器的版本信息
    Accept: 告诉服务器可以响应的数据格式(*/*响应啥都行)
    Accept-Language:浏览器可支持的语言(zh-TW中国台湾)
    Accept-Encoding:支持的压缩格式
    Connection: 连接类型(keep-alive表示该连接可以多次复用)

    Referer:告诉服务器当前请求从哪里来(用于防止盗链,记录请求方 等)
        if('正确请求地址'==Referer){
            return '自己人';
        }else{
            return '我靠,不认识呀!';
        }
    
  • 请求空行
    用于分隔POST请求头和请求体
  • 请求体
    get请求方式没有请求体
    主要用于封装post请求参数的

三、响应消息数据格式

    1. 响应行
    2. 响应头
    3. 响应空行
    4. 响应体
  • 响应行
    HTTP/2 200 OK
    协议/版本 状态码 状态码描述

    响应状态码
        1. 1xx  :服务器接收客户端消息,但没有接收完成,等待一段时间,发送1xx状态码
        2. 2xx  :成功
        3. 3xx  :代表重定向  302(重定向) 304(访问缓存)
        4. 4xx  :客户端错误  
            404 请求路径没有对应的资源
            405 请求方式没有对应的处理方法
        5. 5xx
            500 服务器内部错误
    
  • 响应头
1. 响应的数据格式
    HTTP/2 200 OK
    date: Mon, 16 Aug 2021 23:34:08 GMT
    content-type: text/html;charset=UTF-8
    cache-control: public, max-age=600, must-revalidate
    content-security-policy: default-src 'self' api2.firefoxchina.cn; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://tiny.lishitu.com/open/changeXinzuo  http://a.alimama.cn g.click.taobao.com platform.sina.com.cn suggestion.baidu.com www.baidu.com hm.baidu.com nssug.baidu.com tui.cnzz.net www.google-analytics.com *.googlesyndication.com static.huohu123.com https://www.duba.com/main3_json.html http://www.duba.com/main3_json.html https://tiny.51hl.me/; img-src * data:; child-src 'self' *.firefoxchina.cn  *.17huohu.com; frame-src 'self' *.firefoxchina.cn  *.17huohu.com www.taobao.com entry.baidu.com; frame-ancestors 'self' *.firefoxchina.cn tongji.baidu.com about:; style-src 'self' 'unsafe-inline'; font-src 'self' data: ; report-uri /_/csp-reports
    content-encoding: gzip
    server: nginx
    age: 29
    x-via: 1.1 PStjkgwtht110:0 (Cdn Cache Server V2.0), 1.1 PS-TSN-01hDc143:15 (Cdn Cache Server V2.0)
    x-ws-request-id: 611af5f0_PS-TSN-01O9G50_10804-63804
    X-Firefox-Spdy: h2

2. 常见的响应头
    content-type  服务器告诉客户端本次响应体数据格式以及编码格式

    content-disposition  服务器告诉客户端以什么样的格式打开响应的数据
        值
        in-line: 默认值,在当前页面内打开
        attachment;filename=xxx 以附件的形式打开响应体(文件下载)
    
  • 响应空行

  • 响应体

    传输的数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值