搜索
查看: 1930|回复: 0

http与https区别和联系

[复制链接]

651

主题

944

帖子

2425

积分

管理员

本论坛第一帅

Rank: 9Rank: 9Rank: 9

积分
2425

热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

QQ
发表于 2018-4-29 15:24:34 来自手机 | 显示全部楼层 |阅读模式
【1】   HTTP的主要特点

(1)    简单快速:客户端向服务端发送请求时,只是简单的填写请求路径和请求方法即可,然后就可以通过浏览器或其他方式将请求发送就行了

(2)    灵活:HTTP协议允许客户端和服务器端传输任意类型,任意格式的数据对象

(3)    无连接:无连接的含义就是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接,采用这种传输方式可以节省传输时间。

(4)    无状态:无状态是指协议对于事务处理没有记忆功能,服务器不知道客户端是什么状态,即客户端发送HTTP请求后,服务器根据请求,会给我们发送数据,发送完后不会记录信息(使用cookie机制可以保持session,解决无状态的问题)

(5)    支持客户/服务器模式

【2】   HTTP和HTTPS的区别

(1)    HTTPS协议需要申请证书,一般免费的证书很少,需要交费

(2)    HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性加密传输协议

(3)    HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,HTTP的端口号是80,HTTPS的端口号的443

(4)    HTTP的连接很简单,是无连接

(5)    HTTPS协议是由ssl+HTTP协议构建的可进行加密的传输,身份认证网络的协议,要比HTTP协议安全的多

【3】   HTTP返回的状态码

(1)200:请求被正常处理

(2)204:请求被受理,但没有资源返回

(3)206:客户端只请求资源的一部分,服务器只对请求的部分资源执行GET方法,相应报文中通过content-range指定范围资源

(4)301:永久性重定向

(5)302:临时重定向

(6)303:与302状态码有相似的功能,只是它希望客户端在请求一个URI的时候,能通过GET方法重定向到另一个URI上

(7)304:发送附带条件的请求时,条件不满足时返回,与重定向无关

(8)307:临时重定向,与302类似,只是想只要求使用post方法

(9)400:请求报文语法有误,服务器无法识别

(10)401:请求需要认证

(11)403:请求对应资源禁止访问

(12)404:服务器无法找到对应资源

(13)500:服务器内部错误

(14)503:服务器正忙

【4】   HTTPS通信流程,为什么能保证通信安全

(1)“客户”向服务端发送一个通信请求

(2)“服务器”向客户发送自己的数字证书。证书中有一个公钥用来加密的,私钥由服务器持有

(3)“客户”收到“服务器”的证书后,它会去验证这个数字证书到底是不是“服务器”的,数字证书有没有什么问题,数字证书如果没有检查出问题,就说明数字证书中的公钥确实是“服务器”的。检察数字证书后,“客户”会发送一个随机的字符串给“服务器”用私钥去加密

(4)服务器把加密的结果返回给客户

(5)客户用公钥解密这个返回结果,如果解密之前生成的随机字符串一致,那说明对方确实是私钥的持有者,或者说对方确实是服务器。验证服务器的身份之后,客户生成一个对称机密算法和密钥,用于后面的通信加密和解密。这个对称加密算法和密钥,客户会用公钥加密后发给服务器,别人截获了也没有用,因为只有服务器手中有解密的私钥,这样,后面“服务器”和“客户”就都可以用对称加密算法来加密和解密通信内容了。

【5】   HTTP请求头

http数据由请求行,首部字段,空行,报文主体四个部分组成
首部字段分为:通用首部字段,请求首部字段,响应首部字段,实体首部字段

【6】   Cookies和session,session具体原理和机制

(1)session具体原理:本题看红色的总结

【7】   Get和post的区别

(1)    get重点是从服务器上获取资源,post重点是向服务器发送数据

(2)    get传输数据是通过URL请求,以field(字段)=value的形式,置于URL后,并用“?”连接,多少请求数据间用“&”连接,这个过程用户是可见的。Post传输数据通过HTTP的post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的

(3)    get传输的数据量小,因为受URL长度的限制,但效率高。Post可以传输大量数据,所以上传文件时只能用post方式

(4)    get是不安全的,因为URL是可见的,可能会泄露信息,如密码等。Post比get的安全性高

【8】   HTTP1.1和HTTP2.0的特点

http1.1的特点

(1)    默认持久连接节省通信量,只要客户端服务端任意一端没有明确提出断 开TCP连接,就一直保持连接,可以发送多次HTTP请求

(2)    管线化,客户端可以同时发出多个HTTP请求,而不用一个个等待响应

(3)    断点续传ftghh

http2.0的特点

(1)HTTP/2采用二进制格式而非文本格式
(2)HTTP/2是完全多路复用的,而非有序并阻塞的——只需一个      HTTP连接就可以实现多个请求响应

(3)使用报头压缩,HTTP/2降低了开销
(4)HTTP/2让服务器可以将响应主动“推送”到客户端缓存中

147676352482096015-24-20-.jpg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表