学习《图解HTTP》有感

HTTP协议的出现主要是为了解决文本传输的难题(大家互相共享文件没有一个规范),最初的设计理念是:借助多文档之间的关联形成超文本,成为相互参阅的WWW(万维网)

计算机和网络设备要通信,如何探测设备,怎么开始通信,什么语言,什么时候结束通信,一系列都要有规范,统称为TCP/IP协议族(包含HTTP,TCP,IP,UDP,DNS)

与互联网相关的协议加起来统称为TCP/IP,也有其他两种定义,这里不赘述。

TCP/IP协议按层次分为应用层,传输层,网络层,数据链路层

分层的好处:1.每层有修改只修改某一层 2.分开设计,设计简单

应用层:决定了向用户提供应用服务时通信的活动(FTP,DNS),HTTP也处于这一层

传输层:传输层对上层应用层,提供处于网络连接中的两台计算机进行数据传输(TCP,UDP)

网络层:处理网络上流动的数据包,规定了数据包通过哪条路径传给对方(IP协议:把各种数据包传送给对方,需要知道IP地址和MAC地址)

链路层:处理连接的硬件部分,通俗理解为服务于ip包的交通工具

访问一个页面的过程:客户端在应用层发出请求,之后传输层把这个请求分割成多个报文,各报文打上序号,到网络层加上mac地址,发给链路层,链路层传给对面,对面一层一层拆包删首部东西。

ARP协议:根据对方的IP地址反查出对应的MAC地址

发送信息像寄快递,没法知道完整的动向,一直中转。

TCP协议:将信息拆分为报文段(拆分就是可靠的字节流服务),并确定对方一定收到。确保方法:三次握手

发送端发带有syn标志的包,接收端收到之后发带syn/ack标志的包,发送端发带有ack标志的包,任意阶段收不到都以相同顺序再发包。

DNS:域名到IP之间的解析服务

请求报文:请求方法,uri,协议版本,首部字段,内容实体

响应报文,协议版本,状态码,原因短语,日期,首部字段,主体

HTTP是 不保存状态的实体,有时需要保存状态,比如登录京东之后买东西,这就有了cookie

持续连接:以前传输的数据较少,每次传输完一个东西就要TCP连接一次,比如发送一个文件和图片,都会分别建立TCP连接,增加开销,因此持续连接就很有必要。

持续连接(keep-alive)特点:只要任一端没有明确提出断开连接,则保持TCP连接状态。

持续连接使管线化成为可能,不用等待也可以发下一个请求,做到同时并行发送多个请求。

一个web服务器上搭建多个web站点,访问这个服务器上的两个网站时,DNS解析之后IP一样,因此发送时要带具体的uri信息

 

代理:接受客户端请求,转发给服务端。

每次代理之后都会在加入代理服务器的Via首部字段再转发

网关:接受客户端请求信息,像源服务器一样处理。网关能使通信道路上的服务器提供非HTTP协议服务

持有资源实体的服务器称为源服务器

隧道:在相隔远的客户端和服务器之间进行中转,并保持双方通信连接的程序。主要是确保客户端和服务器安全通信

使用代理服务器的原因:利用缓存减少网络宽带的流量,内部对特定网站的访问控制。

代理主要按两种方法分类:是否利用缓存,是否会修改报文

HTTPS:HTTP+SSL,SSL:第三方机构颁布的证书,确定对方身份

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

共享密钥只有一个公钥,是对称加密。公开密钥采用非对称加密,发送者用公开的公钥加密,接收者用私有密钥解密。

HTTPS采用两个机制混合的方法,结合效率和安全性,在交换密钥环节使用公开密钥加密方法,之后的建立通信交换报文阶段则使用共享密钥加密方式。

但是,公开密钥加密还是有一定问题的,比如建立公开密钥通信时,原有的公开密钥被攻击者替换掉了,无法证明收到的公开密钥就是原先发送者发的。

因此引入了数字证书

客户端也有证书,但没法让所有用户统一搞,所以有的特殊业务才会引用,例如网银的终端,有客户端证书。有个问题是这只能证明客户端的存在,而无法证明是本人的使用。

 

HTTPS慢主要是SSL,SSL两个方面慢,一种是通信慢,因为加入了SSL通信,另一方面是因为加密处理,cpu负载大

很多不用https的原因,加密消耗资源,证书要钱。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值