1.写出以下Http代码的含义
200:表明该请求被成功地完成,所请求的资源发送到客户端。
204:收到请求,但返回信息为空。
301:本网页被永久地转移到了另一个url。
304:自从上次请求后,请求的网页未修改过。
403:禁止访问,服务器收到请求,但拒绝提供服务。
404:请求错误,因发送的请求语法错误,服务器无法正常读取。
500:内部服务器错误,服务器遇到未知无法解决的问题。
2.HTTP报文的组成结构
请求行、 请求头、空行、请求体。
3.HTTP协议的优点和缺点
HTTP是超文本传输协议,它定义了客户端和服务器之间交换报文的格式和方式,默认使用80端口。它使用TCP作为传输层协议,保证了数据传输的可靠性。
优点:
简单快速:客户向服务器请求服务时,只需传送请求方法和路径。
无连接:限制每次连接只处理一个请求。
灵活:允许传输任意类型的数据对象。
缺点:
无状态:HTTP服务器不会保存关于客户的任何信息。
不安全:由于协议采用明文传输,会直接暴露给外界
4.HTTP的keep-alive的理解?
http1.0默认关闭,需要手动开启,http1.1默认开启
作用:使客户端到服务器端的链接持续有效,当出现对服务器的后续请求时,keep-alive功能避免了建立或者重新建立链接。
使用方法:在请求头中加上connection:keep-alive
优点:减少了cpu和内存的占用,减少了后续请求的延迟
缺点:本来可以释放的资源仍旧被占用。
解决方法:服务器设置过期时间和请求次数,超过时间或次数就断开连接
5.DNS的理解
DNS是域名系统(Domain Name System)的缩写,提供的是一种主机名到IP地址的转换服务。
作用:将域名解析为IP地址,客户端向DNS服务器发送域名查询请求,DNS服务器告知客户机Web服务器的IP地址。
6.浏览器缓存的优点
①减少了服务器的负担,提高了网站的性能
②加快了客户端网页的加载速度
③减少了多余网络数据传输
7.CSRF的理解
CSRF指跨站请求伪造攻击,攻击者诱导用户进入一个第三方网站,然后该网站向攻击网站发送跨站请求,如果用户在被攻击网站保存了登录状态,那么攻击者就可以利用这个登录状态,绕过后台的验证,冒充用户向服务器执行一些操作。
CSRF攻击的本质是利用cookie会在同源请求中携带发送给服务器的特点,以此来实现用户的冒充。
防护方法:进行同源检测(即服务器给根据http请求头中origin或者referer信息来判断请求是否为允许访问的站点,从而对请求进行过滤)、对Cookie进行双重验证(服务器在用户访问网站页面时,向请求域名注入一个Cookie,内容为随机字符串,然后当用户再次向服务器发送请求时,从cookie中取出这个字符串,添加到url参数中,然后服务器通过对cookie中的数据和参数中的数据进行比较,来进行验证)
8.浏览器如何进行界面渲染
①获取HTML文件并进行解析,生成一颗DOM树
②解析HTML的同时也会解析CSS,生成样式规则
③根据DOM树和样式规则,生成一棵渲染树
④进行布局即重排,即为每个节点分配一个屏幕上应显示的确切坐标位置
⑤进行绘制即重绘,遍历渲染树节点,调用GPU将元素呈现出来
9.websocket的理解
websocket是一种网络通信协议,相比于HTTP协议,HTTP协议无法实现服务器主动向客户端发起消息,而websocket允许客户端和服务器之间进行全双工协议,以便任一方都可以通过建立连接将数据发送给另一端,且websocket只需建立一次连接,就可以一直保持连接状态
10.SEO的理解
SEO即搜索引擎优化,SEO是随着搜索引擎的出现而来的,两者是相互促进、互利共生的关系。SEO的存在就是为了提升网页在搜索引擎自然搜素结果中的收录数量以及排序位置而做的优化行为,而优化的目的就是为了提升网站在搜素引擎中的权重,增加对搜素引擎的友好度,使得用户在访问网站时能排在前面。