Http协议详解

2014/09/13 | 星期六 分类:建站优化 | 没有评论 标签: , | 作者: | 958 views

什么是HTTP协议?这真是一个大学问,相信有很大一拨人从事互联网开发多年,虽然知道是怎么回事,但一问起其原理,概念都会懵了,俺就是其中一个,故特地查看写资料,收集了此篇文章,作为知识储备:

HTTP协议(HyperText Transfer Protocol,超文本传输协议)从WWW服务器传输超文本到本地浏览器的传送协议。
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。

HTTP的定义和历史
在网络中,传输数据需要面临的几个问题:
1.客户端如何知道所求内容的位置?统一资源定位符(Uniform Resource Locator,缩写为URL)
2.当客户端知道所求内容位置后,将如何获取所求内容?超文本传输协议(HTTP)
3.所求内容以何种形式组织以便被客户端识别?超文本标记语言(HTML)

HTTP版本:HTTP0.9 HTTP1.0 HTTP1.1

HTTP协议的主要特点可概括如下:
1、支持客户/服务器模式。
2、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
4、HTTP 0.9和1.0使用非持续连接:限制每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
HTTP 1.1使用持续连接:不必为每个web对象创建一个新的连接,一个连接可以传送多个对象。
5、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。
阅读全文

减少HTTP请求-前端优化一

2014/09/10 | 星期三 分类:建站优化 | 没有评论 标签: , | 作者: | 1,022 views

关于前端性能优化的问题,分几篇讲解,对于难理解将另写Blog,后续不断加链接更新

前端优化军规,罗列如下:
1.减少HTTP请求
2.正确理解重绘Repaint 和 重排Reflow
3.减少对DOM的操作
4.使用JSON格式来进行数据交换
5.高效使用HTML标签和CSS样式 
6.使用CDN加速(算是前端一种).
7.将CSS和JS放到外部文件中引用,CSS放头,JS放尾;
8.精简CSS和JS文件(文件压缩)
9.图片优化,压缩图片和使用图片Sprite技术
10.注意控制Cookie大小和污染
11.使得 Ajax 可缓存 (Make Ajax Cacheable)
12.延迟载入组件 (Post-load Components)
13.预载入组件 (Preload Components)
14.避免重定向 (Avoid Redirects)
15.杜绝 http 404 错误
16.最小化 iframe 的数量 (Minimize the Number of iframes)

标注:
11.响应时间对 Ajax 来说至关重要,否则用户体验绝对好不到哪里去。提高响应时间的有效手段就是 Cache 。其它的一些优化规则对这一条也是有效的。
12.13 这两条属于异步这个思想灵活运用。
14.不是绝对的避免,尽量减少。另外,应该注意一些不必要的重定向。比如对 Web 站点子目录的后面添加个 / (Slash) ,就能有效避免一次重定向。http://www.seedpaddy.com/blog 与 http://www.dbanotes.net/blog/ 二者之间是有差异的。如果是 Apache 服务器,通过配置 Alias 或mod_rewrite 或是 DirectorySlash 能够消除这个问题。
15.对页面链接的充分测试加上对 Web 服务器 error 日志的不断跟踪能有效减少 404 错误,亦能提升用户体验。值得一提的是,CSS 与 Java Script 引起的 404 错误因为定位稍稍”难”一点而往往容易被忽略。
16.熟悉 SEO 的朋友知道 iframe 是 SEO 的大忌。针对前端优化来说 iframe 有其好处,也有其弊端,请一分为二看此问题。.

前端优化之一 减少HTTP请求:

在浏览器(客户端)和服务器发生通信时,就已经消耗了大量的时间,尤其是在网络情况比较糟糕的时候,这个问题尤其的突出。
阅读全文