互联网项目总结

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

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

        1.1更加注重体验

        1.2更加注重性能

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

         2.有关互联网的小知识

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

         132425_zPDF_2474041.png

        服务器的配置:带宽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标签

        131205_ZZfP_2474041.png

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

        131431_MxZ4_2474041.png

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

      131627_i4AM_2474041.png

      校验出错则抛出异常

      131857_JkYd_2474041.png

 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

转载于:https://my.oschina.net/u/2474041/blog/693165

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值