图解HTTP

1.网络基础:

1.各种协议

  • http:生成针对目标Web服务器的http请求报文
  • tcp:为了方便通信,将http请求报文段分割成报文段,把每个报文段可靠的传给对方
  • ip:搜索对方地址,一边中转,一边传送
  • tcp:从对方接收的报文段,重组到达的报文段,按序号重组请求报文
  • http:对web服务器请求的内容的处理
  • tcp/ip:请求的处理结果也同样使用tcpip通信协议向用户回传

2.简单HTTP协议:

  • 1.请求报文:请求方法+uri+协议版本+可选的请求首部字段+内容实体
  • 2.响应报文:协议版本+状态码+解释状态码的原因短语+可选的相应首部字段+实体主体

1.http方法:


 

2.持久化连接节省通信流量

  • http协议的初始版本中,每进行一次http通信就要断开一次tcp连接
  • 为了解决问题 出现持久连接
  • http keep-alive 特点:只要任意一段没有明确提出断开连接,则保持tcp状态
  • 优点:减轻服务器负载
  • HTTP/1.1 中所有链接(默认)都是持久化连接
  • 持久化连接使管线化成为可能:不用等待响应就可以发送下一个请求

3.HTTP是一种不保存状态,无状态协议,对于发送的请求和响应都不做持久化处理

  • 无法根据之前的状态进行本次的请求和响应
  • 引入cookie技术:通过在请求和响应报文中写入cookie信息控制状态,cookie根据服务端发送的响应报文中一个叫做setcookie的首部字段信息,通知客户端保存,客户端下次发送请求会携带cookie
  • 服务端通过cookie,对比服务器记录,得到之前的状态信息

3.HTTP报文中的HTTP信息

1.报文

  • http报文大致可以分为报文首部+报文主体
  • 报文首部组成:(请求行+状态行+首部字段+ 其他)
  • 报文:http通信中的基本单位,由8位组字节流组成,通过http通信传输
  • 实体:作为请求或相应的有效载荷数据被传输,内容由实体首部+实体主体
  • HTTP报文的主体用于传输请求或响应实体主体,通常报文主体==实体主体,只有当传输中进行编码操作时,实体主体的内容发生变化,才导致实体主题与报文主体发生差异
  • 内容编码
  • 在通信中,传输大容量数据时,通常会把数据分割成多块(chunk),让浏览器逐步显示页面,这种把主体分块的功能叫做分块传输编码
  • 多部份对象集合
  • 再获取资源时,获取部分内容的范围请求
  • 不同语言显示:内容协商:服务器驱动协商/客户端驱动协商/透明协商

4.返回结果的HTTP状态码

5.与HTTP协作的Web服务器

 1.用单台虚拟机主机实现多个域名

http1.1润许一台http服务器搭建多个web站点,物理层面上只有一个服务器,但是只要使用虚拟主机功能,则可以假想已经有多台服务器

2.通信数据转发程序:代理,网关,隧道

  • 代理

  1. 服务器与客户端的中间人
  2. 优点:利用缓存技术,减少网络带宽的流量,组织内部震度特定网站的访问控制,以获取访问日志为主要目的,等等
  3. 代理种类:缓存代理,透明代理
  • 缓存代理:代理转发响应时,caching proxy 会将预先资源副本缓存在代理服务器上

缓存的有效期限:缓存服务器会判断缓存有效性

客户端的缓存:(临时网络文件)会向缓存服务器判断缓存有效性

  • 透明代理:不对报文做任何加工
  • 网关

  1. 转发其他服务器通信数据的服务器
  • 网关可以使通信线路上的服务器提供非http协议服务。
  • 隧道

  1. 在相隔甚远的服务器与客户端中间进行中转,并保持双方通信连接的应用程序
  2. 可以按要求建立起一条与其他服务器的通信线路,用ssl等加密手法进行通信。保证双方安全通信

6.HTTP首部(略)

7.确保Web安全的HTTPS

1.http的缺点:

  • 通信使用明文,有可能被窃听
  1.  tcp/ip 是可能被窃听的网络,所以要对对象加密
  2. 加密的对象
    1. 通道的加密:ssl/tls http+ssl = https
    2. 内容的加密:对http中包含内容加密(需要客户端和服务器同时具有加密解密机制,不同于通道,仍有篡改风险)
  • 不验证通信方身份,有可能遭遇伪装
  1. 任何人都可以发起请求
    1. ssl可以查明对手证书(客户端在开始通信之前先确认服务器的证书,客户端持有证书即可完成个人身份认证)
  • 无法整明报文完整性,所以有可能篡改
  1. 接受到内容可能有误
    1. 请求和响应在传输途中,遭攻击者拦截并篡改内容的攻击叫做中间人攻击
  2. 如何防止篡改:
    1. 常用md5/sha-1等散列值校验方法,数字签名

2.HTTP+加密+认证+完整性保护 = HTTPS

1.https的通信接口部分用ssl和tls协议代替了。通常http直接和tcp通信,当使用ssl时,则演变成先和ssl通信,再由ssl与tcp通信。

 2.相互交换密钥的公开密钥加密技术

ssl采用一种公开密钥加密的加密处理方法

1.使用2把密钥的公开密钥加密

  • 一对非对称的密钥,一把叫做私有密钥,一把叫做公有密钥

 2.HTTPS采用混合加密机制

 

3.HTTPS的安全通信机制(略)

8.确认访问用户身份的认证

9.基于HTTP的功能追加协议

10.构建WEB内容的技术

11.Web的攻击技术

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值