mvc-10部署
性能
- 提高性能最简单的办法就是减少HTTP的请求数量,每个HTTP请求除了有TCP开销外,还包含大量的头信息;
- 让页面和其资源文件保持较小的体积将减少网络用时,对于互联网上的应用而言,这才是真正的瓶颈;
- 将多个脚本文件合并成一个或是将多个CSS合并成一个样式表能减少HTTP连接数量;如果是后者的话确保文件可以被缓存;
- 使用CSS Sprites技术合并多张小图片,烫后使用background-image和background-position设置图片需要显示的尺寸和偏移量;
- 避免重定向也是减少HTTP请求数量的方法,URL结尾减少斜线是一个最常见的重定向场景;
浏览器如何加载资源
- 为了加速页面渲染,现代浏览器会并行下载所需的资源;但是,在所有样式表和脚本现在完成之前,页面是不会开始渲染的;
- 可以通过设置
defer
属性来告诉浏览器脚本要在渲染页面之后执行;
<script src="foo.js" type="text/javascript" defer></script>
- 同时html5中还引入了
async
属性,最适合在没有任何依赖的脚本中使用;
缓存
- 对于所有静态资源(脚本,样式表,图片等)都应该设置
Expires
头,设置一个较远的实效日期; - 可以在引用资源文件的URL查询参数中添加修改事件,在资源更新后,清除原来的缓存并替换;
<link rel="stylesheet" href="master.css?1296085785" type="text/css"/>
- HTTP1.1引入Cache-Control弥补Expires缓存上的不足;
Cache-Control: max-age=3600, must-revalidate
- max-age: 以秒为单位,制定资源的最大有效事件;和
Expires
不同的是,该指令是相对于该请求的时间 - public: 标记资源是可被缓存的;默认情况下,通过SSL或使用HTTP认真后访问的资源,缓存是关闭的;
- no-store:完全关闭缓存,动态内容才会更多地使用这个选项;
- must-revalidate:告诉缓存它们必须遵守任何你给定地信息,并基于这些信息来判断资源地新旧程度;
- max-age: 以秒为单位,制定资源的最大有效事件;和
//简单设置
<meta http-equiv="Cache-control" content="public">
- 给提供服务地资源添加Last-Modified头信息也有助于缓存;
- 浏览器在对资源后续地请求中,就能制定If-Modified-Since头信息,这是一个时间戳。
- 如果该资源在最后一次访问之后未被修改,服务只返回304状态码(未修改);
- 浏览器仍然可以请求,当服务器却不一定在响应中返回该资源地内容而节省网络时间;
源码压缩
包括脚本,样式表,html文件等; 脚本文件可以尝试YUI Compressor,它不仅会压缩脚本,还会替换变量
注意对带有中文地js文件,还需要做Unicode
转码
Gzip压缩
- 在HTTP1.1开始支持;WEB客户端通过在发送请求时增加
Accept-Encoding
头信息来标识自己支持地压缩方式
Accept-Encoding: gzip, deflate
- 如果服务器看到该头信息并且支持列出地压缩方式,它将会对响应结果进行压缩,并通过
Content-Encoding
头信息标识其压缩方式;
Content-Encoding:gzip
- 然后浏览器才能正确地解码;一条不错地经验就是压缩任何文本类型地响应;
- 配置Gzip依赖于web服务器;
使用CDN
- CDN:内容发布网络为站点提供亭台资源内容服务以减少加载时间;
- CDN将你的那天部署在跨越多个地理位置地服务器上,故当用户发起一个请求时,可从就近地地服务器得到响应资源;
- google为很多开源地js库提供了免费的CDN服务;使用它的好处是用户很有可能已经缓存了该js文件;
加载CDN
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
上面的例子中没有指定请求协议,只用//;这样可以使得获取脚本文件时,可以使用和宿主页面一样的协议;
mvc-10部署的更多相关文章
- 返璞归真 asp.net mvc (10) - asp.net mvc 4.0 新特性之 Web API
原文:返璞归真 asp.net mvc (10) - asp.net mvc 4.0 新特性之 Web API [索引页][源码下载] 返璞归真 asp.net mvc (10) - asp.net ...
- .net core mvc项目部署nginx报错一直显示404错误
遇到一个奇怪的问题,.net core mvc 项目部署到nginx上面,系统是linux,controller明明抛出500错误,但页面一直显示是404. 解决如下: 1.修改Startup.cs, ...
- Linux学习日记-MVC的部署(三)
一.Mvc与wcf 相对WCF的部署MVC还是有点麻烦,我们要考虑哪些dll是不需要的,哪些是要拷贝到本地的. 而WCF因为有些配置文件不支持,我们只需要在配置wcf时不使用配置文件而直接使用代码就行 ...
- MVC 网站部署常见问题汇总
一:TGIShare项目是一个MVC5的网站程序,部署在了IIS上,使用的Windows验证方式,并在本机设置了计划任务定时调用某个地址执行命令.问题汇总如下: 1.Window Server 200 ...
- MVC程序部署后页面指向login.aspx
MVC程序在本地没有问题,但是部署到服务器后老是跳转到Login.aspx页面,但是我的MVC程序中根本没有Login页面,看了一下链接是这样的 htttp://localhost:26290/log ...
- Win10+VS2015+EF6.0+MySQL5.6+MVC环境部署和排错
本来已经好几个月不弄专业了,今天一哥们问我问题的时候重新捣鼓了一下,就做个文档供后来人参考吧~ 1.首先安装MySQL 5.6 安装很简单我就不说了,你参考下:http://jingyan.baidu ...
- ASP.NET MVC 4 部署到 Windows Azure 如何轉換時區設定
由於公司慢慢地開始將新的專案都移往 Windows Azure 雲端平台做網站代管,漸漸地也開始遇到一些小問題,這些問題在還沒上雲端之前通常不會發生,像我們這次遇到的問題就跟顯示時間有關.由於 Win ...
- .net mvc 发布部署到机器上
这样会自动在C:\Inetpub\wwwroot 会出现这个文件夹. 上述步骤都是在安装了 VS2010.MVC3.0和的电脑上操作的 接下来进行服务器的部署 :1. 安装Microsoft .net ...
- 高可用Kubernetes集群-10. 部署kube-proxy
十二.部署kube-proxy 1. 创建kube-proxy证书 1)创建kube-proxy证书签名请求 # kube-proxy提取CN作为客户端的用户名,即system:kube-proxy. ...
- ASP.NET Core 2.0 MVC 发布部署--------- ASP.NET Core 发布的具体操作
ASP.NET Core 发布的具体操作 下面使用C# 编写的ASP.NET Core Web项目示例说明发布的全过程. 1.创建项目 选择“文件” > “新建” > “项目”. 在“添加 ...
随机推荐
- js验证手机号
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- 【Bochs 官方手册翻译】 第一章 Bochs介绍
Bochs 是一个可以完全模拟 Intel x86 计算机的虚拟机系统.它包含了 Intel x86 CPU 仿真.常见设备仿真.以及定制 BIOS.Bochs 可以虚拟多种不同类型的 x86 CPU ...
- SQL如何本地数据库连接服务器的数据库
当我们本地数据库的数据作为测试的时候,需要服务器上的数据,但是每次都远程服务器打开数据库查看数据是很麻烦的,那么我们如何让本地的数据库连接服务器上的数据库.前提是你本地的数据库的版本必须和服务器上的数 ...
- mysql探究之null与not null
相信很多用了mysql很久的人,对这两个字段属性的概念还不是很清楚,一般会有以下疑问: 1.我字段类型是not null,为什么我可以插入空值 2.为毛not null的效率比null高 3.判断字段 ...
- iOS MD5加密
1.MD5加密 Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护.该算法的文件号为RFC 1321 ...
- UIView和CALayer的区别
CALayer属于Core Animation部分的内容,比较重要而不太好理解.以下是园子中看到的一篇文章的摘录: 以下摘自<<核心动画编程指南>>: 两者最大的区别是,图层不 ...
- 模拟赛1101d2
幸运数字(number)Time Limit:1000ms Memory Limit:64MB题目描述LYK 最近运气很差,例如在 NOIP 初赛中仅仅考了 90 分,刚刚卡进复赛,于是它决定使用一些 ...
- 关于KVC、KVO
KVC/KVO --------------------KVC--键值编码-------------------作用:通过字符串来描述对象的属性间接修改对象的属性 Student *stu=[[Stu ...
- windows重新获取IP
win+r------->cmd------>ipconfig /release (释放ip) ipconfig /renew 重新获取ip
- Jquery.Datatables dom表格定位
Datatables会添加一些控制元素在表格的周围,比如默认状态下改变每页显示条数(l)的空间在左上角,即使搜索框(f)在右上角,表格的信息(i)显示在左下角,分页控件(p)显示在右下角. 这些控件在 ...