http原理浅析

一、HTTP协议基础以及发展历史

1.五层网络模型介绍:

  • 物理层:定义物理设备如何传输数据
  • 数据链路层:在通信的实体间建立数据链路连接
  • 网络层:为数据在结点之间传输创建逻辑链路
  • 传输层:向用户提供可靠的端到端的服务,向高层屏蔽了下层数据通信的细节
  • 应用层:构建于TCP协议至上,屏蔽网络传输相关细节,为应用软件提供了很多服务
    这里写图片描述
2.http协议的发展历史:
a.HTTP/0.9: 就只有一个GET命令,没有header等描述数据的信息,服务器发送完毕,就关闭TCP连接。

b.HTTP/1.0: 新增很多命令(POST、HEADER、PUT),新增了status code和header,多字符集支持、多部分发送、权限、缓存等,一个HTTP请求就要创建一个连接。

c.HTTP/1.1: 支持了持久连接,新增pipeline、host和其他一些命令,串行执行。

d.HTTP/2: 所有数据以二进制传输,同一个连接里面发送多个请求不在需要按照顺序来,头信息压缩已经推送等提高效率的功能。

3.http的三次握手
这里写图片描述

4.URI、URL和URN
URI(Uniform Resource Identifier)/统一资源标志符:用来唯一标识互联网上的信息资源,包括URL和URN.
eg: http://www.baidu.com

URL(uniform Resource Locator)/统一资源定位器:

eg: http://user:pass@host.com:80/paht?query=string#hash

URN/永久统一资源定位符:在资源移动之后还能被找到,目前还没有非常成熟的使用方案

5.HTTP报文格式:
这里写图片描述

二、HTTP特性总览

1.cors跨域
a.服务器设置允许跨域
Access-Control-Allow-Origin: 表示允许访问的外域请求
Access-Control-Allow-Headers:首部字段用于预检请求的响应。其指明了实际请求中允许携带的首部字段
Access-Control-Allow-Methods:首部字段用于预检请求的响应。其指明了实际请求所允许使用的 HTTP 方法
Access-Control-Max-Age:用来指定本次预检请求的有效期,单位为秒
Access-Control-Allow-Credentials:值是一个布尔值,表示是否允许发送Cookie。默认情况下,Cookie不包括在CORS请求之中。
设为true,即表示服务器明确许可,Cookie可以包含在请求中,一起发给服务器

b.jsonp

2.Cache-Control

Cache-Control:”max-age=20” : 客户端最大缓存20秒
Last-Modified:”123”和Etag:”777”: 数据验证

3.长连接

Cache-Control:”max-age=20” : 客户端最大缓存20秒
Last-Modified:”123”和Etag:”777”: 数据验证

4.数据协商

request:

Accept:可接受的格式
Accept-Encoding:可接受的压缩格式
Accept-Language:可接受的语言
User-Agent:

response:

Content-Type:返回的格式
X-Content-Type-Options:nosniff:不会主动预测返回类型
Content-Encoding:返回数据压缩格式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值