web前端面试题(计算机网络)

最近虽然面试结果不如易,但是收获而颇多,下面分享一些大厂2020年8月份面试关于计算机网络的题目,本文题目答案来源于本人自己总结,如有补充或纠错可以在以下留言,在此先谢谢,废话不多说直入主题:

1.叙述https的过程,以及其中用到的加密算法

过程:
1)客户端选择一套浏览器支持的加密算法(对称加密、非对称加密、哈希算法和数字签名)发送https请求到服务器(默认端口为443)
2)服务器以证书的形式返回客户端,客户端检测证书合法性并结合证书公钥发送给服务器
3)服务器使用私钥解密,验证哈希,加密响应信息后返回客户端
4)客户端进行解密响应,验证信息的真伪,然后进行数据交互
https的加密算法:
1)对称加密:有流式、分组两种,加密和解密都是使用的同一个密钥,算法性能较好,但是安全性较低
2)非对称加密:加密使用的密钥和解密使用的密钥不同,分别为公钥和私钥,公钥和算法都是公开的,私钥是保密的。非对称加密算法性能低,安全性超强,加密数据长度有限
3)哈希算法:将任意长度的信息转换为较短的固定长度的值,通常其长度要比信息小得多,并且算法不可逆
4)证书签证:签名就是在经过hash算法后的信息后面加上一段内容,证明信息没有被修改过。

2.你认为https绝对安全吗,如果不安全用什么办法让它安全。

https不是绝对安全的,因为一般浏览器默认在输入域名时,发送给服务器的是http请求,然后服务器在返回重定向响应指定到https请求,在此过程中,http请求过程中数据是暴露出来的,容易被被人劫持。
解决办法:
使用HSTS可以让浏览器自己使HTTP转换为HTTPS,而不是服务器对地址进行重定向操作,只要在服务器返回给浏览器的响应头中,增加Strict-Transport-Security

语法如下:Strict-Transport-Security: <max-age=>[; includeSubDomains][; preload]
3.叙述重定向状态码304

定义:304状态码表示客户端有缓存情况下服务器的一种响应
过程:客户端请求文件若发现文件有Last Modified,则请求中会包含字段If Modified Since来缓存文件Last Modified,说明客户端有缓存,服务器只要判断这个时间值和当前请求文件修改的时间就可以确定是否返回304或者200。
补充:
动态页面做缓存加速过程:在响应文件的HTTP Header中加Last Modified字段,在根据请求的If Modified Since和被请求内容的更新时间来返回200或者304
如何阻止返回304
1)设置浏览器缓存不使能
2)在每个请求中添加Pragma: no-cache请求头,在每个响应中添加Cache-Control: no-cache响应头,阻止浏览器缓存这些资源

4.简单介绍cdn的缓存过程

介绍:CDN是构建在网络上的内容分发网络,使用户就近获取所需内容,降低网络拥塞,提高访问响应速度和命中率,依靠部署在各地的边缘服务器
特点:本地Cache加速、镜像服务、远程加速、带宽优化、集群抗攻击
服务模式
1)分发服务器:Cache设备的数量、规模、总服务能力是衡量一个CDN系统服务能力的最基本的指标
2)负载均衡系统:分为全局负载均衡、本地负载均衡
3)运营管理系统:分为运营管理和网络管理子系统
引入cdn后的web请求
1)浏览器输入域名URL,本地DNS系统解析
2)DNS系统把域名解析权交给CNAME指向的CDN专用DNS服务器
3)CDN的DNS服务器将CDN全局负载均衡设备IP返回用户
4)用户向CDN全局负载均衡设备发送内容访问请求,CDN全局负载均衡设备根据IP地址和请求URL,选择用户所属区域负载均衡设备让用户发起请求
5)本地负载均衡设备会为用户选择一台合适的缓存服务器提供服务
6)用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端
7)如果这台缓存服务器上没有用户想要的内容,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站原服务器将内容拉取到本地

5.简单说下dns过程

1)浏览器先检查自身缓存中有没有被解析过的这个域名对应的ip地址,如果有,解析结束
2)若浏览器缓存中没有命中,浏览器会检查本地操作系统缓存中有没有对应的已解析过的结果。而操作系统也有一个DNS域名解析的过程,在系统盘存的host文件中。
3)若至此还没有命中,才会真正的请求本地域名服务器(LDNS)来解析这个域名,大多数域名解析都在这里完成
4)若LDNS仍然没有命中,就直接跳到Root Server域名服务器请求解析,根域名服务器返回一个所查询域的主域名服务器地址(gTLD)给LDNS
5)LDNS向gTLD主域名解析服务器发送请求,gTLD主域名解析服务器返回域名对应的Name Server(网站注册的域名服务器)的地址
6)LDNS向Name Server发送查询ip请求,Name Server根据映射关系表找到ip并返回给LDNS
7)LDNS缓存这个域名和对应的ip,并把解析的结果返回给用户,用户根据TTL值缓存到本地系统缓存中,域名解析过程至此结束

6.常见的流量攻击

1)CSRF攻击
介绍:跨站请求伪造攻击,是一种对网站的恶意利用,CSRF比XSS更具危险性
过程:利用引诱信息侵入已经登录未关闭网站的信息,通过js事件去模拟用户请求攻击网站,达到目的
预防措施:为表单提交都加上自己定义好的token然后加密好,后台也一样的规则然后进行对比。
2)XSS攻击
介绍:跨站脚本攻击,是web攻击中最常见的攻击方法之一
过程:通过对网页注入可执行代码并且成功被浏览器执行,达到攻击目的,形成了一次有效的XSS攻击。
预防措施:

语法解释
htmlspecialchars()php语法,函数把预定义的字符转换为 HTML 实体
htmlentities()php语法,函数把字符转换为 HTML 实体
strip_tags()php语法,函数剥去字符串中的 HTML、XML 以及 PHP 的标签
header()使用header(“Content-type:application/json”)
urlencode()编码 URL 字符串
intval处理数值型参数输出页面

3)SQL注入
过程介绍:通过把SQL命令插入到Web表单提交、输入域名、页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令
预防措施:把一些sql语句进行过滤,比如delete update insert select * 或者使用PDO占位符进行转义
4)DDOS攻击
介绍:DDOS流量攻击最常见的有一种SYN攻击,它利用TCP协议往服务器发送大量的半连接请求,当半连接队列达到最大值的时候,正常的数据包会被服务器丢弃,最后你网站可能一分钟不到就奔溃了
过程:攻击者通过漏洞往网页进行病毒木马的注入,一旦中了招,网页就会被别人任意操控
预防措施:正确设置防火墙,启用防火墙的防DDOS属性、禁止对主机的非开发服务访问,限制特定IP地址访问、严格限制对外开放的服务器的向外访问、运行端口映射程序或端口扫描程序,要认真检查特权端口和非特权端口,过滤没必要的服务和端口、定期扫描漏洞进行处理、利用路由器进行防护或者网路没有瘫痪的情况下,查询攻击来源,过滤攻击ip

下一篇:JavaScript基础面试题
链接:https://blog.csdn.net/qq_16483541/article/details/108298251.

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值