计算机网络相关知识
计算机网络的知识还是非常重要的, 这里做一个简单的总结。
推荐阅读文章:http://www.cnblogs.com/TankXiao/archive/2012/02/13/2342672.html
参考文章:http://kb.cnblogs.com/page/168720/
第一部分:http状态码详解
一. http状态码是什么,作用?
作用: web服务器告诉客户端,发生了什么事情。
二、http状态码的分类是怎么样的?
状态码一般分为5类:
比如我们常见的 200 ok, 表示请求成功; 又如我们常见的404 not found ,即客户端错误,请求的资源不存在。
tips: 比如我们得到了一个状态码 100 ,不知道具体是什么意思, 但是只要我们确定了它在 1XX范围即可,就是信息提示作用。
三、常见的状态码有哪些? && 我们必须要记住的状态码有哪些?
一般人只需要了解下面几种状态码即可,因为下面的这几种状态码都是最常见的。
即一般情况下的网页都是200 ok,而如果我们请求的资源更改了URL,就会提示301或者是302,404也是最常见的状态码。
下面的几个部分我们主要按照之前的分类来讲解状态码:
四:1XX 信息提示状态码
1XX类型的状态码主要是在 http 1.1 中引入的,至今我还没在实际中见过这些状态码,不知道存在的意义是什么,知道 1XX状态码是信息提示作用就ok啦!
五: 2XX成功的状态码
2XX类型的状态码一般是表示请求成功的,见过最多的就是其中的200 ok 了。
其中,我们还应该注意 200 ok 202 请求已经接收,但是服务器尚未处理 204 没有内容 以及 206 部分请求成功。
六. 3XX重定向状态码
重定向状态码用来告诉浏览器客户端,它们访问的资源已被移动, Web服务器发送一个重定向状态码和一个可选的Location Header, 告诉客户端新的资源地址在哪。
值得注意的是,浏览器这时候会重新发送在Location中的url来请求资源,只是对于用户来说是透明的。
301 和 302 非常类似,只是一个是临时转移,一个是暂时转移。
这一部分中,最重要的还是 302 和 304 了, 304表示使用缓存。
七. 4XX客户端错误
有时候客户端会发送一些服务器无法处理的东西,比如错误格式的Request,或者最常见的是: 我们请求了一个并不存在的url,就会导致4XX客户端错误,当然其中最重要的还是404 not found。
在下面的一些状态码中,我们需要格外注意: 400 Bad Request 错误的请求 。 403 Forbidden 即请求被服务器端禁止。 404 not found 资源没有找到。
八. 5XX服务器端错误
有时候客户端发送了一个正确的Request,但是web服务器可能挂了,或者暂时不能运行,这时就会报告5XX错误,也就是说5XX错误是用来描述服务器端错误的。
第二部分: 首部字段
via
表示某个资源的获取通过了哪些代理服务器, 如某张图片的via: cache27.l2nu29[0,304-0,H], cache42.l2nu29[0,0], kunlun7.cn44[0,200-0,H], kunlun10.cn44[2,0] 可以看到,这张图片的获取通过了4个代理服务器。
http首部字段很多,并且它是可以扩展的,除了我们知道的很多标准的http首部字段,还有一些是web服务器和浏览器应用上,出现的各种非标准的首部字段,接下来,我们就对一些比较常用的首部字段进行说明:
- X-Frame-Options
- X-XSS-Protection
- DNT
- P3P
X-Frame-Options
首部字段X-Frame-Options属于HTTP响应首部,用于控制网站内容在其他的web网站的Frame标签中的显示问题。其主要的目的是为了防止点击劫持(clickjacking)攻击。
首部字段X-Frame-Options的值可以是下面的两个:
- DENY 拒绝
- SAMEORIGIN 仅仅是同源域名下的页面匹配时许可。 比如 http://hackr.p/sample.html 页面为 SAMEORIGIN 时, 那么hackr.p上的所有的页面的frame都是可以加载这个sample.html的,但是example.com等其他域名的页面就不行了。
X-XSS-Protection
这个字段的值可以是0或者1. 它属于http响应首部,它是针对跨站脚本攻击的一种对策,用于控制浏览器XSS防护机制的开关。
该首部指定的字段值如下所示:
- 0 将xss过滤设置为无效状态。
- 1 将xss过滤设置为有效装填。
DNT
首部字段DNT属于http请求首部,其中DNT市值Do Not Track 的简称,意思就是决绝个人信息被收集, 是表示拒绝被精准广告追踪的一种方法。DNT首部字段可以设置如下;
- 0 同意被追踪
- 1 不同意被追踪