互联网项目总结

        从去年年末开始专门被分配到互联网小组作项目,一直想作个总结,可是苦于太贪玩。好吧,借着小组技术交流来一发。这里只对本身新学习的技术或者一些小技巧作简要概述,不作深究。css

        1.互联网项目和普通内网项目有什么区别?html

        1.1更加注重体验nginx

        1.2更加注重性能ajax

        1.3安全性(不能相信用户)redis

         2.有关互联网的小知识spring

        2.1具体案例: 在咱们微信版上线前,咱们获得了一个结论,那就是咱们的微信页面访问速度很慢,那么针对这个问题该如何进行优化呢?chrome

         

        服务器的配置:带宽1m,cpu1ghz,内存1g数据库

       2.1.1直接了当增长带宽(增到4M)浏览器

       2.1.2压缩js、css尽可能合并成一个减小浏览器链接数(节省带宽)缓存

       2.1.3对一些工具类采用外部的cdn加速(至关于向别的地方加载数据,使用别人的带宽)

       2.1.4页面加载慢最大缘由是在图片,因此咱们能够把图片也作cdn加速(咱们这里采用的是七牛)

       2.1.5使用nginx将页面静态化

       2.2防止xss跨站脚本攻击

       2.2.1什么是xss攻击?

        小例子:http://www.cnblogs.com/dolphinX/p/3391351.html

       2.2.2录入时使用dto进行校验

         controller先接收ProjectBase对象,添加@Valid标签

        

        dto对象,添加自定义注解@XssValid(主要功能就检查是否有脚本注入)

        

       校验结果会反馈给BindingResult对象, 配置aop获取校验结果

      

      校验出错则抛出异常

     

 2.2.3输出时使用${fn:escapeXml(userInput)}  ,将特殊字符转化为字符串

2.3简单的seo优化

        代码精简、网页静态化(不能全都ajax)、网站内容连接、网站结构(div+css)、网站头部标签优化(标题,关键字)

2.4标签加上 

      <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">使用最高版本的ie内核

2.5获取数据用get(效率高),提交数据用post(传输量大,更安全)

       2.5.1多数浏览器对于POST采用两阶段发送数据的,先发送请求头,再发送请求体,即便参数再少再短,也会被分红两个步骤

       来发送(相对于GET),也就是第一步发送header数据,第二步再发送body部分。HTTP是应用层的协议,而在传输层有些

       状况TCP会出现两次连结的过程,HTTP协议自己不保存状态信息,一次请求一次响应。对于TCP而言,通讯次数越多反而

       靠性越低,能在一次连结中传输完须要的消息是最可靠的,尽可能使用GET请求来减小网络耗时。若是通讯时间增长,这段时

      间客户端与服务器端一直保持链接状态,在服务器侧负载可能会增长,可靠性会降低。


      2.5.2 GET请求可以被cache,GET请求可以被保存在浏览器的浏览历史里面(密码等重要数据GET提交,别人查看历史记录,

     就能够直接看到这些私密数据)POST不进行缓存。


     2.5.3 GET参数是带在URL后面,传统IE中URL的最大可用长度为2048字符,其余浏览器对URL长度限制实现上有所不一样。

     POST请求无长度限制(目前理论上是这样的)。


    2.5.4 GET提交的数据大小,不一样浏览器的限制不一样,通常在2k-8K之间,POST提交数据比较大,大小靠服务器的设定值限制。


    2.5.5 所有用POST不是十分合理,最好先把请求按功能和场景分下类,对数据请求频繁,数据不敏感且数据量在普通浏览器最

     小限定的2k范围内,这样的状况使用GET。其余地方使用POST。

3.redis的尝试

          3.1 redis是什么呢?

          简介:  Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的
日志型、Key-Value数据库,并提供多种语言的API。SET操做每秒钟 110000 次,GET操做每秒钟 
81000 次。

          3.2 怎么用?

          强大的spring已经对redis进行了整合。

            1.作缓存。

            2.管理session。

          具体能够看看http://www.tuicool.com/articles/7Bni6f

          经常使用命令可参考:http://hello-nick-xu.iteye.com/blog/2076031

相关文章
相关标签/搜索