计算机网络相关知识(http状态码 && 首部字段)

计算机网络相关知识

  计算机网络的知识还是非常重要的, 这里做一个简单的总结。

  推荐阅读文章: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 不同意被追踪

  

  

原文地址:https://www.cnblogs.com/zhuzhenwei918/p/6533822.html