04 技术扩展-计算机基础HTTP知识点

HTTP

一、HTTP协议详述

HTTP(HyperText Trasfer Protocol)超文本传输协议,规范数据如何打包传输。在HTTP客户端与服务器间传递是通过消息/报文(Message)来完成,并且消息必须符合特定的格式才能互相传输。

  • Request Messages : 客户端向服务器发送的请求消息
  • Response Message : 服务器根据请求返回客户端的响应消息

在这里插入图片描述

1.1 HTTP消息

1.1.1 Request请求消息

客户端向服务器发送的消息,由请求起始行、请求头信息、请求主体三部分组成。

  1. 请求起始行

    1. 请求的方法

      • GET 客户端向服务器获取数据时使用,明文传输,无请求主体(Form Data)
      • POST 客户端向服务器提交数据时使用,隐式传输,有请求主体(Form Data)
      • DELETE 客户端要删除服务器内容
      • PUT 客户端放数据到服务器
      • CONNECT 测试连接
      • TRACE 追踪请求路径
    2. 请求的URL

    3. 协议的版本

  2. 请求头信息

    1. Host 告诉服务器请求的主机
    2. Connection:keep-alive 告诉服务器进行持久连接
    3. User-agent 用户代理,告诉服务器浏览器类型
    4. Accept-Encoding:gzip 告诉服务器能接受的压缩文件类型
    5. Accept-Language:zn-CN,zh 告诉服务器能接收的自然语言类型
    6. Referer 引用/引荐人,告诉服务器请求来自哪个页面
  3. 请求主体

    1. From Data
1.1.2 Response响应信息

服务器想客户端响应的消息,由响应起始行、响应头信息、响应主体三部分组成。

  1. 响应起始行

    1. 协议版本

    2. 响应状态码

      1XX: 100-199 提示信息

      2XX:200 OK 成功响应

      301:永久重定向

      301:临时重定向

      304:请求未被修改,命中缓存

      4XX:客户端请求错误

      ​ 404:Not Found 请求资源不存在

      ​ 403:Forbidden 权限不够

      ​ 405:Method Not Allowed 请求方法不被允许

      5XX:服务器运行错误
      500:服务器内部错误

    3. 原因断句 对状态码的简短解释说明

  2. 响应头信息

    1. Data 告诉浏览器服务器响应的时间 (格林威治时间 北京+8 小时)
    2. Connection:keep-alive 告诉浏览器已经启动持久连接
    3. Content-Type 显示响应主体类型
      • text/html 响应回来数据是HTML文本
      • text/plain 响应回来数据是普通文本 (不含特殊符号)
      • text/css 响应回来数据是层叠样式表
      • application/javascript 响应回来数据是JavaScript文件
      • application/xml 响应回来数据是XML文件
      • application/json 响应回来数据是JSON文件
      • images/jpg 响应回来数据是图片文件
  3. 响应主体

1.2 缓存

客户端将服务器响应回来的数据进行自动保存,当再次访问时,直接使用已经保存的数据

1.2.1 缓存优点
  1. 减少冗余的数据传输节省流量
  2. 节省服务器带宽
  3. 降低了对服务器资源的消耗和运行要求
  4. 降低了由于远程传输而造成的延时加载
1.2.2 缓存新鲜度

在这里插入图片描述

  1. 请求–>无缓存–>连服务器–>存缓存–>客户端得到数据
  2. 请求–>有缓存–>够新鲜–>使用缓存–>客户端得到数据
  3. 请求–>有缓存–>不新鲜–>连接服务器查询是否过期–>没过期–>更新鲜度–>客户端得到数据
  4. 请求–>有缓存–>不新鲜–>连接服务器查询是否过期–>已过期–>连服务器–>存缓存–>客户端得到数据
1.2.3 缓存消息头
  1. Cache-Contorl 用于HTTP/1.1版本,服务器的文档传输到客户端的计时器,表示此文档处于新鲜的秒数
  2. Expires 用于HTTP/1.0版本,指定过去的准确的具体时间点
1.2.4 添加缓存
  • 格式

<meta http-equiv = "消息头" content="max-age=值">

  • 示例:
<meta http-equiv="Cache-Control" content="max-age=3600">

1.3 HTTP性能优化

1.3.1 HTTP连接的过程
发送请求
建立请求
处理请求
访问资源
构建响应
发送响应
记录日志
1.3.2 HTTP连接性能的优化
  • 减少连接的创建次数 开启持久连接
  • 减少请求次数
  • 提高服务器端运行速度
  • 减少响应数据的长度

1.4 HTTPS安全协议

HTTPS协议是安全版的HTTP,其中SSL为数据通信提供安全支持

  1. 客户端发送请求消息时在SSL层加密,服务器接收加密文件在SSL层解密,得到请求明文对请求进行处理
  2. 服务器发送响应消息时在SSL层加密,客户端接受加密文件在SSL程解密,得到响应明文解析相应的内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值