浏览器缓存

http基本结构

吃可爱长大的小学妹 提交于 2019-12-02 10:49:39
目录 一 网络层 二 请求报文 请求行 请求方法 请求头 请求和响应常见通用的 Header 常见的请求 Header 请求体 第一种: 第二种: 第三种 三 响应报文 响应状态行 2XX 成功 3XX 重定向 4XX 客户端错误 5XX 服务器错误 响应头 常见的响应 Header 响应体 四 POST和GET 五 HTTP 缓存 缓存相关 header 参考 一 网络层 网络层 发送端在层与层间传输数据时,没经过一层都会被加上首部信息,接收端每经过一层都会删除一条首部 TCP/IP的职责 二 请求报文 请求报文是由请求方法,URL,协议版本,可选的请求首部字段和内容实体构成。 请求行 请求行(Request line)分为三个部分:请求方法、请求地址和协议版本 请求方法 HTTP/1.1 协议中共定义了九种方法(也叫“动作”)来以不同的方式操作指定的资源 请求头 请求头可用于传递一些附加信息,格式为: 键: 值 ,注意冒号后面有一个 空格 : 请求和响应常见通用的 Header 常见的请求 Header 请求体 根据应用场景的不同,HTTP 请求的请求体有三种不同的形式 第一种: 移动开发者常见的,请求体是任意类型的,服务器不会解析请求体,请求体的处理需要自己解析,如 POST JSON 的时候就是这类 第二种: 第二种和第三种都有固定的格式,是服务器端开发人员最先了解的两种

前端基础习题一

[亡魂溺海] 提交于 2019-12-02 06:49:21
面试问题答案综合版 在线预览 http://blog.poetries.top/FE-Interview-Questions 第一部分:基础篇 第二部分:进阶篇 第三部分:高级篇 第四部分:通识篇 第五部分:精华篇 第六部分:精简篇 第七部分:综合篇 第一部分:基础篇 一、HTML、HTTP、web 综合问题 1 前端需要注意哪些 SEO 合理的 title 、 description 、 keywords :搜索对着三项的权重逐个减小, title 值强调重点即可,重要关键词出现不要超过 2 次,而且要靠前,不同页面 title 要有所不同; description 把页面内容高度概括,长度合适,不可过分堆砌关键词,不同页面 description 有所不同; keywords 列举出重要关键词即可 语义化的 HTML 代码,符合 W3C 规范:语义化代码让搜索引擎容易理解网页 重要内容 HTML 代码放在最前:搜索引擎抓取 HTML 顺序是从上到下,有的搜索引擎对抓取长度有限制,保证重要内容一定会被抓取 重要内容不要用 js 输出:爬虫不会执行 js 获取内容 少用 iframe :搜索引擎不会抓取 iframe 中的内容 非装饰性图片必须加 alt 提高网站速度:网站速度是搜索引擎排序的一个重要指标 2 <img> 的 title 和 alt 有什么区别

(转)Python__slots__详解

有些话、适合烂在心里 提交于 2019-12-02 05:51:35
原文: https://imququ.com/post/my-nginx-conf-for-wpo.html 在介绍完我博客(imququ.com)的 Nginx 配置中 与安全有关的一些配置 后,这篇文章继续介绍与性能有关的一些配置。WEB 性能优化是一个系统工程,涵盖很多方面,做好其中某个环节并不意味性能就能变好,但可以肯定地说,如果某个环节做得很糟糕,那么结果一定会变差。 首先说明下,本文提到的一些 Nginx 配置,需要较高版本 Linux 内核才支持。在实际生产环境中,升级服务器内核并不是一件容易的事,但为了获得最好的性能,有些升级还是必须的。很多公司服务器运维和项目开发并不在一个团队,一方追求稳定不出事故,另一方希望提升性能,本来就是矛盾的。好在我们折腾自己 VPS 时,可以无视这些限制。 TCP 优化 Nginx 关于 TCP 的优化基本都是修改系统内核提供的配置项,所以跟具体的 Linux 版本和系统配置有关,我对这一块还不是非常熟悉,这里只能简单介绍下: NGINXhttp { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 60; ... ... } 第一行的 sendfile 配置可以提高 Nginx 静态资源托管效率。sendfile 是一个系统调用,直接在内核空间完成文件发送

用户对动态PHP网页访问过程,以及nginx解析php步骤

天涯浪子 提交于 2019-12-02 05:07:19
一、用户对动态PHP网页访问过程 用户浏览器发起对网页的访问:http://192.168.1.103/index.php 用户和nginx服务器进行三次握手进行TCP连接(忽略包括nginx访问控制策略、nginx防火墙等访问控制策略) 第一步:用户将http请求发送给nginx服务器 第二步:nginx会根据用户访问的URI和后缀对请求进行判断 1.例如用户访问的index.php,nginx则会根据配置文件中的location进行匹配,例如: root@json:/data/web# cat /etc/nginx/conf.d/blog.conf server { root /data/web/blog/; index index.html index.htm; server_name www.fwait.com; location / { try_files $uri $uri/ /index.html; } location /blog/ { #alias /usr/share/doc/; auth_basic "authorized users only"; auth_basic_user_file /etc/nginx/passwd.conf; #autoindex on; allow 192.168.1.103; deny all; } location ~ \

域名解析缓存

空扰寡人 提交于 2019-12-02 03:38:17
DNS 是域名系统 (Domain Name System) 的缩写,在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。 设置 java.security 文件 目录: %JRE%\lib\security\java.security networkaddress.cache.ttl = value (设为0的话,表示不缓存,设置-1表示永久缓存,正数表示缓存时间(秒)) 如果域名在DNS服务器上不存在,那么客户端在进行一段时间的尝试后(平均为5秒),就会抛出一个UnknownHostException异常。为了让下一次访问这个域名时不再等待,DNS缓存将这个错误信息也保存了起来。也就是说,只有第一次访问错误域名时才进行5次左右的尝试,以后再访问这个域名时将直接抛出UnknownHostException异常,而无需再等待5秒钟, 访问域名失败的原因可能是这个域名真的不存在,也可能是因为DNS服务器或是其他的硬件或软件的临时故障,因此,一般不能将这个域名错误信息一直保留。在Java中可以通过networkaddress.cache.negative.ttl属性设置保留这些信息的时间。这个属性的默认值是10秒。 浏览器

DNS解析过程原理【深入浅出详解】

只愿长相守 提交于 2019-12-02 03:29:00
DNS解析过程原理【深入浅出详解】 2013年06月06日 ⁄ 搜索引擎优化 ⁄ 共 1523字 ⁄ 评论数 3 ⁄ 阅读 401 次 DNS速度优化是网站优化SEO中的一部分,优化DNS解析就必须了解DNS解析原理及过程。 当用户访问我们网站一个网页时,他需要经过以下步骤: 1)找到这个网页的存放服务器; 2)服务器将用户的请求信息接入; 3)服务器通过文件路径(URL)查找用户请求网页; 4)用户将该网页内容下载到自己电脑上。 我们所讲的DNS解析主要是第一个步骤,即让用户通过URL找到文件存放的服务器。 1、为什么要有DNS解析? 让用户电脑和服务器(网页存放电脑)连接起来并不是靠域名进行,网络上计算机之间实现连接是通过每台计算机在网络中拥有的惟一的IP地址来完成的。但IP地址并不便于记忆,这样就需要在用户容易记忆的地址和计算机能够识别的地址之间有一个解析,用户容易记忆的地址就是域名,而DNS服务器便充当了将用户请求的域名“翻译”成相应IP地址以便于计算机之间相互连接的角色。 2、DNS解析原理是什么? DNS解析主要有递归查询,就是在某个DNS服务器缓存中查找不到相应的域名与IP地址对应关系时,自动跳转到到下一步骤通过下一个DNS服务器进行查找。具体可见如下两图: 3、DNS解析过程是什么? DNS解析过程是重点也是难点,下面笨鸟按自己的理解一步步来解释,可能有错误之处

DNS及CDN解析

守給你的承諾、 提交于 2019-12-02 03:26:40
DNS域名解析 域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址。 因特网的域名结构 各级域名由其上一级的域名管理机构管理,而最高的顶级域名则由ICANN进行管理。用这种方法可使每一个域名在整个互联网范围内是唯一的,并且也容易设计出一种查找域名的机制。 因特网域名结构: 域名服务器 域名到IP地址的解析是由分布在因特网上的许多域名服务器程序共同完成的。域名服务器程序在专设的结点上运行,而人们也常把运行域名服务器程序的机器称为域名服务器。 因特网上的DNS服务器也是按照层次安排的。每一个域名服务器只对域名体系中的一部分进行管辖,根据域名服务器所起的作用,可以把域名服务器划分为下面四种不同的类型。 根域名服务器:最高层次的域名服务器,也是最重要的域名服务器。根域名服务器并不直接把待查询的域名直接解析出IP地址,而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询。 顶级域名服务器:负责管理在该顶级域名服务器注册的二级域名。 权限域名服务器:负责一个“区”的域名服务器。 本地域名服务器:离用户最近的DNS,当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。 普通域名的解析过程 当我们在浏览器中输入www.abc.com时,DNS解析将会有将近10个步骤

DNS域名解析过程

穿精又带淫゛_ 提交于 2019-12-02 03:25:19
转:http://www.360doc.com/content/13/0527/17/11253639_288596772.shtml 图1-10是DNS域名解析的主要请求过程实例图。 如图1-10所示,当一个用户在浏览器中输入 www.abc.com 时,DNS解析将会有将近10个步骤,这个过程大体描述如下。 当用户在浏览器中输入域名并按下回车键后,第1步,浏览器会检查缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有,这个解析过程就将结束。浏览器缓存域名也是有限制的,不仅浏览器缓存大小有限制,而且缓存的时间也有限制,通常情况下为几分钟到几小时不等,域名被缓存的时间限制可以通过TTL属性来设置。这个缓存时间太长和太短都不好,如果缓存时间太长,一旦域名被解析到的IP有变化,会导致被客户端缓存的域名无法解析到变化后的IP地址,以致该域名不能正常解析,这段时间内有可能会有一部分用户无法访问网站。如果时间设置太短,会导致用户每次访问网站都要重新解析一次域名。 (点击查看大图)图1-10 DNS域名解析 第2步,如果用户的浏览器缓存中没有,浏览器会查找操作系统缓存中是否有这个域名对应的DNS解析结果。其实操作系统也会有一个域名解析的过程,在Windows中可以通过C:\Windows\System32\drivers\etc\hosts文件来设置

php ob缓存机制

本小妞迷上赌 提交于 2019-12-02 03:07:56
如果开启ob_start(),所有的echo输出都会保存到ob缓存中,可以使用ob系列函数进行操作,如果没有,默认情况下,在程序执行结束,会把缓存中的数据发送给浏览器 ob缓存用到的函数 ob_clean();//清理缓存 ob_start()开启缓存 ob_get_contents()获取缓存当中的内容 ob_end()关闭缓存 ob_end_clean()清空并且关闭缓存 ob_flush() 刷新缓存区 将内容放到程序缓存中、默认实在程序执行完再放到程序缓存当中 flush()将程序缓存内容推送到浏览器上 注意一点; 再一些IE版本当中、只有当接受到的256个字节以后才开始显示该页面,所以必须发送一些额外的空格来让这些浏览器显示页面内容。】 通常情况下 如果不开启ob缓存 只有等待程序执行完成 才将内容放到程序缓存区 再推送到浏览器上面 来源: https://www.cnblogs.com/webcyh/p/11727990.html

dns域名解析

耗尽温柔 提交于 2019-12-02 03:02:16
转自:https://yq.aliyun.com/articles/58967?spm=5176.100244.teamconlist.8.pxqewG 摘要: 移动互联网时代,如何优化你的网络 —— 域名解析篇 阿里云 移动服务 泠茗 域名(Domain Name),是由一串用点分隔的名字组成的互联网上某台计算机或某组计算机的标识,它的目的是为了方便人们更简单便捷地访问互联网上的服务。在实际的系统实现中,域名通过DNS(Domain Nam 移动互联网时代,如何优化你的网络 —— 域名解析篇 阿里云 移动服务 泠茗 域名(Domain Name),是由一串用点分隔的名字组成的互联网上某台计算机或某组计算机的标识,它的目的是为了方便人们更简单便捷地访问互联网上的服务。在实际的系统实现中,域名通过DNS(Domain Name System)系统转化为服务器的IP地址,以方便机器通过IP进行寻址和通信。上述行为,我们称之为域名解析。 作为一次网络通信最前置的环节,域名解析的重要性不言而喻。在传统的基于浏览器的网站访问场景下,域名解析环节由浏览器内核实现,网站开发者无需关心域名解析的细节。But there are always two sides to every coin,一旦域名解析环节发生异常,开发者面对这样的黑盒架构就会显得束手无策,一个很典型的例子即域名劫持问题