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 数据链路层:负责设备之间的数据帧的识别和传送 物理层:负责光、电信号的传递方式