http1.1协议 get&post

什么是 普通url get 请求方式。
不是ajax 请求方式吗?
前端请求都是基于http 协议就html http,这种对前端懵逼什么”普通url get 请求方式”。对于前端不就是ajax请求吗?Ajax 请求get也是一个地址栏加参数,的形式请求。Ajax 唯一的区别就是什么时候把你发那个get请求,请求是等待回来,还是不等待回来。

并没有什么 ‘普通url get 请求方式’既然基于这个http 协议 1.1 就只有get、post。
http2.0 就是多了几种请求方式 能让后端做相应操作。

http 协议 > html http协议
http 1.1 协议 提供的请求方式 主要是 get post
get 与 post 请求的区别
1、get有长度限制255bit, post 请求没有长度限制。(不重要,这个255byte 是由于服务端设计的超过就截取掉)
2、get是密码方式? & query中密码 , post 请求参数不会加在地址栏。(不重要,get在拼接参数时可以先md5进行加密)
3、get 请求性能高于post 请求。post 请求会先把请求头发过去等服务器响应返回后再把请求体发过去,会有两次网路。get请求就只会有一次网路。
4、get 请求会有缓存 post 的方式没有。
在这种使用
场景1 比如新闻列表不常更新的,这种去拿下一页的数据就应该使用get方式,因为用户可能随时翻上一页,这种情况就要请求,这是用缓存数据就可以了。如果采用post方式 没有缓存就又会去请求后台,会给后台压力大。
场景2 比如新闻列表10s一次高频更新,这种情况下就应该采用post 请求方式。也可以用get请求方式,但是自己要在后面带变量,比如时间戳,保证每次都不用缓存的

http 2.0 协议提供了更多请求方式 get post detele 等等

http1.0 和 http2.0 比较 https://www.zhihu.com/question/34074946

1、HTTP和HTTPS概念?

  • HTTP:HTTP 协议(HyperText Transfer
    Protocol,超文本传输协议):是客户端浏览器或其他程序与Web服务器之间的应用层通信协议 。
  • HTTPS 协议(HyperText Transfer Protocol over Secure Socket
    Layer):是以安全为目标的HTTP通道,即可理解 HTTP 下加入 SSL+TLS 层,HTTPS 的安全基础是
    SSL,因此加密的详细内容就需要SSL/TLSL来保证了通信应用程序之间提供保密性和数据完整性。
  • HTTP和HTTPS如下图:
    在这里插入图片描述
    在这里插入图片描述

1、HTTP和HTTPS延伸问题?

1、http运行机制?

  1. 浏览器首先根据域名去查找对应的 IP
    地址和端口,按顺序从浏览器缓存/系统缓存/路由器缓存/DNS服务器/根域名服务器去查找域名的IP。拿到IP后向,分两种情况:
  2. HTTP协议,则浏览器将自身的信息,封装成一个HTTP请求数据包,与服务器的80端口建立TCP连接,即TCP的三次握手:
  3. 建立连接后,客户机发送一个请求给服务器
  4. 服务器接到初次请求后,返回给浏览器一些Headers集合,例如set-cookie,Last-Mondified,Etag等等
  5. 服务器向发送响应数据后,将关闭TCP连接。
  6. 如果浏览器或者服务器在其头信息有这行代码:Connection:keep-alive。TCP连接在发送后将仍然保持打开状态,浏览器可以继续通过相同的连接发送请求。节省了为每个请求建立新连接所需的时间,还节约了网络带宽。
  7. 浏览器得到响应数据,开始进入渲染流程。

2、https运行机制?

  1. HTTPS协议与服务器的443端口连接,客户端将自身支持的加密算法列表(如SSL 的版本、加密算法和数据压缩方法/Hash算法)以及生成客户端加密随机数(client_random)一起发送给服务端,开始 SSL 握手。
  2. 服务器端选出的一套加密算法、压缩算法和SSL 数字证书,并生成服务端随机数(server_random),一起返回给客户端。
  3. 客户端浏览器开始进入数字证书认证环节,这一部分是浏览器内置的TLS完成的。

浏览器解析https认证过程:首先浏览器会从内置的证书列表中索引,找到操作系统中已内置的受信证书机构颁发的CA证书,用来与服务器发来的证书CA对比,验证证书合法性。如果证书不可信,浏览器报该证书不可信。如果可信,则使用,则浏览器会从当前操作系统中内置的CA中取出公钥,对服务器发来的证书签名进行解密得到证书内容和证书签名;内容包含网站的网址、网站的公钥、证书的有效期、证书持有者、证书颁发机构CA等。验证通过后,就可以安全使用证书中的网站公钥了。 其中涉及到知识点如下:
a) 对称加密:采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密。
b) 非对称加密:加密和解密使用的是两个不同的密钥,如果用公钥对数据进行加密,只有用对应的私钥才能解密。
c) 哈希算法:又称摘要算法(Digest),它的作用是:对任意一组输入数据进行计算,得到一个固定长度的输出摘要。
d) 签名算法:使用发送发的私钥对原始数据进行签名,只有用发送方公钥才能通过签名验证。签名算法主要有MD5withRSA/SHA1withRSA/SHA256withRSA/SHA1withDSA/SHA256withDSA/SHA512withDSA/ECDSA 。
e) 数字证书:摘要算法用来确保数据没有被篡改,非对称加密算法可以对数据进行加解密,签名算法可以确保数据完整性和抗否认性,把这些算法集合到一起,并搞一套完善的标准,这就是数字证书。
b) 证书分类:一般情况下用户收到的证书是三个证书(一个根证书、一个中间证书、一个输用户证书)或 四个证书(一个根证书、两个中间证书、一个用户证书)。
c) 证书颁发:根证书是CA 机构自己签发,CA通过根证书签发中间证书、授权中间证书颁发结构向用户签发用户证书。所以一般我们在授权网站下载的是用户证书。

  1. 浏览器将根据客户端随机数、服务端随机数及协议版本等信息,生成随机数 premaster_secret和主密钥master_secret,并使用公钥 对premaster_secret加密得到R,然后发送给服务端。
  2. 服务端用私钥解密接收到的数据,得到R。
  3. 服务端以R为密钥使用对称加密算法加密网页内容并传输给浏览器。
  4. 客户端以R为密钥使用之前约定好的解密算法获取到网页内容,浏览器客户端开始进入渲染流程。

3、HTTP与HTTPS的区别?

  1. http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl/tls加密传输协议。
  2. https协议需要到CA申请证书,,因而需要一定费用。而http不需要。
  3. http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  4. https要比http安全。
    因为http连接很简单,所有传输的内容都是以明文传输,客户端和服务器端都无法验证对方的身份,是无状态的,HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值