浏览器缓存

HTTP HTTPS WebService

社会主义新天地 提交于 2020-02-25 02:01:42
  HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式 。 2.简单快速 :客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3.灵活 :HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 4.无连接 :无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 5.无状态 :HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 一、HTTP 1.1 HTTP协议详解之URL篇   http(超文本传输协议

Nginx配置文件nginx.conf中文详解

浪子不回头ぞ 提交于 2020-02-24 20:27:37
Nginx是通过配置文件来做到各个功能的实现的。Nginx的配置文件的格式非常合乎逻辑,学习这种格式以及如何使用这种每个部分是基础,这将帮助我们有可能手工创建一个配置文件。 其整体结构如下: 从图中我们可以看出主要包含以下几大部分内容: main(全局设置) :设置的指令将影响其他所有设置; server(主机设置) :指令主要用于指定主机和端口、 upstream(负载均衡服务器设置) :指令主要用于负载均衡,设置一系列的后端服务器 location(URL匹配特定位置的设置) :用于匹配网页位置。 这四者之间的关系式:server继承main,location继承server,upstream既不会继承其他设置也不会被继承。在这四个部分当中,每个部分都包含若干指令,这些指令主要包含Nginx的主模块指令、事件模块指令、HTTP核心模块指令,同时每个部分还可以使用其他HTTP模块指令,例如Http SSL模块、HttpGzip Static模块和Http Addition模块等。 ######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数。 worker_processes 8; #全局错误日志定义类型,[ debug | info | notice |

网站静态化处理—CSI(5)

六月ゝ 毕业季﹏ 提交于 2020-02-23 11:30:02
  讲完了SSI,ESI,下面就要讲讲CSI了 ,CSI是浏览器端的动静整合方案,当我文章发表后有朋友就问我,CSI技术是不是就是通过ajax来加载数据啊,我当时的回答只是说你的理解有点片面,那么到底什么是CSI技术了?这个其实要和动静资源整合的角度来定义。   CSI 技术其实是在页面进行动静分离后,将页面加载分为两个步骤完成,第一步是加载静态资源,静态资源加载完毕后进行第二步骤加载动态资源。 不过这个定义还是表述的不全面,不全面的地方就是我们要强调动静分离的目的,我们把页面里的动静资源拆分出来是为了将静态资源做有效的缓存,这个静态资源可能是在静态web容器上,也有可能是在CDN上,也有可能是在浏览器上,不管静态资源是如何缓存的,我们的目的都是为了让静态资源加载的速度更快,如果我们没有让静态资源加载变得高效,就算我们使用了CSI的形式来设计页面,其实也没有发挥CSI的优点,反倒还会一不小心引入CSI的缺点。那什么是CSI的缺点呢?具体如下:   CSI 的缺点一: CSI不利于页面的SEO即搜索引擎优化。搜索引擎的网络爬虫一般是根据url访问页面,获取页面的内容后去掉没用的信息例如:css样式,js脚本,然后分析剩下的文本内容,因此假如页面的一部分内容需要进行异步加载,那么这个加载控制肯定是由javascript代码来完成的,因此网络爬虫爬下来的页面里异步加载的操作是没法执行的

PHP cookie和session的分析

為{幸葍}努か 提交于 2020-02-23 07:19:52
1. PHP的COOKIE cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制。 PHP在http协议的头信息里发送cookie, 因此 setcookie() 函数必须在其它信息被输出到浏览器前调用,这和对 header() 函数的限制类似。 1.1 设置cookie: 可以用 setcookie() 或 setrawcookie() 函数来设置 cookie。也可以通过向客户端直接发送http头来设置. 1.1.1 使用setcookie()函数设置cookie: bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure [, bool httponly]]]]]] ) name: cookie变量名 value: cookie变量的值 expire: 有效期结束的时间, path: 有效目录, domain: 有效域名,顶级域唯一 secure: 如果值为1,则cookie只能在https连接上有效,如果为默认值0,则http和https都可以. 例子: <?php $value = ’something from somewhere’; setcookie(”TestCookie”, $value);

php session和cookie使用说明

别等时光非礼了梦想. 提交于 2020-02-23 07:11:29
php session和cookie使用说明 1. PHP的COOKIE cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制。PHP在http协议的头信息里发送cookie, 因此setcookie() 函数必须在其它信息被输出到浏览器前调用,这和对header() 函数的限制类似。 1.1 设置cookie: 可以用setcookie() 或setrawcookie() 函数来设置cookie。也可以通过向客户端直接发送http头来设置。 1.1.1 使用setcookie()函数设置cookie: bool setcookie( stringname [, stringvalue [, int expire [, stringpath [, stringdomain [, bool secure [, bool httponly]]]]]] ) name: cookie变量名value: cookie变量的值expire: 有效期结束的时间, path: 有效目录, domain: 有效域名,顶级域唯一secure: 如果值为1,则cookie只能在https连接上有效,如果为默认值0,则http和https都可以. 例子: <?php $value= 'something from somewhere'; setcookie("TestCookie",

关于shiro

北慕城南 提交于 2020-02-22 17:53:16
shiro作为一个功能强大而且可靠的安全框架拥有很多Api,结合spring可以很方便的实现有关shiro的使用。 这是关于shiro内部的架构图官网上的。下面做个简单的介绍: subject:主体,可以是用户也可以是程序,主体要访问系统,系统需要对主体进行认证、授权。 securityManager:安全管理器,主体进行认证和授权都 是通过securityManager进行。 authenticator:认证器,主体进行认证最终通过authenticator进行的。 authorizer:授权器,主体进行授权最终通过authorizer进行的。 sessionManager:web应用中一般是用web容器对session进行管理,shiro也提供一套session管理的方式。 SessionDao: 通过SessionDao管理session数据,针对个性化的session数据存储需要使用sessionDao。 cache Manager:缓存管理器,主要对session和授权数据进行缓存,比如将授权数据通过cacheManager进行缓存管理,和ehcache整合对缓存数据进行管理。 realm:域,领域,相当于数据源,通过realm存取认证、授权相关数据。 下面时一些shiro提供的方法 可继承重写 Subject Subject即主体,外部应用与subject进行交互

斗鱼已公开的运维技术和架构分析

自古美人都是妖i 提交于 2020-02-21 10:57:46
斗鱼已公开的运维技术和架构分析 By 12月01日 2016 Architecture Douyu Ops Architecture 引言 最新一个比较全面的斗鱼运维架构分享是在 GITC 2016 北京站的运维专场,以下架构分享文档。 用户在斗鱼看直播时,斗鱼在看什么 从用户电脑浏览器访问一个网站的过程(还有结合一些公开资料)分析斗鱼网站使用的相关运维技术信息和架构方案。 客户端层 1. 浏览器 包含 Cookie、浏览器缓存协商(Last-Modified、Expires、Etag)、组件分离、前端优化、运维检测工具等内容。 上述可以通过浏览器开发者工具进行具体查看。 2. DNS 域名 包含浏览器 DNS 缓存、DNS 缓存、自建 DNS 服务器、商业 DNS 产品、智能 DNS 等内容 用户使用浏览器访问一个网站,是输入网站域名进行访问的。 下面我们来看看斗鱼网站的相关域名信息,它的主域名是 douyu.com。 我们使用阿里的 whois 查询服务来查下, 具体信息去以下链接查看 https://whois.aliyun.com/whois/domain/douyu.com 从上面查询到的信息我们可以看到 douyu.com 域名注册商是 GoDaddy。 然后还有一个重要的信息,配置的权威 DNS 服务器为: DNS1:NS3.DNSV4.COM DNS2:NS4

高性能网站建设,前端优化

喜你入骨 提交于 2020-02-20 17:39:18
相信互联网已经越来越成为人们生活中不可或缺的一部分。ajax,flex等等富客户端的应用使得人们越加“幸福”地体验着许多原先只能在C/S实 现的功能。比如Google机会已经把最基本的office应用都搬到了互联网上。当然便利的同时毫无疑问的也使页面的速度越来越慢。自己是做前端开发的,在性能方面,根据yahoo的调查,后台只占5%,而前端高达95%之多,其中有88%的东西是可以优化的。   以上是一张web2.0页面的生命周期图。工程师很形象地讲它分成了“怀孕,出生,毕业,结婚”四个阶段。如果在我们点击网页链接的时候能够意识到 这个过程而不是简单的请求-响应的话,我们便可以挖掘出很多细节上可以提升性能的东西。今天听了淘宝小马哥的一个对yahoo开发团队对web性能研究的 一个讲座,感觉收获很大,想在blog上做个分享。   相信很多人都听过优化网站性能的14条规则。更多的信息可见developer.yahoo.com   在firefox下有一个插件yslow,集成在firebug中,你可以用它很方便地来看看自己的网站在这几个方面的表现。   这是对用yslow对我的网站西风坊测评的结果,很遗憾,只有51分。呵呵。中国各大网站的分值都不高,刚测了一下,新浪和网易都是31分。然后yahoo(美国)的分值确实97分!可见yahoo在这方面作出的努力。从他们总结的这14条规则

优化网站性能的14条军规 快速提高网站访问速度

六眼飞鱼酱① 提交于 2020-02-20 16:52:35
优化网站性能的14条军规 快速提高网站访问速度 相信互联网已经越来越成为人们生活中不可或缺的一部分。ajax,flex等等富客户端的应用使得人们越加“幸福”地体验着许多原先只能在C/S实现的功能。比如Google几乎已经把最基本的office应用都搬到了互联网上。当然便利的同时毫无疑问的也使页面的速度越来越慢。自己是做前端开发的,在性能方面,根据yahoo的调查,后台只占5%,而前端高达95%之多,其中有88%的东西是可以优化网站性能的。 以上是一张web2.0页面的生命周期图。工程师很形象地讲它分成了“怀孕,出生,毕业,结婚”四个阶段。如果在我们点击网页链接的时候能够意识到这个过程而不是简单的请求-响应的话,我们便可以挖掘出很多细节上可以提升性能的东西。今天听了淘宝小马哥的一个对yahoo开发团队对web性能研究的一个讲座,感觉收获很大,想在blog上做个分享。 优化网站性能的14条军规 快速提高网站访问速度,更多内容如下: 相信很多人都听过优化网站性能的14条规则。 1. 尽可能的减少 HTTP 的请求数 [content] 2. 使用 CDN(Content Delivery Network) [server] 3. 添加 Expires 头(或者 Cache-control ) [server] 4. Gzip 组件 [server] 5. 将 CSS 样式放在页面的上方

linux企业实战----大型网站架构概述

假装没事ソ 提交于 2020-02-19 14:19:41
目录标题 1. 网站架构演化发展历程 2. 使用缓存服务器改善网站性能 3. 使用应用服务器集群改善并发处理能力 4. 数据库读写分离 5. 使用反响代理和cdn加速网站响应 6. 使用分布式文件系统和分布式数据库系统 7. 使用nosql和搜索引擎 8. 业务拆分 9. 分布式服务 1. 网站架构演化发展历程 2. 使用缓存服务器改善网站性能   网站访问的特点和二八定律一样:80%的业务访问及中在20%的数据上。所以如果把这一部分数据缓存在内存中,可以减少数据库的访问压力,提高整个网站的数据访问速度,改善数据库的写入性能。   网站使用的缓存可以分为两种:缓存在应用服务器上的本地缓存和缓存在专门的分布缓存服务器上的远程缓存。   本地缓存的访问快一些,但受应用服务器内存限制,缓存数据量有限,远程分布式缓存可以使用集群(n)的方式,步数大内存的服务器作为专门的缓存服务器,理论上做到部首内存容量的限制的缓存服务。 缓存技术:   内容分发网络(CDN)反向代理   本地缓存 分布式缓存   使用前提:1. 数据访问热点不均匀 2. 是数据在某个时间段内有效,不会很快过期 3. 使用应用服务器集群改善并发处理能力   使用缓存后,数据访问压力得到有效的环节,但是单一应用服务器能够处理的请求链接有限,在网站高峰期,应用服务器称为整个网站的瓶颈。   使用集群是网站解决高并发