什么是浏览器跨域:
域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation)。信任关系是连接在域与域之间的桥梁。当一个域与其他域建立了信任关系后,2个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理。 有一种简明的说法来解释广域跨域:跨域访问,简单来说就是 A 网站的 javascript 代码试图访问 B 网站,包括提交内容和获取内容。由于安全原因,跨域访问是被各大浏览器所默认禁止的。
在广域网环境中,由于浏览器的安全限制,网络连接的跨域访问时不被允许的,XmlHttpRequest也不例外。但有时候跨域访问资源是必需的。
同源策略阻止从一个域上加载的脚本获取或操作另一个域上的文档属性。也就是说,受到请求的 URL 的域必须与当前 Web 页面的域相同。这意味着浏览器隔离来自不同源的内容,以防止它们之间的操作。同源策略不阻止将动态脚本元素插入文档中。
参考理论一:在浏览器中不能直接来跨域访问,而在服务器端没有跨域安全限制。
这样的话,可以在服务端完成跨域访问,而在客户端来取得结果就可以了。
参考理论二:同源策略不阻止动态脚本元素插入,脚本访问可以跨域。
http 和https 的区别:
在URL前加https://前缀表明是用SSL加密的。 你的电脑与服务器之间收发的信息传输将更加安全。 Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定。 http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。http的连接很简单,是无状态的,... HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全
对 HTTP 304 的理解(转)
最近和同事一起看Web的Cache问题,又进一步理解了 HTTP 中的 304 又有了一些了解。
304 的标准解释是:Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。
如 果客户端在请求一个文件的时候,发现自己缓存的文件有 Last Modified ,那么在请求中会包含 If Modified Since ,这个时间就是缓存文件的 Last Modified 。因此,如果请求中包含 If Modified Since,就说明已经有缓存在客户端。只要判断这个时间和当前请求的文件的修改时间就可以确定是返回 304 还是 200 。对于静态文件,例如:CSS、图片,服务器会自动完成 Last Modified 和 If Modified Since 的比较,完成缓存或者更新。但是对于动态页面,就是动态产生的页面,往往没有包含 Last Modified 信息,这样浏览器、网关等都不会做缓存,也就是在每次请求的时候都完成一个 200 的请求。因此,对于动态页面做缓存加速,首先要在 Response 的 HTTP Header 中增加 Last Modified 定义,其次根据 Request 中的 If Modified Since 和被请求内容的更新时间来返回 200 或者 304 。虽然在返回 304 的时候已经做了一次数据库查询,但是可以避免接下来更多的数据库查询,并且没有返回页面内容而只是一个 HTTP Header,从而大大的降低带宽的消耗,对于用户的感觉也是提高。
当这些缓存有效的时候,通过 HttpWatch 查看一个请求会得到这样的结果:
第一次访问 200
鼠标点击二次访问 (Cache)
按F5刷新 304
按Ctrl+F5强制刷新 200
如果是这样的就说明缓存真正有效了。以上就是我对 HTTP 304 的一个理解。
-
localStorage和sessionStorage使用时使用相同的API:
localStorage.setItem("key","value");//以“key”为名称存储一个值“value”
localStorage.getItem("key");//获取名称为“key”的值
枚举localStorage的方法:
for(var i=0;i<localStorage.length;i++){
var name = localStorage.key(i);
var value = localStorage.getItem(name);
}
删除localStorage中存储信息的方法:
localStorage.removeItem("key");//删除名称为“key”的信息。
localStorage.clear();//清空localStorage中所有信息
-
通过getItem或直接使用localStorage["key"]获取到的信息均为实际存储的副本。
例如:
localStorage.key = {value1:"value1"};
localStorage.key.value1='a';
这里是无法对实际存储的值产生作用的,下面的写法也不可以:
localStorage.getItem("key").value1="a";
这个对象和sessionStorage的规则是一样的,只是它存储的数据是持久性的。同一个站点的页面共用同一个localStorage,不同站点使用不同的localStorage。
在秘密浏览模式下,会有一个临时数据库用来存储local存储数据,当秘密浏览模式关闭,这些数据就会被清空。
localStorage与cookie的区别在于,存储在localStorage中的数据不需要每次和请求一起传输。
相关推荐
迫切需要更多的人来关注嵌入式浏览器技术,开发中国自主知识产权的浏览器产品。 本文阐述了嵌入式浏览器开发的关键技术,并详细说明Netbit Browser的实际开发过程,技术细节。并以网站的方式公布了其源代码,为国内...
使用 WPF,您可以创建广泛的独立应用程序以及浏览器承载的应用程序。 WPF 的核心是一个与分辨率无关并且基于向量的呈现引擎,旨在利用现代图形硬件的优势。WPF 通过一整套应用程序开发功能扩展了这个核心,这些功能...
Java总复习知识点总结(html,浏览器观看).rar
开发工具与关键技术:Adobe Dreamweaver JavaScript 浏览器对象模型知识点总结
了解浏览器的缓存命中原理,是开发web应用的基础,本文着眼于此,学习浏览器缓存的相关知识,总结缓存避免和缓存管理的方法,结合具体的场景说明缓存的相关问题。希望能对有需要的人有所帮助
本文是软件开发网小编日常整理些关于js兼容性问题,及IE与Firefox等常用浏览器的兼容性分析,对js浏览器兼容性相关知识感兴趣的朋友一起学习吧! 1. children与childNodes IE提供的children、childNodes和firefox下...
总结前端面试过程中浏览器,计算机网络,数据结构与算法,HTML,CSS,JS,Vue,React已经实战经验等相关的面试知识 总结前端面试过程中浏览器,计算机网络,数据结构与算法,HTML,CSS,JS,Vue,React已经实战经验...
目前国内手机浏览器种类有很多:UC浏览器,QQ浏览器,百度浏览器,360安全浏览器,谷歌浏览器,搜狗手机浏览器,猎豹浏览器等以及其他杂牌浏览器 对视频和音频的支持情况 02 视频、音频支持情况 很多浏览器已经实现...
WEBUI中HTML基本标签,表格表单,对象,浏览器时间窗口传真等基础知识精解笔记[总结].pdf
许多新的 ES6 功能已经被现代的浏览器和运行时环境所支持,但是对于一些旧版本的浏览器来说,可能需要使用转译器(例如 Babel)来将 ES6 代码转换为较旧的 JavaScript 版本,以便兼容性和运行时支持。 总体而言,...
优视科技出品,优点在于使用很方便,符合大家的习惯,缺点在于功能还不够完善,特别是和JAVA版本的相比……
标签引用CSS文件 ... 样式表路径+名称.css"> ... 相对于“行内样式”和“内嵌样式”而言,“外链样式”即通过标签引用CSS...浏览器会将CSS文件进行缓存,进一步地减少了加载所需时间 可以根据需要利用JavaScript或Media动
lang语言:作用于提示浏览器编译 charset字符:用UTF-8为全球通用准没错。 骨架标签:html,head,title,body(head与body同级关系,head与title父子关系) 排版标签:h1-6类似目录分级,br换行,p段落,hr单行线,...
BOM(Browser Object Document)即浏览器对象模型。 BOM提供了独立于内容 而与浏览器窗口进行交互的对象; 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window; BOM由一系列相关的对象构成...
《基于Python中PyQt5实现简易浏览器的设计与实现.docx》万字、已降重、毕业论文、本科,目录如下,希望对你有所帮助: 第一章 前言 1.1 研究背景 1.2 研究目的与意义 1.3 研究内容与方法 1.4 论文结构 第二章 PyQt5...
不同的浏览器结合它们各自的样式语言为用户提供页面效果的控制。最初的HTML只包含很少的显示属性。 随着HTML的成长,为了满足页面设计者的要求,HTML添加了很多显示功能。但是随着这些功能的增加,HTML变的越来越...
主要介绍了javascript的document.referrer浏览器支持、失效情况总结,比较全面的对document.referrer在各个浏览器的支持情况、什么情况下会失效、Referer信息相关知识介绍等,需要的朋友可以参考下
自己在做CTF过程中做的总结下面中实验室指的是网络安全实验室 题目全部来自bugku,南邮和网络安全实验室,题较基础,实验吧要复杂些 文中所有知识点内容并不全,要学习原理及深入得自己去找资源学习 看这个的时候,...
该文档包括php的核心知识点,主要包括:①php介绍 ②php运行环境 ③安装mysql数据库 ④虚拟主机基本配置 ⑤php基本语法(变量,常量,数据类型,运算符,流程控制,文件加载,错误处理,函数,数组,面向对象编程,...