浏览器缓存

HttpWatch简单功能字段含义介绍(二)

孤人 提交于 2020-01-13 01:13:33
一、缓存清空   浏览器默认支持缓存,在录制之前没有清空缓存,有可能某次访问直接从浏览器缓存中读取,而不会真的将请求发送给服务器,这样就不会录制到任何数据包。   这时需要清空缓存。 二、Overview 1、界面展示 2、字段含义介绍   (1)Display URL :表示请求的地址   (2)Started At :表示发送请求的时刻,为本地时间   (3)Connection Reuse : 表示与服务器建立了连接,显示本地链接地址和端口号。   (3)HTTP Request : 表示通过浏览器发出的请求。   (4)HTTP Response :服务器返回的头和内容信息。 三、Time Chart 1、界面展示   主要以直观的方式——线条,显示各部分耗时情况 2、字段含义介绍   (1)Blocked(阻塞):阻塞时间包括任何预处理时间(比如缓存查找)和等待网络连接的时间。浏览器显示一定数量的并发网络连接,如果已经达到极限后则后续请求需排队。   (2)DNS Lookup(DNS寻址):DNS解析一个主机名得到一个IP地址所耗费的时   (3)Connect(连接):连接是创建一个TCP连接到Web服务器(或代理)所需要的时间。   (4)Send(发送请求):是指发送HTTP请求消息到服务器所需时间。   (5)Wait(等待服务器响应时间)

0109 redis数据库的配置与使用

痞子三分冷 提交于 2020-01-12 21:54:15
目录 昨日回顾 Redis 1. Redis简介 1.1 为什么要用 redis /为什么要用缓存 1.2 为什么要用 redis 而不用 map/guava 做缓存? 1.3 redis 和 memcached 的区别 2.Redis内存数据库 2.1 redis介绍 2.2 Redis操作 2.3 Redis数据类型 2.4 python使用redis 3.接口缓存 模式 轮播图接口缓存 4.celery异步服务框架 昨日回顾 1、接口编辑 1)设计数据库 2)分析业务逻辑 3)配置路由层 4)完成视图(简单逻辑,直接在视图中完成,复杂逻辑,交给序列化组件完成) 5)序列化组件(序列化与反序列化字段,是否要(重|自)定义字段,设置局部全局钩子,考虑是否重写create和update方法) 2、django缓存 from django.core.cache import cache (memcache|redis) cache.set(k, v, e) cache.get(k) 3、vue-cookies $cookies = vue-cookies $cookies.set(k, v, e) $cookies.get(k) $cookies.remove(k) -- 前台数据库:cookie、sessionStorage、localStorage 4、前后台交互 $axios(

面试学习笔记(1)——前端工程师

折月煮酒 提交于 2020-01-12 01:47:28
前端工程师面试学习笔记 网络部分内容 http和https的异同 WebSocket 几个关键的http状态码 Cookie、sessionStorage和localStorage web worker XSS攻击 click在ios上有延迟该如何解决 前端优化的方法 从输入URL到页面呈现,中间的过程(重点) 浏览器缓存机制 HTML&CSS CSS盒模型 浮动塌陷清除的方法 使元素消失的方法 几种常用的CSS布局 前端中的事件流 如何让事件先冒泡后捕获 事件委托 JavaScript JS的数据类型 闭包 性能优化的方法 JS中继承实现的方式 AJAX Ajax返回状态 Ajax过程 几个重要的设计模式 这篇博客主要记录一些前端常考题目以及必要知识。 网络部分内容 这一部分主要是计算机网络中的内容,考察一些网络编程和通信的内容,需要对一些关键知识进行区分。 http和https的异同 http和https都是超文本传输协议,两者的区别主要在于安全性的考虑。 http基于TCP协议,承担WWW服务器到本地浏览器的信息传输,在传输过程中采用明文传输,不对传输信息做任何加密处理,https简单来讲,就是将http与SSL相结合,设置了SSL协议对http传输的数据进行了加密处理,安全性更高。 端口也不同,http服务器默认是80端口,https默认是443端口。

Tomcat——常识介绍与手动实现tomcat1

谁说我不能喝 提交于 2020-01-11 21:29:30
1. HTTP协议 1.1 特点 1.支持客户/服务器模式。 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 1.2 请求部分 http请求由三部分组成,分别是:请求行、请求头、请求体 1.2.1 请求行 请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下:Method Request-URI HTTP-Version CRLF 1. Method表示请求方法; 2. Request-URI是一个统一资源标识符; 3. HTTP-Version表示请求的HTTP协议版本; 4. CRLF表示回车和换行(除了作为结尾的CRLF外

web service基础知识

一笑奈何 提交于 2020-01-11 16:17:47
web service基础知识 Web服务基础 用户访问网站的基本流程 我们每天都会用web客户端上网,浏览器就是一个web客户端,例如谷歌浏览器,以及火狐浏览器等。 当我们输入www.oldboyedu.com/时候,很快就能看到老男孩教育的官网了,这一切看起来很平淡无奇,背后又是什么道理呢?普通人可以不知道,但是咱们作为it开发人员,必须得掌握清楚背后的技术。 下面为你揭晓用户访问网站的基本流程 老男孩教育某python总监,讲了一天课感觉很累,下了班躺床上打开他的macbook pro,双击浏览器,输入www.pornhub.com网址后,系统首先会查找本地的DNS缓存以及hosts文件信息,确定是否存在www.pornhub.com域名对应的ip解析记录,如果有就直接获取ip进行访问服务器,第一次请求时,dns缓存是没有解析记录的,hosts文件多数是开发临时测试用 如果本地dns缓存和hosts文件都没有域名解析记录,系统就会把某python总监访问的网址解析请求发送给客户端设置的DNS服务器去解析,也叫做Local DNS,如果LDNS服务器的本地缓存有对应的解析记录就会直接返回给客户端IP地址,如果没有LDNS就会继续请求其他的DNS服务器 LDNS继续从DNS系统的"."(根)开始请求www.pornhub.com域名的解析

高并发常用解决方案汇总

与世无争的帅哥 提交于 2020-01-11 04:38:24
1、扩容 扩容思路: u 垂直扩容(纵向扩展):提高系统部件能力 u 水平扩容(横向扩展):增加更多系统成员来实现 数据库扩容: 读操作扩展:memcache、redis、CDN等缓存 写操作扩展:Cassandra、Hbase 2、缓存 (1) 浏览器:页面静态化 (2) 网络转发:nginx反向代理 (3) 应用服务:集群 (4) 数据库:读写分离、分表分库 小李飞刀_解决方案 缓存特性: 命中率:命中数/(命中数+没有命中数) 最大元素(空间) 清空策略:FIFO(先进先出)、LFU(淘汰一定时期内被访问次数最少的)、LRU(淘汰最长时间未被使用的)、过期时间、随机等 一般来说:项目中开发,使用缓存的时候,都是读多写少; 可以使用复制特性扩展读性能 可以使用客户端分片扩展写性能 缓存分类和应用场景 本地缓存:编程实现(成员变量、局部变量、静态变量)、Guava Cache 分布式缓存:Memcache、Redis Guava Cache相当于利用hashmap实现了本地缓存的管理 小李飞刀_解决方案 高并发场景下缓存常见问题 u 缓存一致性 u 缓存并发问题 u 缓存穿透问题 u 缓存的雪崩现象 缓存一致性 小李飞刀_解决方案 雪崩: 执行了增删改操作,此时缓存中并没有key所对应的数据(缓存被清除了),那么可能某一时间点,多个请求同时访问,越过缓存服务器直接访问数据库服务器

清理网站缓存的几种方法

倖福魔咒の 提交于 2020-01-11 02:22:36
meta方法 //不缓存 <META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> <META HTTP-EQUIV="expires" CONTENT="0"> 清理form表单的临时缓存 <body onLoad="javascript:document.yourFormName.reset()"> 其实form表单的缓存对于我们书写还是有帮助的,一般情况不建议清理,但是有时候为了安全问题等,需要清理一下! jquery ajax清除浏览器缓存 方式一 :用ajax请求服务器最新文件,并加上请求头If-Modified-Since和Cache-Control,如下: $.ajax({ url:'www.haorooms.com', dataType:'json', data:{}, beforeSend :function(xmlHttp){ xmlHttp.setRequestHeader("If-Modified-Since","0"); xmlHttp.setRequestHeader("Cache-Control","no-cache"); }, success:function(response)

浏览器端的缓存localStorage应用

允我心安 提交于 2020-01-10 19:27:20
服务器传输大量信息到客户端(浏览器),即使有了服务器端缓存,用户每次打开web页面都需要请求服务器,传输大量信息,然后渲染。 主要存在网络传输成本,如果我们将大量的不太会变动的字典信息存储于localStorage,就能实现高性能的操作。 由于localStorage是永久的,自身没有过期时间,这对我们的字典变动存在一些不同步的问题,除了浏览器端用户手动点击清缓存,我打算给localStorage结合一个有效期来自动清除。 customLocalStorage.js 1 var __localStorage = { 2 set : function(key, value, mins){ 3 if(!window.localStorage){//浏览器ie8以下不支持,直接跳过 4 return; 5 } 6 if(typeof(mins) == 'undefined'){ 7 var item = { 8 data : value 9 }; 10 }else{ 11 var item = { 12 data : value, 13 endTime : new Date() . getTime() + mins * 60 * 1000 14 }; 15 } 16 localStorage.setItem(key, JSON.stringify(item)); 17 }, 18 get

HTTP问题整理

主宰稳场 提交于 2020-01-10 16:40:00
https://www.cnblogs.com/haonanZhang/p/6362233.html https://www.cnblogs.com/cbslock/p/10139160.html https://www.cnblogs.com/yoyoketang/p/10137927.html 一、一个页面从输入url到加载完成,中间经历了什么。 1、 首先,在浏览器地址栏中输入url。解析url地址是否合法 2、 浏览器先查看 浏览器缓存 -系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操作 浏览器缓存 :浏览器会记录DNS一段时间,因此,只是第一个地方解析DNS请求; 操作系统缓存: 如果在浏览器缓存中不包含这个记录,则会使系统调用操作系统,获取操作系统的记录(保存最近的DNS查询缓存); 路由器缓存 :如果上述两个步骤均不能成功获取DNS记录,继续搜索路由器缓存; ISP缓存: 若上述均失败,继续向ISP搜索。 3、 在发送http请求前,需要 域名解析 (DNS解析) (DNS(域名系统,Domain Name System)是互联网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住IP地址。) ,解析获取相应的IP地址 4、 浏览器向服务器发起 tcp连接 ,与浏览器建立

你修改了样式,却要我手动清除游览器缓存,这是BUG!

与世无争的帅哥 提交于 2020-01-10 13:02:46
1. 事件背景 公司网站首页的样式进行了大量改版,但是上测试线后,测试同事对我说:怎么还是原来的效果,没有任何变化啊。听到这样的问题,我们第一反应是游览器缓存。你清除一下游览器缓存,或者换一个游览器。 手动清除游览器缓存虽然可以解决问题,但是用户根本不知道啥是缓存,也不会手动清楚游览器缓存。我不管!这个是BUG,不解决这个BUG 不能上线。 嗯… 你说的有道理,我马上去修改! 2. 解决方案 游览器缓存是个好东西,第一次访问网站会从服务器获取静态的资源,然后将静态资源在游览器中缓存,下次用户在访问时,就直接获取游览器的缓存的静态资源。但是当你更新样式或者图片资源的时候,再次访问就不会获取最新修改的静态资源。 解决的方案有3种: 用户自行清理游览器缓存。 使用禁用缓存标签,实现禁用浏览器缓存。 为js和css文件添加版本号。 第一种方式:用户自行清理游览器缓存。这个不太现实,测试就直接给否决了。 第二种方式:在html页面的head 头中添加如下代码: < meta http-equiv = " Cache-Control " content = " no-cache, no-store, must-revalidate " /> < meta http-equiv = " Cache " content = " no-cache " > < meta http-equiv = "