图解HTTP随笔

TCP/IP分为4层
1.应用层
FTP(文本传输协议)DNS(域名系统)
2.传输层
TCP(传输控制协议)UDP(用户数据报)
3.网络层
处理网络上的数据包
4.链路层
硬件设备
在这里插入图片描述
在这里插入图片描述
HTTP-IP
IP网络协议位于网络层,把各种数据包传送给对方。IP地址是节点被分配的地址,mac地址是网卡所属的固定地址
TCP
采用三次握手
在这里插入图片描述
DNS
通过域名查找IP地址,或者逆向从IP地址反查域名的服务。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
get请求访问服务器的类型.
在这里插入图片描述
GET获取资源
POST传输实体主体
PUT传输文件
HEAD获得报文首部
DELET删除文件
OPTION询问支持方法
TRANCE追踪路径
CONNECT 要求用隧道协议连接代理。实现用隧道协议进行TCP通信
每一次Http连接就要断开TCP连接
持久连接
只要一端没有提出明确断开连接,则保持TCP连接状态
使用Cookie的状态管理
Cookie技术通过在请求和响应报文中写入Cookie信息来控制客户端状态。Cookie会根据从服务器端发送的响应报文内的一个叫做set-Cookie的首部字段信息,通过客户端保存Cookie。当客户端再往服务器发送请求,客户端会自动在请求报文中加入Cookie值后送出去。
服务端发现客户端的请求,会去检查究竟是哪个客户端发送的请求,然后对比服务器上的记录,得到之前的状态。
在这里插入图片描述
在这里插入图片描述
报文 8位组字节流组成通过Http通信传输
实体 作为请求和相应的有效载荷数据被传输,实体首部 实体主体
Http状态码
负责客户端Http请求的返回结果、标记服务端的处理是否正常、通知出现的错误
在这里插入图片描述
Http协作的Web服务器
一个web服务器可以搭载多个独立域名的web网站,也可以作为通信路径中的中转服务器提升效率
用单台虚拟机实现多个域名
虚拟主机
在相同IP地址下,由于虚拟主机可以寄存多个不同主机名和域名的web网站,因此在发送Http请求时必须在Host首部指定主机名和域名。
通信数据转发程序:代理、网关、隧道
代理:一种具有转发功能的应用程序
网关:转发其他服务器通信数据的服务器,接收客户端发送的请求。接收客户端发送的请求时,他就像自己拥有服务器资源一样。
隧道
在相隔甚远的客户端和服务器之间中转,并保持双方通信连接。
在这里插入图片描述
使用代理服务器的理由是:利用缓存技术减少网络带宽的流量,组织内部真对特定的网站访问控制。
缓存代理
预先将资源的副本缓存到代理服务器。当代理服务器接收到相同的资源请求时,可以不从服务器那里获取资源,而将缓存的资源作为相应。
透明代理
不对报文做任何加工

网关
在这里插入图片描述
提高通讯的安全性

隧道
在这里插入图片描述
用SSL加密通讯

缓存的有效期限
即使存在缓存,也会因为客户端的要求、缓存的有效时间等因素向资源服务器确认资源的有效性。
客户端缓存
在这里插入图片描述
Http首部
在这里插入图片描述
使用首部字段是为了给浏览器和服务器提供报文主体大小、所使用的语言、认证信息
首部有字段名和字段值构成,中间用冒号分割
4中首部字段
通用首部字段
请求首部字段
响应首部字段
实体首部字段
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通用首部字段
请求报文和响应报文双方都会使用的字段
1Cache-Control
在这里插入图片描述
指令参数是可选的,多个指令之间通过,分割
Cache-Control:private, max-age=0, np-cache
在这里插入图片描述
在这里插入图片描述
缓存指令:
CacheControl:public
CacheControl:private
CacheControl:no-cache

控制可执行缓存的对象的指令:
no-store指令
CacheControl:no-store
指定缓存期限和认证的指令
s-maxage
在这里插入图片描述
在这里插入图片描述

max-stale指令
Cache-Control:max-stale=3600
使用可指示缓存资源,即使过期也照常接受

must-revalidate指令

proxy-rvalidate
所有的缓存服务器在接收到客户端带有该指令的请求返回响应之前,必须再次验证缓存的有效性。

no-transform指令
不能改变媒体主体类型

2 Connection
如下两个作用
控制不再转发给代理的首部字段
在这里插入图片描述
管理持久连接
在这里插入图片描述
Trailer
说明在报文主体后记录了哪些首部字段
Upgrade
用于检测HTTP协议和其他协议是否可以使用更高的版本通信
Via
为了追踪客户端和服务器之间的请求和响应报文传输路径
在这里插入图片描述
Warning
在这里插入图片描述
请求首部字段
客户端送往服务器报文中所使用的字段
用于补充附件的信息、客户端信息、响应内容的优先级
1 Accept
以哪种形式返回给客户端
2可用来通知服务器用户代理支持的字符集及字符集的相对优先顺序
在这里插入图片描述

在这里插入图片描述、Accept-language
服务器代理能够处理的自然语言集
Authorization
在这里插入图片描述
Expect在这里插入图片描述
From
在这里插入图片描述
Host
在这里插入图片描述
If-Match
在这里插入图片描述
user-Agent
会将创建的浏览器和用户代理名称等信息传给服务器

响应首部
是服务器端向客户端返回响应报文中所使用的字段,用于补充服务器端信息
Accept-Ranges是用来告知客户端服务器是否能处理范围请求
Age
服务器在多久之前响应
ETag
能够告知客户端实体标识,可将资源以字符串形式作为唯一性标识的方式。
Location
可以将响应接收方引导至某个与请求URI位置不同的地址
Server
告知客户端服务器安装的HTTP服务器应用程序
Vary
实体首部
包含在请求报文和响应报文中的实体部分所使用的首部,用于补充内容更新等与实体相关的信息
Allow
Allow : GET, HEAD
Content-Encoding
Content-Language
Content-Length
Content-Location
Content-MD5
Content-Range
Content-Type
Expires

为Cookie服务的首部字段
在这里插入图片描述
Https
在这里插入图片描述
通信的加密
SSL、TLS组合使用
在这里插入图片描述
内容加密
在这里插入图片描述
不验证对方是谁可能遭遇伪装
在这里插入图片描述
查明对手的证书
在这里插入图片描述
无法证明报文的完整性,可能已经篡改

Http+加密+认证+完整性保护=Https
在这里插入图片描述
Https是身披SSL外壳的HTTP
Http的通信接口部分用SSL和TLS协议替代
在这里插入图片描述
使用两把秘钥的公开秘钥加密
公开秘钥加密使用一对非对称的秘钥,一把私有秘钥,一把公有秘钥
在这里插入图片描述

在这里插入图片描述
Https安全通信机制
在这里插入图片描述

四次挥手
在这里插入图片描述
客户端在接收到服务器关闭的命令还要等待是因为服务器可能没有收到客户端的回应,此时服务器要再次发送关闭命令,为了能够接收到服务器命令,客户端延迟关闭

三次握手
在这里插入图片描述
最后客户端还要发送报文信息给服务器的原因
1.可能服务器发送的报文客户端没有接收到
2.客户端发送的第一条报文可能先没有到达服务器,再次发送到达,而后第一条又到达了。这种情况服务器会判断之前是否收到客户端的报文。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值