domain

JavaScript学习教程之cookie与webstorage

烈酒焚心 提交于 2019-12-29 00:05:59
这篇文章主要给大家介绍了关于JavaScript学习教程之cookie与webstorage的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用JavaScript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 cookie 由于http是无状态的协议,一旦客户端和服务器的数据交换完毕,就会断开连接,再次请求,会重新连接,服务器单从网络连接上是没有办法知道用户身份的。cookie就是为了解决此问题而产生的,每次新的用户请求时,便给用户颁发一个独一无二的身份证,下次访问,必须带上身份证,这样服务器就会知道是哪个用户进行了访问,针对不同用户,做出不同的响应cookie是一个很小的纯文本文件(最多为4K),是浏览器储存在用户的机器上的。储存一些服务器需要的信息,每次请求站点,会发送相应的cookie,这些cookie可以用来辨别用户身份信息等作用。 cookie的属性字段 通过上面的实例可以知道,给cookie赋值时是不会覆盖cookie的原有的值,当等号前的属性名相同时,才会将原来相同属性名的值覆盖为后来设置的值。注意,cookie的两个字段之间是通过一个分号和空格分隔,而不是只有一个分号 当要给cookie设置非自定义的属性字段时,需要通过字符串追加的方式 例如: let expireDate = new Date(); document.cookie += "

CORS与Cross-Domain(跨域)问题的分析和解决方案!

China☆狼群 提交于 2019-12-26 18:47:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> https://evergreen-tree.github.io/articles/2016-06/daily-cors-and-allow-mechanism 首先,概念性的东西一定要搞清楚,不然会害死人 ,就好比CORS的问题被大家统一称为了跨域问题,已经不知道第一个把CORS所规定的浏览器的同源策略解释成为跨域的问题了,说这个叫做请求的跨域是对的,但是这个不是跨域的问题,而是一个为了保护站点,防止站外访问而提出的规则,简单的可以理解为为了防止盗链而存在的一个标准。而我们平常所说的跨域呢叫做Cross Domain,是跟XSS攻击绑定的概念,这里一定要区分开 什么叫做CORS Cross-origin resource sharing(CORS):从名字也可以看出来,叫做 非同源资源分享 策略,就是一套让浏览器实现的,非同源资源的访问策略,目的是为了保护网站自己的资源的,就是说你可以对自己的资源进行标记,告诉浏览器哪些是你某个网站可以访问的,哪些是某个(些)网站所不能访问的,从而达到保护自己的资源的目的。 怎么达到保护的呢? 首先这个是一个白名单的机制,就是说网站可以自己决定自己的资源可以分享给谁,既然是白名单,那么也就是说如果我在自己的网站里面嵌入了别的网站的css,scritpt或者图片

HTTPS之acme.sh申请证书

…衆ロ難τιáo~ 提交于 2019-12-25 12:07:37
本文转载自: https://www.cnblogs.com/clsn/p/10040334.html 作者:clsn 转载请注明该声明。 1.关于let's encrypt和acme.sh的简介 1.1 let's encrypt Let's Encrypt是一个于2015年三季度推出的数字 HTTPS 之acme+sh申请证书.html' target='_self'>证书认证机构,旨在以自动化流程消除手动创建和安装证书的复杂流程,并推广使万维网服务器的加密连接无所不在,为安全网站提供免费的SSL/TLS证书。 Let's Encrypt由互联网安全研究小组(缩写ISRG)提供服务。主要赞助商包括电子前哨基金会、Mozilla基金会、Akamai以及思科。2015年4月9日,ISRG与Linux基金会宣布合作。 用以实现新的数字证书认证机构的协议被称为自动证书管理环境(ACME)。GitHub上有这一规范的草案,且提案的一个版本已作为一个Internet草案发布。 Let's Encrypt宣称这一过程将十分简单、自动化并且免费 1.2 acme.sh 简单来说acme.sh 实现了 acme 协议, 可以从 let‘s encrypt 生成免费的证书。 acme.sh 有以下特点: 一个纯粹用Shell(Unix shell)语言编写的ACME协议客户端。

网络通信 --> socket通信

倖福魔咒の 提交于 2019-12-24 20:52:29
socket通信    socket是应用层与 TCP/IP协议族通信的中间软件抽象层,是一组接口。 工作原理如下:    具体过程 :服务器端先初始化s ocket,然后与端口绑定 (bind),对端口进行监听 (listen),调用 accept阻塞,等待客户端连接。在这时如果有个客户端初始化一个s ocket ,然后连接服务器 (connect),如果连接成功,这时客户端与服务器端的连接就建立了。客户端发送数据请求,服务器端接收请求并处理请求,然后把回应数据发送给客户端,客户端读取数据,最后关闭连接,一次交互结束。 socket属性 1.创建套接字   套接字的特性由三个属性确定:域(domain), 类型(type)和协议(protocol)。 int socket(int domain, int type, int protocol);     domain :指定socket的类型,一般为AF_INET;    type :是SOCK_STREAM 或SOCK_DGRAM,分别表示TCP连接和UDP连接;    protocol :通常赋值"0"。 socket()调用返回一个整型socket描述符,你可以在后面的调用使用它。 2.命名套接字 int bind(int sockfd, const struct sockaddr *addr, socklen_t

Repository(资源库)模式

烂漫一生 提交于 2019-12-24 14:06:32
Repository(资源库) 协调领域和数据映射层,利用类似于集合的接口来访问领域对象 定义(来自Martin Fowler的《企业应用 架构 模式》): Mediates between the domain and data mapping layers using a collection-like interface for accessing domain objects. 个人理解:Repository是一个独立的层,介于领域层与数据映射层(数据访问层)之间。它的存在让领域层感觉不到数据访问层的存在,它提供一个类似集合的接口提供给领域层进行领域对象的访问。Repository是仓库管理员,领域层需要什么东西只需告诉仓库管理员,由仓库管理员把东西拿给它,并不需要知道东西实际放在哪。 tabbycat 的理解( 来源 ): 1. Repository模式是架构模式,在设计架构时,才有参考价值; 2. Repository模式主要是封装数据查询和存储逻辑; 3. Repository模式实际用途:更换、升级ORM引擎,不影响业务逻辑; 4. Repository模式能提高测试效率,单元测试时,用Mock对象代替实际的 数据库 存取,可以成倍地提高测试用例运行速度。 评估:应用Repository模式所带来的好处,远高于实现这个模式所增加的代码。只要项目分层

Unix domain socket

青春壹個敷衍的年華 提交于 2019-12-24 00:11:22
转载:http://www.cnblogs.com/chekliang/p/3222950.html socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket。 虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个进程。 这是因为,IPC机制本质上是可靠的通讯,而网络协议是为不可靠的通讯设计的。UNIX Domain Socket也提供面向流和面向数据包两种API接口,类似于TCP和UDP,但是面向消息的UNIX Domain Socket也是可靠的,消息既不会丢失也不会顺序错乱。   UNIX Domain Socket是全双工的,API接口语义丰富,相比其它IPC机制有明显的优越性,目前已成为使用最广泛的IPC机制,比如X Window服务器和GUI程序之间就是通过UNIX Domain Socket通讯的。   使用UNIX Domain Socket的过程和网络socket十分相似,也要先调用socket()创建一个socket文件描述符,address family指定为AF_UNIX

应用程序域(Application Domain)

末鹿安然 提交于 2019-12-21 05:09:30
大家都知道, .net 写的程序,都是托管的,何为托管?就是让“其他的程序”来管理,也解析运行,什么又在这里充当“其他程序”呢?这里大体上说是 CLR( 通用语言运行时 ) ,这只是大体上的,准确的在底层是怎么去处理托管程序与操作系统间的关系呢 ? 操作系统上运行的都是进程,这进程是非托管的。现在。我们有一个 Demo.exe ,他是用 .net 写的(这里与语言无关了,因为编设成程序集后,都成为 IL 语言了),当然是一个托管理程序。这里的问题就是怎么把 Demo.exe 变成一个进程,运行在操作系统的进程中。这里就引出了应用程序域( Application Domain ),应用程序域 (Application Domain) 是“托管理代码与非托管理代码之间的桥梁”(引自《 .NET 组件编程设计》),进程,应用程序域, .net 程序集(这里是 Demo.exe ),之间的关系可以见下图: (图1) 一个进程中可以有多个应用程序域( Application Domain ),一个应用程序域( Application Domain )中可以有多个程序集。 应用程序域( Application Domain )的引入的好处在于,如果一个程序集出现错误,不会影响到别的应用程序域( Application Domain ),同时他们又是一个进程中的。 在 .net 中,应用程序域(

Configuring Application Domain

落花浮王杯 提交于 2019-12-21 05:07:14
通过给Application Domain赋予不同的权限,可以防止一些破坏行为。比如,如果把一个第三方的assembly放到一个单独的Application Domain里面的话,就算攻击行为发现了该第三方的Assembly的漏洞,也无法穿过它所在的Application Domain对其他的Application Domain里面的Aseembly进行攻击。这种赋予有限权限的行为是defense-in-depth的一个例子。Defense-in-depth is the security principle of providing multiple levels of protection so that you are still protected in the event of a vulnerability. Defense-in-depth在调用外部代码时非常有效,因为外部代码可能会含有暂时无法发现,甚至无法修复的安全隐患。 Some concepts refer to Evidence: code groups : determine the assembly’s privileges. Evidence : is the information that the runtime collects about an assembly to determine to

The Dot Net Application Domain Study

时光怂恿深爱的人放手 提交于 2019-12-21 05:06:28
Catalog Application Domain Introduction . 1 How to create and unloading Application Domain . 1 How to Call Remote Application Domain Method . 2 How to make Multiple applications in a single process running OS . 4 Reference . 7 Application Domain Introduction Application domain is a kind of nature, isolation; the purpose is to enable applications to run the code cannot directly access other applications or funding source. Application domain for the security, reliability, version control, and set uninstall program provides isolation border. Application domain is usually created by the runtime

C#学习笔记-----基于AppDomain的\"插件式\"开发

烈酒焚心 提交于 2019-12-21 04:53:58
很多时候,我们都想使用(开发)USB式(热插拔)的应用,例如,开发一个WinForm应用,并且这个WinForm应用能允许开发人员定制扩展插件,又例如,我们可能维护着一个WinService管理系统,这个WinService系统管理的形形色色各种各样的服务,这些服务也是各个"插件式"的类库,例如: public interface IJob { void Run(DateTime time); } public class CollectUserInfo : IJob { public void Run(DateTime time) { //doing some thing... } } 我们提供了一个IJob接口,所有"服务"都继承该接口,然后做相关的配置,在服务启动时,就可以根据配置,反射加载程序集,执行我们预期的任务. 更新程序集(dll/exe) 服务/插件程序( 后面只称为服务,虽然两者应用不同,但是在此处他们所运用的原理和作用是相同的 :-) )很健稳的运行着.但在服务/插件程序运行一段时间之后,某些"插件"的业务需求发生的变化,或者版本升级等种种外部原因,导致我们对原本的"插件"程序集进行了升级(可能从v1.0升级至v2.0).当我们想像Asp.net应用一样.把新的dll替换旧dll的时候,错误发生了. 发生该错误的原因很简单,因为我们的程序中已经调用了该dll