web前端
文章平均质量分 63
冲上云霄go
这个作者很懒,什么都没留下…
展开
-
localStorage不同浏览器支持的大小统计
localStorage不同浏览器支持大小的统计方法:(function() { if(!window.localStorage) { console.log('当前浏览器不支持localStorage!') } var test = '0123456789'; var add = function(num) { num +=...原创 2018-06-25 16:00:44 · 6948 阅读 · 0 评论 -
DNS解析过程
作者:Marlous链接:https://www.zhihu.com/question/23042131/answer/24922954来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 1) 浏览器缓存 当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的IP地址(若曾经访问过该域名且没有清空缓存便存在); 2) 系统缓存 当浏览器缓存...转载 2018-04-28 16:17:43 · 426 阅读 · 0 评论 -
前端总结
1、rem与em区别长度单位,em 的计算是基于父级元素的,rem始终是基于根元素(html) 的。2、响应式设计方法(1) 使用流体布局方式(2) 设置meta标签<meta name="viewport" content="width=device-width,initial-scale=1,max-scale=1">(3) 使用媒体查询选取不同CSS样式...原创 2018-05-04 21:42:01 · 244 阅读 · 0 评论 -
cookie与session
区别:1、cookie保存在客户端,session保存在服务器端;2、cookie用于客户端的缓存,可存储用户登录信息;session存储着用户当前的浏览器终端的会话信息;3、cookie本地存储可被窃取,不安全;可用session记录用户的会话; 服务器端session的实现是依赖cookie的,当用户登录后会在服务器端产生session信息,并将sessionId设置在cookie中返回...原创 2018-04-18 16:33:00 · 142 阅读 · 0 评论 -
Web安全XSS与CSRF
XSS跨站脚本攻击 它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。三种类型:反射型、存储型、DOM型。攻击:1、注入代码可盗取用户信息、cookie;2、注入代码实现页面跳转,导航到恶意网站;3、破坏页面结构防御: 对数据进行Html Encode 编码处理; 避...原创 2018-03-21 13:01:26 · 251 阅读 · 0 评论 -
Tomcat的HTTP安全头配置
安全性http响应头是网络防护中非常重要的一环,如今,浏览器支持了一些HTTP安全相关的响应头,使用这些响应头一般只需要修改服务器配置即可,不需要修改程序代码,成本很低。[X-FRAME-OPTIONS] 这个header主要用来配置哪些网站可以通过frame来加载资源。它主要是用来防止UI redressing 补偿样式攻击。OpenAS Tomcat默认值:sameorigin [X...原创 2018-03-19 15:49:44 · 8499 阅读 · 1 评论 -
HTTP的头部Header
HTTP头部详解1、 Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type。2、 Accept-Charset: 浏览器申明自己接收的字符集Accept-Encoding: 浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法(gzip,deflate)Accept-Language:...转载 2018-03-19 15:12:17 · 1691 阅读 · 0 评论 -
webpack与grunt/gulp
1、webpack Webpack 是一个模块打包工具。它将一堆文件中的每个文件都作为一个模块,找出他们的依赖关系,将它们打包为可部署的静态资源。2、grunt/gulp 自动化构建工具,就是用来代替手工执行机械重复的事情,解放我们的双手的。 例如,项目使用 CoffeeScript/ES6代替Javascript,但浏览器对这些语言是不支持或者支持得不完整的,要让它在浏览器里运...转载 2018-03-19 11:06:22 · 1241 阅读 · 0 评论 -
JS的深拷贝与浅拷贝
一、数组Array1、浅拷贝b=a;//引用b = $.extend([], a);2、深拷贝 b=a.slice(); b=a.concat([]); b = $.extend(true, [], a)二、对象Object1、浅拷贝 b=a;//引用一级属性引用的拷贝 b = $.extend({}, a); b = Object.assign({},a);/...原创 2018-03-19 11:25:23 · 145 阅读 · 0 评论