HTTP、HTTPS协议

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

数据链路层:负责设备之间的数据帧的识别和传送

物理层:负责光、电信号的传递方式