HTTP1.0、HTTP1.1、HTTPS、HTTP2

转:https://blog.csdn.net/yicixing7/article/details/79320821

HTTP

1. HTTP与HTTPS的区别

  1. HTTP 的URL 以http:// 开头,而HTTPS 的URL 以https:// 开头
  2. HTTP 是不安全的,而 HTTPS 是安全的
  3. HTTP 标准端口是80 ,而 HTTPS 的标准端口是443
  4. 在OSI 网络模型中,HTTP工作于应用层,而HTTPS 的安全传输机制工作在传输层(SSL和TLS)
  5. HTTP 无法加密,而HTTPS 对传输的数据进行加密
  6. HTTP无需证书,而HTTPS 需要CA机构wosign的颁发的SSL证书

2. 什么是Http协议无状态协议?怎么解决Http协议无状态

无状态协议对于事务没有记忆能力。
通过cookie和session。
cookie:客户端保持,从服务器获取数据(放在HTTP响应头),数据存储在客户机,每次访问服务器的时候带上cookie消息;
session:服务器保持,客户端访问服务器时生成session id,并返回,每次客户端访问时,带上session id。

3. URI&URL

URI:uniform resource identifier,统一资源标识符,用来唯一的标识资源。
URL:uniform resource location,统一资源定位,表示了资源,并且指明了定位方式。https,http,ftp
URN,uniform resource name,统一资源命名,是通过名字来标识资源,比如mailto:[email protected]

在这里插入图片描述

4. 常用的HTTP请求方法

  1. GET:用于请求访问已经被URI识别的资源,可通过URL传参。
  2. POST:用于传输信息给服务器服务器
  3. PUT:传输文件,报文主体中包含文件内容,保存到对应URI位置。
  4. HEAD: 获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。
  5. DELETE:删除文件,与PUT方法相反,删除对应URI位置的文件。
  6. OPTIONS:查询相应URI支持的HTTP方法。

5.HTTP请求报文与响应格式

请求报文

在这里插入图片描述

响应报文

在这里插入图片描述

HTTPS工作原理

对称加密中用到的密钥叫做私钥,私钥表示个人私有的密钥,即该密钥不能被泄露。其加密过程中的私钥与解密过程中用到的私钥是同一个密钥,这也是称加密之所以称之为“对称”的原因。由于对称加密的算法是公开的,所以一旦私钥被泄露,那么密文就很容易被破解,所以对称加密的缺点是密钥安全管理困难。
非对称加密:非对称加密也叫做公钥加密。非对称加密与对称加密相比,其安全性更好。对称加密的通信双方使用相同的密钥,如果一方的密钥遭泄露,那么整个通信就会被破解。而非对称加密使用一对密钥,即公钥和私钥,且二者成对出现。私钥被自己保存,不能对外泄露。公钥指的是公共的密钥,任何人都可以获得该密钥。用公钥或私钥中的任何一个进行加密,用另一个进行解密。

先通过非对称加密:客户端发出请求,服务器返回普通的http响应,在认证服务器返回的数字证书有效后,通过私钥生成随机值,发给服务器,服务器通过公钥解密。
在通过对称加密:解密后,这时候就只有服务器和客户端知道这个随机值(密钥),服务器就可以通过这个对返回的信息加密返回给客户端,客户端可以解密。

一次完整的HTTP请求所经历步骤

域名解析DNS --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) --> 浏览器对页面进行渲染呈现给用户----->断TCP连接

域名解析:
浏览器缓存—>系统缓存----->host文件------>DNS服务器
域名解析查询方式:
1、递归:交由别的DNS服务器处理
2、迭代:由发起者分别向根、顶级、二级、三级域名服务器进行询问。
若域名服务器支持转发,则会进行递归;若不允许,或者递归中遇到不允许转发的,则开始迭代。

HTTP1.1新版本特性

  • a.默认持久连接节省通信量,若没有明确的断开TCP连接,就一直保持连接,可以发送多次HTTP请求。
  • b.断点续传
  • c.加密

HTTP2特性

1、多路复用,不需要等待服务器端响应可以继续发送请求。
2、压缩头部
3、二进制帧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章