zoukankan      html  css  js  c++  java
  • ajax请求常见状态码以及产生的原因

    通常前后端使用ajax交互时,客户端向服务器发送请求时,然后服务器向我们返回状态码。状态码就是告诉我们服务器响应的状态,由3位数字组成,其中第一位数字表示响应类别,响应类别从1到5分为五种 。

    状态码响应类别原因
    1xx 信息性状态码(Informational) 服务器正在处理请求
    2xx 成功状态码(Success) 请求已正常处理完毕
    3xx 重定向状态码(Redirection) 需要进行额外操作以完成请求
    4xx 客户端错误状态码(Client Error) 客户端原因导致服务器无法处理请求
    5xx 服务端状态码(Server Error) 服务器原因导致处理请求出错

    2XX 成功

    200 OK

    表示请求被服务器正常处理 ,最常见的就是这个

    204 No Content

    表示请求已成功处理,但是没有内容返回
    也就是返回的响应报文中没有报文实体
    一般用在只是客户端向服务器发送信息,而服务器不用向客户端返回什么信息的情况

    3XX 重定向

    301 Moved Permanently

    永久重定向,表示请求的资源已经永久的搬到了其他位置 ,资源已经被分配了新的URI

    302 Found

    临时重定向,表示请求的资源临时搬到了其他位置 ,请求的资源暂时被配到到了新的URI,和301很像,只不过资源是临时移动

    303 See Other

    表示请求资源存在另一个URI,应使用GET定向获取请求资源
    303功能与302一样,区别只是303明确客户端应该使用GET访问

    304 Not Modified

    表示客户端自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。
    304通常在IE浏览器下多次请求同一个地址出现的。
    场景:删除表格其中一条数据后重新请求列表数据渲染表格,第二次请求时状态码是304导致被删除的数据还是出现在前端。
    原因:IE浏览器下同一地址的ajax请求优先读取本地缓存数据
    解决方法:在请求地址后面加上时间戳,保证每次请求的地址都不一样,这样浏览器就无法读取缓存。

    4XX 客户端错误

    400 Bad Request

    表示请求报文存在语法错误或参数错误,服务器不理解 ,需要修改请求内容后再次发送

    401 Unauthorized

    表示发送的请求需要有HTTP认证信息或者是认证失败了
    返回401的响应必须包含一个适用于被请求资源的WWW-Authenticate首部以质询用户信息

    403 Forbidden

    表示对请求资源的访问被服务器拒绝了,通常是没有权限或者跨域

    404 Not Found

    表示服务器找不到请求的资源

    405 方法不被允许 (Method not allowed)

    表示请示方式不对,注意检查method,比如后端定义post请求方式而我们用了get,delete,put,path等方式均报错。

    5XX 服务器错误

    500 Internal Server Error

    表示服务器执行请求的时候出错了。


    503 Service Unavailable

    表示服务器超负载或正停机维护,无法处理请求

  • 相关阅读:
    细说 ASP.NET Cache 及其高级用法【转】
    类变量和实例变量的区别是什么?
    【转】细说Cookie
    【转】细说 Form (表单)
    PHP API中,MYSQL与MYSQLI的持久连接区别
    Extending_and_embedding_php翻译
    linux常见面试题及答案
    手机辐射查询
    php5.3 PHP5.4 PHP5.5 新特性/使用PHP5.5要注意的
    sqoop安装遇到的问题
  • 原文地址:https://www.cnblogs.com/smile6542/p/11969936.html
Copyright © 2011-2022 走看看