- 博客(15)
- 收藏
- 关注
原创 GET 和 POST 方法的区别
相同点get和post本质上都是TCP连接,由于http的规定和浏览器/服务器的限制,使它们在应用过程中体现不同。区别参数传递方式:get请求把参数包含在url中,post通过body传递参数。编码方式不同:get请求只能进行URL编码(application/x-www-form-urlencoded)post请求支持多种编码方式。参数长度限制:get传送的数据大小不能大于2KB,post传送数据大小较大,一般默认不受限制。缓存机制不同:get请求会被浏览器主动缓存,post不会,除非
2021-10-08 23:03:13 172
原创 watch复杂数据类型
普通数据类型可以使用watch直接监视,复杂数据类型Object Array要使用深度监视复杂数据类型需要使用deep属性(深度监听),和handler方法。 复杂数据类型Object Array要使用深度监视 new Vue({ el:'#app', data: { msg:'', stu:[{name:"jack"}] },
2021-09-28 22:43:16 268
原创 http1.0与http1.1
http1.0和http1.1一http1.0默认使用的是短连接短连接就是每次发送http请求都需要建立TCP连接,结束就会断开。缺点:当客户端访问一个HTML页面的或其他类型的Web页时候,其包含其它资源(js文件、图片等),每一个资源浏览器都会建立一个http会话,每个会话都需要重新建立TCP连接和断开TCP连接,从而增加通信量的开销。http1.1默认使用的是长连接长连接:htttp1.1默认头部字段Connection:keep-alive。使用长连接,客户端与服务端建立的TCP连接不会
2021-09-27 20:32:19 1217
原创 cookie的作用
前言HTTP协议是无状态协议,它不对之前发生的请求和响应的状态进行管理。就是服务器无法根据之前的状态进行本次的请求处理。HTTP的简单相应也有它的优点:不必保存状态,减少服务器cup及内存资源的消耗。使用cookie做状态管理cookie作用:实现客户端与服务端之间的状态保持。使用过程:客户端向服务端发送请求,服务器端的响应报文内通过 Set-Cookie 首部字段信息,通知客户端保存 Cookie信息。下次客户端再往这个服务器发送请求时会自动在请求报文中加入 Cookie 值。服务端通过
2021-08-12 23:33:21 1426
原创 js的继承
new一个对象的过程在工厂模式中,用函数来封装特定接口创建对象。不够灵活,每个对象创建出来都是一样的属性(难以分别对象类型)function createObj(name,age){var o={}o.name=name;o.age=age;o.sayName=function(){}return o;}var obj=createObj("huahua",21);构造函数模式当new一个构造函数时,主要经以下三步:以构造器的prototype属性为原型,创建新对象,将引用传给t
2021-07-27 20:42:44 71
原创 dns的解析过程
DNS根域名服务器->顶级域名服务器(com、cn)->权限域名服务器(负责一个区,如一个公司)当一个用户在浏览器输入url后:第一步:浏览器会先检查浏览器缓存中有没有这个域名对于的IP地址,有则返回ip结束解析,没有则到操作系统缓存中查找。第二步:浏览器查找操作系统缓存中是否有这个域名对应的DNS的解析结果。window通过hosts文件设置。在这里可以将任何的域名解析到任何能够访问的ip地址中。第一和第二步为本地查找。第三步:主机向本地域名服务器查询域名的ip地址,有则返回结
2021-07-21 19:45:02 77
原创 event loop
什么是跨域跨域是指允许浏览器向服务器发送跨域请求,从而克服ajax只能同源使用的限制。什么是同源策列同源是指“协议+域名+端口”三者都相同,即使是俩个不同的域名指向同一个ip地址,也不是同源。同源策略限制无法读取Cookie、LocalStorageDOM和JS对象无法获取ajax请求发送不出去Jsonpjsonp的原理是利用了script标签没有跨域限制,通过动态创建script,利用script标签的src属性,发送带有callback参数的GET请求,服务端将请求的数据拼凑到c
2021-07-20 11:14:14 51
原创 重绘和回流
重绘和回流重绘(repaint)重绘是是改变某个元素的背景色、文字颜色等不影响它周围或内部布局。就是元素的几何尺寸和位置未发生改变。visibility:hidden属性是隐藏元素,但元素仍然占据着布局空间。所有触发的是重绘。回流(reflow)当页面布局发生和几何信息发生变化时,需要回流。以下会发生回流:激活伪类,如hover改变dom树的增删元素操作改变元素位置和尺寸大小浏览器窗口尺寸改变文本内容改变或者图片被不同尺寸图片替代。浏览器优化机制回流一定会触发重绘,而重绘不一定绘
2021-07-15 14:56:20 121
原创 浏览器渲染
浏览器渲染浏览器渲染可大体分为五部,分别是:构建dom树、构建css树、构建渲染树、节点布局、页面渲染。浏览器组件js解析器 用于解析执行的javaScript代码渲染引擎 负责显示请求的内容。比如请求到HTML, 它会负责解析HTMLUI后端 绘制基础元件。浏览器的进程和线程Chrome浏览器会为每个页面创建一个渲染进程,防止一个页面崩溃导致其它页面也崩溃。GUI渲染线程渲染线程负责渲染浏览器界面的HTML元素。在javascript引擎运行脚本期间,GUI渲染线程会处
2021-07-15 09:38:28 76
原创 HTTP缓存机制
HTTP缓存机制一、http缓存请求相应头http缓存的使用http缓存主要针对css,js,图片等一些更新频率不大的静态文件。http缓存的使用可以加快客户端加载网页的速度,缓解服务器的压力,提高网站的性能。关键字响应头Cache-Control 控制浏览器是否可以缓存资源no-cache:不直接使用缓存,先要向服务器发送请求,判断缓存资源是否过期,不过期才会使用这个缓存资源no-store:所有内容都不会被缓存。max-age=x(单位秒)告知客户端该资源在多少秒内是新鲜的,无
2021-07-13 16:27:26 177
原创 call、apply、bind的区别和作用
call()、apply()、bind()的区别call、apply、bind的作用都是改变函数执行时的执行环境,也就是改变函数运行时的this指向。call,和apply,bind的相同和区别三者的作用都是可以改变函数的this指向三者的第一个参数都是this要指向的对象,如果为null和undefined,则默认指向window,如果是传递字符串等基础类型,this则指向Stringr等对应对象。apply、call绑定this后是立即执行,bind则是返回绑定this之后的函数。三者都是
2021-07-11 17:23:48 570
原创 csdf攻击原理和防御
csdf攻击原理和防御前言csrf跨站请求伪造,是通过Cookie冒充用户的身份,向服务器发送请求,从而在用户不知情的情况下执行某些操作。csdf的攻击条件浏览器与服务器正在会话中。欺骗用户访问URL。csdf攻击过程用户使用浏览器,访问受信任的网站A,输入如用户名和用户密码请求登陆网站A。验证用户信息成功后,网站A服务器会返回Cookie信息给浏览器,浏览器保存Cookie信息,并且会话期间给A网站服务器发送请求会携带这个Cookie信息。在未关闭A网站的情况下,用户浏览器打开了恶
2021-07-10 17:16:35 644
原创 http和https
http和https前言HTTP协议用于在Webl浏览器和服务器之间传递信息,HTTP是以明文的方式发送内容,不进行任何的数据加密。如果攻击者截取客户端和服务端之间的传输报文可以直接读懂其中的信息,所以HTTP不能够传输一些敏感信息。为了解决HTTP协议的缺陷,使用了HTTPS协议。HTTPS协议是在HTTP的基础上加入了SSL/TLS协议,利用SSL/TLS来加密数据包。实现了对网站服务器的身份认证、保护了交换数据的秘密性和数据的完整性。HTTP与HTTP的主要区别HTTP使用明文传输,数据不
2021-07-09 16:21:01 323
原创 js执行环境
js执行环境执行环境(execution context)或执行上下文,是javaScript中最为重要的一个概念。执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为。简单来说就是代码的运行环境。执行环境分类全局执行环境全局执行环境是最外围的执行环境。在Web浏览器中,全局执行环境被认为是window对象,因此所有全局变量和函数都是作为window对象的属性和方法创建的。(全局执行环境直到关闭网页或浏览器时才会被销毁)函数执行环境每个函数都有自己的执行环境——函数执
2021-07-07 17:35:49 57
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人