1.web安全和攻击你知道
Reflected XSS(基于反射的XSS攻击)
这种攻击主要依靠 站点服务端 返回脚本,在客户端 触发执行 从而发起Web攻击。
攻击的例子
1、当你在亚马逊 搜索图书的时候 搜不到书的时候显示提交的名称
2、在搜索框搜索内容,填入“<script>alert('handsome boy')</script>”, 点击搜索
3、如果前端页面没有对 返回的数据进行处理 就会直接弹出alert
也就是直接执行了用户在搜索框里边的脚本
4、 进而可以构造获取用户cookies的地址,通过QQ群或者垃圾邮件,
防御这种攻击的两种方法:
1、前端页面显示服务器端返回来的数据的时候 不仅是标签内容需要过滤、转义,就连属性值也都可能需要。让服
务器返回来的非法js脚本 没有办法到达前端的浏览器
2、后端接收请求时,验证请求是否为攻击请求,攻击则屏蔽。
2. 常见状态码
3. http与https的区别
4.协议中和网页缓存相关字段
5. get和post(重点学习)
区别一:get重点在从服务器上获取资源,post重点在想服务器发送数据;
区别二:get传输数据是通过URL请求,以filed(字段)=value的形式,置于URL后,并用"?"连接,多个请求数据之间用"&"连接,如http://127.0.0.1/Test/login.a...,这个过程用户是可见的
区别三:get传输量小,因为受URL长度限制,但效率较低
post可以传输大量数据,所以上传文件时只能用post方式
区别四:get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等
post较get安全
6.http2.0
一、多路复用的单一长连接
- 单一长连接
- 多路复用
二、头部压缩和二进制分针治
三、服务端推动Sever Push
7.URL的输入到浏览器解析的一系列事件
- DNS解析
DNS解析实际上就是寻找你所需要的资源的过程。假设你输入www.baidu.com
,而这个网址并不是百度的真实地址,互联网中每一台机器都有唯一标识的IP地址,这个才是关键,但是它不好记,乱七八糟一串数字谁记得住啊,所以就需要一个网址和IP地址的转换,也就是DNS解析。下面看看具体的解析过程
TCP提供一种可靠的传输,这个过程涉及到三次握手,四次挥手。
- 发起TCP连接()
- 发送HTTP请求
发送HTTP请求的过程就是构建HTTP请求报文并通过TCP协议中发送到服务器指定端口 请求报文由请求行,请求抱头,请求正文组成。
- 服务器处理请求并返回HTTP报文
- 浏览器解析渲染页面
- 解析HTML形成DOM树
- 解析CSS形成CSSOM 树
- 合并DOM树和CSSOM树形成渲染树
- 浏览器开始渲染并绘制页面 这个过程涉及两个比较重要的概念回流和重绘,DOM结点都是以盒模型形式存在,需要浏览器去计算位置和宽度等,这个过程就是回流。等到页面的宽高,大小,颜色等属性确定下来后,浏览器开始绘制内容,这个过程叫做重绘。浏览器刚打开页面一定要经过这两个过程的,但是这个过程非常非常非常消耗性能,所以我们应该尽量减少页面的回流和重绘
- 浏览器解析渲染页面
8.web优化
如何尽快的加载资源?答案就是能不从网络中加载的资源就不从网络中加载,当我们合理使用缓存,将资源放在浏览器端,这是最快的方式。
如果资源必须从网络中加载,则要考虑缩短连接时间,即DNS优化部分;减少响应内容大小,即对内容进行压缩。
https://www.jianshu.com/p/943019eccc79
9.三次握手,四次挥手