HTTP、HTTPS协议
似水流年梦 2020-04-15
1.HTTP协议
HTTP是超文本传输协议,是一个基于请求与响应,无状态的应用层协议
2.HTTPS协议
HTTPS是超文本传输安全协议
为什么HTTPS是安全的?加密是用什么实现的
答:因为它在HTTP协议上建立了SSL加密层,对传输数据进行加密,HTTP先与SSL通信,SSL再与TCP通信。有了SSL就会对信息加密,身份验证以及完整性校验。SSL的功能实现是基于散列函数,对称加密和非对称加密。
3.HTTP和HTTPS的区别
(1)HTTP是明文传输,HTTPS是密文传输
(2)HTTPS一般需要到CA申请证书,并且证书免费的比较少,所以需要一定的费用
(3)HTTP的端口是80端口,HTTPS是443
(4)HTTP的连接很简单,是无状态的。HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络,比HTTP协议安全
4.应用层都有哪些协议
DNS:域名解析协议 FTP:文件传输协议 SMTP:邮件传输协议
HTTP:超文本传输协议 Telnet:远程登录协议
5.网页上输入一个UR,按下回车发生的事情
(1)先使用DNS进行域名解析,根据URL得到IP地址
(2)客户端根据具体的IP地址,找到具体的服务器
(3)客户端与服务器端建立TCP连接
(4)客户端向服务器端发送一个http请求
(5)服务器端给客户端响应html文件
(6)客户端解析html文件,并请求文件中的资源
(7)客户端对页面进行渲染,关闭TCP连接
6.常用状态码
100:客户端继续发送请求给服务器
200:请求成功
201:客户端请求成功,并且新的资源已经按照请求建立
300:请求的资源有一系列的回馈信息
301:永久重定向,请求的资源已经永久移动到新的位置
302:临时重定向,请求的资源临时被移动到新的位置
400:语义错误,当前的请求服务器不能理解
403:拒绝访问,服务器理解了你的请求,但是拒绝访问
404:请求失败,找不到客户端请求的资源
500:服务器无法完成对请求的处理
7.Get和Post的区别
(1)get比post不安全,get请求的数据放在url上,而post的数据对用户是不可用的
(2)get对数据有一定的长度限制,因为数据是存放在url的,url有一定的长度限制,而post没有
(3)get在浏览器回退时是没有影响的,而post会再次提交请求
(4)浏览器对get的请求会主动缓存,而post不会
(5)浏览器对get的请求参数会保存在浏览器的历史记录中,而post不会
(6)get对于表单的数据集只能是ASCII字符集,而post支持所有字符集
(7)get产生的url地址可以被收藏为书签,而post不能
8.代理服务器
代理网络用户去取得网络信息。它是网络信息的中转站,它负责转发合法的网络信息,对转发进行控制和登记。可用于多个目的,最基本的功能是连接,还包括安全性、缓存、访问控制管理等。
9.跨域:当一个请求的协议、端口、域名三者之间任意一个与当前页面url不同,即为跨域
10.HTTP常见header
Content-type:数据类型 Content-length:请求体的长度
host:告诉服务器,所请求的资源在哪个主机上的哪个端口上
user-agent:告诉服务器,客户端的操作系统及浏览器信息
referer:当前页面是从哪个页面跳转过来的
location:告诉客户端接下来要去哪里访问
11.公网IP
互联网上的每一个计算机都有一个IP地址,该地址唯一确定互联网上的一台计算机
12.HTTP1.0 HTTP1.1 HTTP2.0的区别
http1.0与http1.1的区别:
(1)支持多连接,一个TCP连接上可以处理多个http请求
(2)节约宽带,http1.1支持只发送header信息,如果服务器认为客户端有权访问,则返回100,客户端继续发送请求信息,如果服务器认为客户端没有权限,则不用再发送,节约了宽带
(3)缓存处理,http1.1支持更多的缓存控制策略
(4)host域
http1.1与http2.0的区别:
(1)多路复用,同一个连接并发处理多个请求
(2)头部数据压缩,对header的数据压缩
(3)服务器推送,允许服务器端推送资源给客户端
13.计算机网络每层的功能及协议
应用层:负责应用程序之间的通信,协议有http、ftp、smtp、telnet
传输层:负责数据的传输,协议有tcp、udp
网络层:负责地址管理和路由选择,协议有ip、arp
数据链路层:负责设备之间的数据帧的识别和传送
物理层:负责光、电信号的传递方式