HTTP的状态码

ps:昨晚服务器出现严重错误,出现504,老大误以为是新上的负载均衡引起的故障,后经排查是因为统计库日志被写满~

下面是一些常见的状态码:

200 OK 一切正常
301 Moved Permanently 永久性的转移
302 Found 暂时性的转移
400 Bad Request 请求出现语法错误
403 Forbidden 资源不可用
404 Not Found 无法找到指定的资源
500 Internal Server Error 服务器遇到了不可预料的情况
501 Not Implemented 服务器不支持实现请求的功能
504 Gateway Timeout 不能及时的从服务器获得应答<
/pre>
500是大家最不想看见的错误~ 因为错误的可能性很广,不易排查。

说说301 和 302,近日在研究nginx,很多人都说nginx目前不支持.htaccess文件,不支持rewrite。

其实它是支持的,依赖pcre库。

301和302的区别主要在于一个是永久跳转,一个是临时跳转。

为了页面的SEO,应尽量使用301的方式,如果我们把一个地址采用301跳转方式的的话搜索引擎会把老地址的PageRank等信息带到新地址,同时在搜索引擎库中彻底废掉原来的老地址。

例如在本站中,需要把zhourongyu.me, zhourongyu.me等域名自动跳转到www上。

server{
    listen 80;
    server_name *.zhourongyu.me;
    access_log off;
    rewrite ^/(.*)$ http://zhourongyu.me/$1 permanent;
}

那302的跳转一般用在哪呢?
在一些需要临时的功能上的跳转的时候,例如JS的跳转,http的meta跳转会发送302状态码。
另外302一般也会作用与恶意的URL劫持(URL hijacking),~感兴趣可以去研究下!