web开发Java知识点大全程序员

浅谈CDN、SEO、XSS、CSRF

2018-03-03  本文已影响135人  Java3y

CDN

什么是CDN

初学Web开发的时候,多多少少都会听过这个名词->CDN。

CDN在我没接触之前,它给我的印象是用来优化网络请求的,我第一次用到CDN的时候是在找JS文件时。当时找不到相对应的JS文件下载地址(之前一般我都是把JS下载下来,然后在项目中引用的。PS:当然了,我觉得大部分初学者都一样)

找着找着发现了这个网站:http://www.bootcdn.cn/,发现它这个搜索引擎收录了很多的JS文件,直接在项目中引入它的地址就行了!

后来,在购买服务器的时候也发现了广告:CDN加速之类的...

当时觉得还没用到,就不管它了。

今天,在整理笔记的时候又看到了CDN这个名词了,于是决定去好好学习一番。

那么我讲了一大堆,CDN到底是什么?

CDN的全称是Content Delivery Network,即内容分发网络

为什么要使用CDN?

从我上面的经历而言,CDN肯定是能够加快我们的访问网站的速度的(因为有CDN服务器卖),那JS引入绝对的路径和我们自己下载下来,使用相对路径引入有什么区别呢???

在我们的应用中,我们一般采用:应用服务器和资源服务器进行分离的方式

CDN主要用于存储JS、CSS文件,能够加快我们获取JS、CSS的内容

参考资料:

SEO

什么是SEO

SEO(search engine optimization 搜索引擎优化)
SEM(search engine marketing 搜索引擎营销)
SEM包括搜索引擎优化(SEO)、付费排名、精准广告以及付费收录,SEM包括SEO和竞价,SEO也是SEM的一种方式。
SEM要钱的(简单理解:百度的广告就是SEM)、SEO不用钱的(自己配置提高搜索引擎的权重)

SEO是一种技术,主要是用于提高网站浏览量而做的优化手段

为什么需要SEO?

我们搜一下Java微信公众号:

image

发现排名是有先后的,博客园、CSDN都是靠前的。可是平台那么多,还有开源中国啊、简书啊等等平台为啥就排不到前面呢?就是SEO没有博客园、CSDN做得好

想要提高在搜索引擎的权重(自己的网站排得更前)就需要学习SEO。

提高权重的方法

那么提高在搜索引擎的权重有什么办法的呢??可以看下面的图:

image

当然了,跟我们编写的代码质量也是有很大的关系的:

A、title标题:强调重点
B、meta keywords关键词:列举几个关键词
C、meta description网页描述:高度概括网页的内容
以上信息不要堆积、重复

语义话代码(HTML 标签有自己的意义,在适当的位置用适当的标签):

有利搜索引擎:

页面结构:

image

参考资料:

XSS

什么是XSS?

跨站脚本(cross site script)为了避免与样式css混淆,所以简称为XSS。

XSS是一种经常出现在web应用中的计算机安全漏洞,也是web中最主流的攻击方式。那么什么是XSS呢?

XSS跟SQL注入是类似的,它攻击有两种方式:

image image

XSS攻击的危害是很大的,注入script可以执行任何的JS代码(意味着可以获取cookie等信息了),注入style可以把页面全部弄崩

防范XSS攻击

最重要的是:不要相信客户端发送过来的任何数据!

防范XSS攻击可简单分成三个步骤:

image image image image

参考资料:

CSRF

什么是CSRF

CSRF的全名为Cross-site request forgery,它的中文名为 跨站请求伪造(伪造跨站请求【这样读顺口一点】)
CSRF是一种夹持用户在已经登陆的web应用程序上执行非本意的操作的攻击方式。相比于XSS,CSRF是利用了系统对页面浏览器的信任,XSS则利用了系统对用户的信任。
CSRF攻击是源于Web的隐式身份验证机制!Web的身份验证机制虽然可以保证一个请求是来自于某个用户的浏览器,但却无法保证该请求是用户批准发送的

来源:http://www.cnblogs.com/phpstudy2015-6/p/6771239.html

防御CSRF攻击

抵御CSRF攻击的关键在于:在请求中放入攻击者所不能伪造的信息,并且该信息不存在于Cookie之中

那么我们在提交表单时添加一个token并验证就行了,很简单

参考资料:


如果文章有错的地方欢迎指正,大家互相交流。习惯在微信看技术文章,想要获取更多的Java资源的同学,可以关注微信公众号:Java3y

上一篇下一篇

猜你喜欢

热点阅读