HTTP Headers 傻瓜教程[译](4)

来源:我想网 时间:2010-01-25 12:48:00 

http响应结构

当浏览器发送了HTTP请求之后,服务器就会通过一个HTTP response来响应这个请求。如果不关心内容,那么这个请求看起来会是这样的:

第一个有价值的信息就是协议。目前服务器都会使用 HTTP/1.x 或者 HTTP/1.1。

接下来一个简短的信息代表状态。代码200意味着我们的请求已经发送成功了,服务器将会返回给我们所请求的文档,在头部信息之后。

我们都见过“404”页面。当我向服务器请求一个不存在的路径时,服务器就用用404来代替200响应我们。

余下的响应内容和HTTP请求相似。这些内容是关于服务器软件的,页面/文件何时被修改过,mime type 等等…

同样,这些头部信息也是可选的。

HTTP状态码

  • 200 用来表示请求成功.

  • 300 来表示重定向.

  • 400 用来表示请求出现问题.

  • 500 用来表示服务器出现问题.

200 成功 (OK)

前文已经提到,200是用来表示请求成功的。

206 部分内容 (Partial Content)

如果一个应用只请求某范围之内的文件,那么就会返回206.

这通常被用来进行下载管理,断点续传或者文件分块下载。

404 没有找到 (Not Found)

很容易理解

401 未经授权 (Unauthorized)

受密码保护的页面会返回这个状态。如果你没有输入正确的密码,那么你就会在浏览器中看到如下的信息:

注意这只是受密码保护页面,请求输入密码的弹出框是下面这个样子的:

403 被禁止(Forbidden)

如果你没有权限访问某个页面,那么就会返回403状态。这种情况通常会发生在你试图打开一个没有index页面的文件夹。如果服务器设置不允许查看目录内容,那么你就会看到403错误。

其它一些一些方式也会发送权限限制,例如你可以通过IP地址进行阻止,这需要一些htaccess的协助。

order allow,deny
deny from 192.168.44.201
deny from 224.39.163.12
deny from 172.16.7.92
allow from all

302(或307)临时移动(Moved Temporarily) 和 301 永久移动(Moved Permanently)

这两个状态会出现在浏览器重定向时。例如,你使用了类似 bit.ly 的网址缩短服务。这也是它们如何获知谁点击了他们链接的方法。

302和301对于浏览器来说是非常相似的,但对于搜索引擎爬虫就有一些差别。打个比方,如果你的网站正在维护,那么你就会将客户端浏览器用302 重定向到另外一个地址。搜索引擎爬虫就会在将来重新索引你的页面。但是如果你使用了301重定向,这就等于你告诉了搜索引擎爬虫:你的网站已经永久的移动 到了新的地址。

500 服务器错误(Internal Server Error)

这个代码通常会在页面脚本崩溃时出现。大部分CGI脚本都不会像PHP那样输出错误信息给浏览器。如果出现了致命的错误,它们只会发送一个500的状态码。这时需要查看服务器错误日志来排错。

完整的列表

你可以在这里找到完整的HTTP 状态码说明。

标签:http,headers,教程
0
投稿

猜你喜欢

  • Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)

    2021-07-28 21:15:04
  • Mysql join连接查询的语法与示例

    2024-01-15 07:34:48
  • Python 实现中值滤波、均值滤波的方法

    2022-05-09 08:58:38
  • 实例代码讲解Python 线程池

    2023-07-19 03:53:04
  • Keepalived+HAProxy实现MySQL高可用负载均衡的配置

    2024-01-18 23:08:52
  • php打包网站并在线压缩为zip

    2024-05-11 09:47:34
  • Python一些线程的玩法总结

    2023-03-13 12:02:18
  • python如何判断IP地址合法性

    2022-12-25 06:09:29
  • 19个ASP编程基础典型代码

    2008-10-23 15:46:00
  • 全面解析Python的While循环语句的使用方法

    2023-12-21 04:41:11
  • Web开发的改良

    2009-06-25 14:34:00
  • js的Prototype属性解释及常用方法

    2024-06-07 16:00:32
  • SQL Server 2012使用Offset/Fetch Next实现分页数据查询

    2024-01-25 03:54:55
  • Python学习笔记之文件的读写操作实例分析

    2023-08-28 04:29:06
  • Python操作mongodb的9个步骤

    2023-03-11 15:37:53
  • Python中的Nonetype类型怎么判断

    2021-06-19 17:33:13
  • Mysql常见bug及解决方案超详细讲解

    2024-01-15 17:20:56
  • js弹出div并显示遮罩层

    2024-02-26 22:00:00
  • 适合各种浏览器的js拖动层

    2007-10-22 22:43:00
  • js获取select标签选中值的两种方式

    2024-04-19 09:50:18
  • asp之家 网络编程 m.aspxhome.com