浏览器缓存

HTTP状态码

柔情痞子 提交于 2019-12-17 20:31:56
消息编辑 这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。 100 Continue 客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应。 101 Switching Protocols 服务器已经理解了客户端的请求,并将通过Upgrade 消息头通知客户端采用不同的协议来完成这个请求。在发送完这个响应最后的空行后,服务器将会切换到在Upgrade 消息头中定义的那些协议。 只有在切换新的协议更有好处的时候才应该采取类似措施。例如,切换到新的HTTP 版本比旧版本更有优势,或者切换到一个实时且同步的协议以传送利用此类特性的资源。 102 Processing 由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。 成功编辑 这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。 200 OK 请求已成功,请求所希望的响应头或数据体将随此响应返回。出现此状态码是表示正常状态。 201 Created

微服务 - 服务网关

ε祈祈猫儿з 提交于 2019-12-17 19:08:42
客户端直接访问微服务带来的问题 1、客户端的需求量与每个微服务暴露的细粒度API数量的不匹配。 2、亚马逊的产品最终页要请求数百个微服务。虽然一个客户端可以通过LAN发起很多个请求,但是在公网上这样会很没有效率,这个问题在移动互联网上尤为突出。这个方案同时会导致客户端代码非常复杂。 3、另一个存在的问题是客户端直接请求微服务的协议可能并不是web友好型。一个服务可能是用Thrift的RPC协议,而另一个服务可能是用AMQP消息协议。它们都不是浏览或防火墙友好的,并且最好是内部使用。应用应该在防火墙外采用类似HTTP或者WEBSocket协议。 4、另一个缺点是它很难重构微服务。随着时间的推移,我们可能需要改变系统微服务目前的切分方案。例如,我们可能需要将两个服务合并或者将一个服务拆分为多个。但是,如果客户端直接与微服务交互,那么这种重构就很难实施。 由于上述问题的原因,客户端直接与服务器端通信的方式很少在实际中使用。 使用API Gateway API Gateway是一个服务器,也可以说是进入系统的唯一节点。这跟面向对象设计模式中的Facet模式很像。API Gateway封装内部系统的架构,并且提供API给各个客户端。它还可能有其他功能,如授权、监控、负载均衡、缓存、请求分片和管理、静态响应处理等。 API Gateway负责请求转发、合成和协议转换

Web服务器及性能优化

你。 提交于 2019-12-17 14:07:48
一、WEB服务器 1.1 概述: 1.2 区别: 1.2.1 Apache 1.2.2 Tomcat 1.2.3 Jboss 二、浏览器端,关于浏览器端优化 2.1 压缩源码和图片 2.2 选择合适的图片格式 2.3 合并静态资源 2.4 开启服务器端的Gzip压缩 2.5 使用CDN 2.6 延长静态资源缓存时间 2.7 把CSS放在页面头部,把JavaScript放在页面底部 三、服务端优化 3.1 HTML静态化 3.2 图片服务器分离 3.3 数据库集群、库表散列 3.4 缓存 3.5 镜像 3.6 负载均衡 3.6.1 硬件四层交换 3.6.2 软件四层交换 一、WEB服务器 1.1 概述: Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。 Apache与Tomcat都是Apache开源组织开发的用于处理HTTP服务的项目,两者都是免费的,都可以做为独立的Web服务器运行。 Apache是Web服务器而Tomcat是Java应用服务器。 1.2 区别: 1.2.1 Apache 是C语言实现的,专门用来提供HTTP服务。 特性:简单、速度快、性能稳定、可配置(代理) 1、主要用于解析静态文本,并发性能高,侧重于HTTP服务; 2、支持静态页(HTML)

前端性能优化指南

本小妞迷上赌 提交于 2019-12-17 02:35:42
作者: JowayYoung 仓库: Github 博客: 掘金 、 思否 、 知乎 、 简书 、 头条 、 CSDN 公众号: Uzero 联系我:关注公众号后有我的 微信 哟 特别声明:未经授权不得对此文章进行转载或抄袭,否则通过法律途径进行解决,如需转载或开通公众号白名单可联系我,希望各位尊重原创的知识产权 前言 发现总结性的小干货可以为大家提升更好的开发技巧和编码思维,对代码量产化提供更扎实的质量和支持。这次我们来聊聊大家可能都比较关心的话题: 性能优化 。 一说到页面的性能优化,大家可能都会想起 雅虎军规 、 2-5-8原则 、 3秒钟首屏指标 等规则,这些规则在开发过程中不是强制要求的,但是有时候为了追求页面性能的完美和体验,就不得不对原有的代码进行修改和优化。 下面就结合自己三年多的开发经验和大量的项目实践,整理出一些常用的性能优化要点,同时再罗列一下 雅虎军规 、 2-5-8原则 、 3秒钟首屏指标 这三个常用规则的要点。 为了方便记忆和阅读,文章使用部分简写名词,解释如下 D端 :桌面端页面 Desktop End Page M端 :移动端页面 Mobile End Page 概述指南 D端优化手段在M端同样适用 在M端提出3秒钟渲染完成 首屏指标 基于第二点,首屏加载3秒内完成或使用 Loading 进行占位 基于联通3G网络平均 338kb/s(2.71mb

获取谷歌浏览器缓存视频方法

烂漫一生 提交于 2019-12-17 02:21:19
一、首先找到缓存文件位置C:\Users\JiaPeng\AppData\Local\Google\Chrome\User Data\Default\Cache 如果不好找,可以先打开IE浏览器,Internet选项-》常规下点击设置-》Internet临时文件下点击查看文件 得到IE缓存文件的位置C:\Users\JiaPeng\AppData\Local\Microsoft\Windows\INetCache 然后通过此位置找到对应谷歌浏览器缓存文件位置。 二、清空谷歌浏览器缓存,刷新谷歌浏览器缓存文件的文件夹,仅剩下几个文件。 三、谷歌浏览器播放视频(为保证缓存视频完整,要等视频缓存完),刷新谷歌浏览器缓存文件夹,里面多了好多文件。 四、依据大小排序,找到除了清缓存后留下文件,文件比较大的文件,一般是最大的一个,将其拷贝出来,该文件格式为flv或mp4,即可,用播放器打开验证 来源: CSDN 作者: u011250186 链接: https://blog.csdn.net/u011250186/article/details/103567487

大型网站的灵魂——性能

夙愿已清 提交于 2019-12-17 02:02:05
前言 在前一篇随笔 《大型网站系统架构的演化》 中,介绍了大型网站的演化过程,期间穿插了一些技术和手段,我们可以从中看出一个大型网站的轮廓,但想要掌握设计开发维护大型网站的技术,需要我们一步一步去研究实践。所以我打算写一个系列,从理论到实践讲述大型网站的点滴,这也是一个共同学习的过程,希望自己能坚持下去。系列大概会分为两部分,理论和实践,理论部分尽量通俗易懂,也要讲一些细节。实践部分会抽取一些技术做实践,将方法、解决问题过程分享出来。 本文将讲述大型网站中一个重要的要素,性能。 什么是性能 有人说性能就是访问速度快慢,这是最直观的说法,也是用户的真实体验。一个用户从输入网址到按下回车键,看到网页的快慢,这就是性能。对于我们来说,需要去挖掘这个过程,因为这决定我们怎么去做性能优化。 这中间发生了什么? 用户访问网站的整个流程:用户输入网站域名,通过DNS解析,找到目标服务器IP,请求数据经互联网达到目标服务器,目标服务器收到请求数据,进行处理(执行程序、访问数据库、文件服务器等)。处理完成,将响应数据又经互联网返回给用户浏览器,浏览器得到结果进行计算渲染显示给用户。 我们把整个过程,分为三段路径: 1、第一段在用户和浏览器端,主要负责发出用户请求,以及接受响应数据进行计算渲染显示给用户; 2、第二段在网络上,负责对请求数据、响应数据的传输; 3、第三段在网站服务器端

Apache网页优化之缓存

夙愿已清 提交于 2019-12-17 00:55:19
文章目录 一、Apache的网页缓存 二、网页缓存配置 一、Apache的网页缓存 Apache 的mod_expries 模块会自动生成页面头部信息中的 Express标签和 Cache-Control 标签。 客户端浏览器根据标签决定下次访问是在本地机器的缓存中获取页面,不需要再次向服务器发出请求,从而降低客户端的访问频率和次数,达到减少不必要的流量和增加访问速度的目的。 二、网页缓存配置 1、挂载共享文件,并解压到 /opt/目录下。 mount . cifs //192.168.56.1/share /mnt #192.168.56.1是我的宿主机IP地址 #解压 tar - zxvf apr - 1.4 .6 . tar . gz - C / opt / tar - zxvf apr - util - 1.4 .1 . tar . gz - C / opt / tar - zxvf httpd - 2.4 .2 . tar . gz - C / opt / #安装包优化 cd / opt mv apr - 1.4 .6 / httpd - 2.4 .2 / srclib / apr mv apr - util - 1.4 .1 / httpd - 2.4 .2 / srclib / apr - util 2、安装编译工具 yum install - y gcc gcc -

Apache优化之网页缓存

泄露秘密 提交于 2019-12-16 21:35:48
Apache优化之网页缓存 文章目录 Apache优化之网页缓存 前言 实验环境 实验步骤 前言 为了缓解服务器的压力,提高访问效率,Apache设置了缓存时间,那么我们如何设置网页缓存?并在浏览器中查看网页缓存呢? 实验环境 centos7虚拟机一台 xshell6 ssh远程连接 PS: 手工编译安装Apache的源码包apr的两个包和httpd的那个源码包 链接:https://pan.baidu.com/s/1c2pTsTk34xlL3dVJdyLkYg 提取码:i05t 实验步骤 1.将三个包都解压到/opt/目录下 [root@localhost ~]# ls anaconda-ks.cfg apr-util-1.6.0.tar.gz initial-setup-ks.cfg 模板 图片 下载 桌面 apr-1.6.2.tar.gz httpd-2.4.29.tar.bz2 公共 视频 文档 音乐 [root@localhost ~]# tar -zxvf apr-1.6.2.tar.gz -C /opt/ [root@localhost ~]# tar -zxvf apr-util-1.6.0.tar.gz -C /opt/ [root@localhost ~]# tar -jxvf httpd-2.4.29.tar.bz2 -C /opt/ 2.去/opt

Django实现内容缓存

ぐ巨炮叔叔 提交于 2019-12-16 20:16:10
1.缓存的简介 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务器的压力. 缓存是将一些常用的数据保存内存或者memcache中,在一定的时间内有人来访问这些数据时,则不再去执行数据库及渲染等操作,而是直接从内存或memcache的缓存中去取得数据,然后返回给用户. 2.Django提供了6种缓存方式 开发调试缓存 内存缓存 文件缓存 数据库缓存 Memcache缓存(使用python-memcached模块) Memcache缓存(使用pylibmc模块) 经常使用的有文件缓存和Mencache缓存 2.1 各种缓存方式的配置文件说明 2.1.1 开发调试(此模式为开发调试使用,实际上不执行任何操作) settings.py文件配置 CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.dummy.DummyCache', # 缓存后台使用的引擎 'TIMEOUT': 300, # 缓存超时时间(默认300秒,None表示永不过期,0表示立即过期) 'OPTIONS':{ 'MAX_ENTRIES': 300, #

解密jQuery事件核心 - 委托设计(二)

五迷三道 提交于 2019-12-16 19:34:38
第一篇 http://www.cnblogs.com/aaronjs/p/3444874.html 从上章就能得出几个信息: 事件信息都存储在数据缓存中 对于没有特殊事件特有监听方法和普通事件都用addEventListener来添加事件了。 而又特有监听方法的特殊事件,则用了另一种方式来添加事件。 本章分析的重点: 通过addEventListener触发事件后,回调句柄如何处理? 具体来说就是,如何委派事件的,用到哪些机制,我们如果用到项目上是否能借鉴? 涉及的处理 : 事件句柄的读取与处理 事件对象的兼容,jQuery采取什么方式处理? 委托关系的处理 jQuery引入的处理方案 jQuery.event.fix(event):将原生的事件对象 event 修正为一个 可以读读写event 对象,并对该 event 的属性以及方法统一接口。 jQuery.Event(event,props): 构造函数创建可读写的 jQuery事件对象 event, 该对象即可以是原生事件对象 event 的增强版,也可以是用户自定义事件 jQuery.event.handlers: 用来区分原生与委托事件 能学到的思路 缓存的分离 适配器模式的运用 事件兼容性的封装 委托的设计 事件的绑定执行顺序 结构 <div id='p1' style="width: 500px;height: