精华内容
下载资源
问答
  • Http响应码分类汇总

    2021-05-26 22:35:44
    1. 响应码分类:1xx 响应码规范:RFC6585 (2012.4)、RFC7231 (2014.6) 1xx:请求已接收到,需要进一步处理才能完成,HTTP1.0 不支持 header 1 header 2 header 3 header 4 100 Continue继续 上传大文件...

    1. 响应码分类:1xx

    响应码规范:RFC6585 (2012.4)、RFC7231 (2014.6)

    1xx 类状态码属于提示信息,是协议处理中的一种中间状态(请求已接收到,需要进一步处理才能完成),实际用到的比较少,HTTP1.0 不支持

    header 1header 2header 3header 4
    100Continue
    继续
    上传大文件前使用由客户端发起请求中携带 Expect: 100-continue 头部触发请求者应当继续
    提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分
    101Switch Protocols
    切换协议
    协议升级使用由客户端发起请求中携带 Upgrade: 头部触发,如升级 websocket 或者
    http/2.0 请求者已要求服务器切换协议,服务器已确认并准备切换
    102ProcessingWebDAV 请求可能包含许多涉及
    文件操作的子请求,需要很长
    时间才能完成请求。
    该代码表示服务器已经收到并正在处理请求,但无响应可用。这样可以防止
    客户端超时,并假设请求丢失

    2 响应码分类: 2xx

    2xx 类状态码表示服务器成功处理了客户端的请求

    header 1header 2header 3
    200OK(成功)服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。
    如果是非 HEAD 请求,服务器返回的响应头都会有 body 数据。
    表示 Googlebot 已成功检索到该文件
    201Created(已创建)请求成功并且有新资源在服务器端被成功创建
    (wireshark中过滤:http.response.code==201)
    202Accepted(已接受)服务器接收并开始处理请求,但请求尚未处理完成。这样一个模糊的概念是有意如此设计,
    可以覆盖更多的场景。例如异步、需要长时间处理的任务
    203Non-Authoritative Information
    非授权信息
    服务器已成功处理了请求,但返回的信息可能来自另一来源
    当代理服务器修改了 origin server 的 原始响应包体时(例如更换了HTML中的元素值),
    代理服务器可以修改 200为203的方式告知客户端这一事实,
    方便客户端为这一行为作出相应的处理。 203响应可以被缓存
    204No Content无内容服务器成功处理了请求,但没有返回任何内容,即成功执行了请求且不携带响应包体,
    并暗示客户端无需更新当前的页面视图,常见于我们用put、post等方法上传一些资源,
    返回的响应不需要刷新当前的UI
    205Reset Content重置内容服务器成功处理了请求,但没有返回任何内容。与 204 响应不同,此响应要求请求者重置
    文档视图(例如,清除表单内容以输入新内容)成功执行了请求且不携带响应包体,同时指明客户端需要更新当前页面视图
    206Partial Content部分内容服务器成功处理了部分 GET 请求。是应用于 HTTP 分块下载或断点续传,
    表示响应返回的 body 数据并不是资源的全部,而是其中的一部分,
    使用 range 协议时返回部分响应内容时的响应码
    207Multi-StatusRFC4918 ,在 WEBDAV 协议中以 XML 返回多个资源的状态。
    (wireshark中过滤:http.response.code==207)
    208Already ReportedRFC5842 ,为避免相同集合下资源在207响应码下重复上报,使用 208 可以使用父集合的响应码

    3 响应码分类: 3xx

    3xx 类状态码表示客户端请求的资源发送了变动,需要客户端用新的 URL 􏰀新发送请求获取资源,也就是重定向。

    3xx:重定向使用 Location 指向的资源或者缓存中的资源。在 RFC2068 中规定客户端重定向次数不应超过 5 次,以防止死循环。
    要完成请求,需要进一步操作。通常,这些状态码用来重定向。

    Google 建议您在每次请求中使用重定向不要超过 5 次。您可以使用网站管理员工具查看一下 Googlebot 在抓取重定向网页时是否遇到问题。诊断下的网络抓取页列出了由于重定向错误导致 Googlebot 无法抓取的网址。

    header 1header 2header 3
    300Multiple Choices
    多种选择
    针对请求,服务器可执行多种操作。服务器可根据请求者 (user agent) 选择一项操作,
    或提供操作列表供请求者选择。
    资源有多种表述,通过 300 返回给客户端后由其自行选择访问哪一种表述。
    由于缺乏明确的细节,300 很少使用
    301Moved Permanently
    永久移动
    资源永久性的重定向到另一个 URI 中,在响应报文中使用首部“Location:URL”指定资源现在所在的位置
    请求的网页已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,
    会自动将请求者转到新位置。您应使用此代码告诉 Googlebot 某个网页或网站已永久移动到新位置。
    302Found
    临时移动
    资源临时的重定向到另一个 URI 中,在响应报文中使用首部“Location:URL”指定临时资源位置
    服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置
    来响应以后的请求。此代码与响应 GET 和 HEAD 请求的 301 代码类似,会自动将请求者
    转到不同的位置,但您不应使用此代码来告诉 Googlebot 某个网页或网站已经移动,
    因为 Googlebot 会继续抓取原有位置并编制索引。
    303See Other
    查看其它位置
    请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。对于除
    HEAD 之外的所有请求,服务器会自动转到其他位置。重定向到其他资源,常
    用于 POST/PUT 等方法的响应中
    304Not Modified
    资源未修改
    资源未修改,当客户端拥有可能过期的缓存时,会携带缓存的标识 etag、时间等信息询问
    服务器缓存是否仍可复用,而304是告诉客户端可以复用缓存
    自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。
    如果网页自请求者上次请求后再也没有更改过,您应将服务器配置为返回此响应
    (称为 If-Modified-Since HTTP 标头)。服务器可以告诉 Googlebot 自从上次抓取后网页没有变更,
    进而节省带宽和开销。
    305使用代理被请求的资源必须通过指定的代理才能被访问请求者只能使用代理访问请求的网页。
    如果服务器返回此响应,还表示请求者应使用代理。
    307Temporary Redirect
    临时重定向
    服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来响应以后的请求。
    此代码与响应 GET 和 HEAD 请求的 <a href=answer.py?answer=>301 代码类似,
    会自动将请求者转到不同的位置,但您不应使用此代码来告诉 Googlebot
    某个页面或网站已经移动,因为 Googlebot 会继续抓取原有位置并编制索引。
    被请求的资源在临时从不同的URL响应请求,类似302,但明确重定向后请求方法必须与原请求方法相同,不得改变
    308Permanent Redirect类似301,但明确重定向后请求方法必须与原请 求方法相同,不得改变

    302 和 307 的区别:

    302重定向请求方向一定是GET,与源请求无关;307使用源请求使用的method,而且会携带源请求的body作为重定向请求的包体。

    301 和 302 都是重定向,到底该用哪个,这里需要注意一下 301 和 302 的区别

    • 301,代表 永久重定向,也就是说第一次请求拿到长链接后,下次浏览器再去请求短链的话,不会向短网址服务器请求了,而是直接从浏览器的缓存里拿,这样在 server 层面就无法获取到短网址的点击数了,如果这个链接刚好是某个活动的链接,也就无法分析此活动的效果。所以我们一般不采用 301。

    • 302,代表 临时重定向,也就是说每次去请求短链都会去请求短网址服务器(除非响应中用 Cache-Control 或 Expired 暗示浏览器缓存),这样就便于 server 统计点击数,所以虽然用 302 会给 server 增加一点压力,但在数据异常重要的今天,这点代码是值得的,所以推荐使用 302!

    4 响应码分类: 4xx

    4xx 类状态码表示客户端发送的报文有误,服务器无法处理,也就是错误码的含义。

    header 1header 2header 3
    400Bad Request
    错误请求
    服务器不理解请求的语法服务器认为客户端出现了错误,但不能明确判断为以下哪种错误
    时使用此错误码。是一个笼统的概念,例如HTTP请求格式错误
    401Unauthorized
    未授权
    请求要求身份验证。对于登录后请求的网页,服务器可能返回此响应。用户认证信息缺失或
    者不正确,导致服务器无法处理请求
    402需要付款该状态码是为了将来可能的需求而预留的,用于一些数字货币或者是微支付
    403Forbidden
    禁止
    服务器理解请求的含义,但没有权限(或拒绝)执行此请求,并不是客户端的请求出错
    404Not Found
    未找到
    服务器没有找到对应的资源,请求失败,资源不存在服务器找不到请求的网页。
    例如,对于服务器上不存在的网页经常会返回此代码。
    405Method Not Allowed
    方法禁用
    禁用请求中指定的方法。服务器不支持请求行中的 method 方法
    curl www.sina.com.cn -X TRACE -I
    406Not Acceptable
    不接收
    请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体对客户端指定
    的资源表述不存在(例如对语言或者编码有要求),服务器返回表述列表供客户端选择
    407Proxy Authentication Required
    需要代理授权
    此状态码与 <a href=answer.py?answer=35128>401(未授权)类似,但指定请求者
    应当授权使用代理。如果服务器返回此响应,还表示请求者应当使用代理。对需要经由代理的请求,
    认证信息未通过代理服务器的验证
    408Request Timeout
    请求超时
    服务器接收请求时发生超时
    409Conflict
    冲突
    资源冲突,例如上传文件时目标位置已经存在版本更新的资源
    由于和被请求的资源的当前状态之间存在冲突,请求无法完成,
    服务器必须在响应中包含有关冲突的信息。服务器在响应与前一个请求相冲突的
    PUT 请求时可能会返回此代码,以及两个请求的差异列表
    410Gone
    以删除
    被请求的资源在服务器上已经不再可用,而且没有任何已知的转发地址服务器没有找到对应的资源,
    且明确的知道该位置永久性找不到该资源,是对404的强约束,很少使用如果请求的
    资源已永久删除,服务器就会返回此响应。该代码与 404(未找到)代码类似,
    但在资源以前存在而现在不存在的情况下,有时会用来替代 404 代码。如果资源已永久移动,您应使用 301 指定资源的新位置。
    411Length Required
    需要有效长度
    如果请求含有包体且未携带 Content-Length 头部,且不属于 chunk类请求时,返回 411服务器不接受不含有效内容长度标头字段的请求。
    412Precondition Failed
    未满足前提条件
    复用缓存时传递的 If-Unmodified-Since 或 If- None-Match 头部不被满足服务器未满足请求者在请求中设置的其中一个前提条件。
    413Payload Too Large/Request Entity Too Large请求实体过大服务器无法处理请求,因为请求的包体超出服务器能处理和允许的最大长度
    414URI Too Long
    请求的 URI 过长
    请求的 URI 超出服务器能接受的最大长度
    415Unsupported Media Type
    不支持的媒体类型
    上传的文件类型不被服务器支持请求的格式不受请求页面的支持。
    416Range Not Satisfiable
    请求范围不符合要求
    如果页面无法提供请求的范围,则服务器会返回此状态码。无法提供 Range 请求中指定的那段包体
    417Expectation Failed
    期望失败,即未满足期望
    服务器未满足”期望”请求标头字段的要求在请求头 Expect 中指定的预期内容无法被服务器满足时的响应码
    418我是一个茶壶超文本咖啡罐控制协议,但是并没有被实际的HTTP服务器实现
    421Misdirected Request服务器认为这个请求不该发给它,因为它没有能力处理
    422不可处理的实体请求格式正确,但是由于含有语义错误,无法响应
    426Upgrade Required服务器拒绝基于当前 HTTP 协议提供服务,通过 Upgrade 头部告知客户端必须升级协议才能继续处理
    428Precondition Required用户请求中缺失了条件类头部,例如 If-Match
    429Too Many Requests客户端发送请求的速率过快
    431Request Header Fields Too Large请求的 HEADER 头部大小超过限制
    451Unavailable For Legal ReasonsRFC7725 ,由于法律原因资源不可访问
    499客户端读超时关闭连接的错误码499是客户端读超时关连接造成的,加了proxy_ignore_client_abort on; 也不解决问题。
    推荐从超时时间或者优化响应速度入手
    499错误码,是Nginx发现客户端主动关闭连接后,记录到access日志中的。是不是
    客户端接收响应超时了?你可以先在客户端统计下是不是这个原因,再调查为什么会导致超时

    5 响应码分类: 5xx

    5XX这些状态码表示服务器在处理请求时发生内部错误,这些错误可能是由于服务器本身的错误,而不是请求出错,属于服务器端的错误码。

    header 1header 2header 3
    500Internal Server Error
    服务器内部错误
    服务器遇到了一个未曾预料的状况(且不属于以下错误类型),导致了它无法完成对请求的处理,和400类似,是一个笼统的错误码
    501Not Implemented
    请求未完成
    服务器不支持所请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。
    502Bad Gateway
    错误网关
    请求未完成,服务器从上游服务器收到一个无效的响应
    表示代理服务器无法连接上游服务器或代理服务器
    无法获取到合法响应,可能由于网络原因(iptables drop),
    ,上游服务关闭,并发连接数限制等
    502.1 — CGI 应用程序超时
    505.2 — CGI 应用程序出错
    503Service Unavailable
    服务不可用
    服务器资源尚未准备好处理当前请求,很多种原因会导致503的出现,比如服务器端
    做了请求限速或者对用户的IP做了并发连接的限制,当达到上限都会发送503,
    或者由于临时超载、停机维护,服务器无法处理请求,比如:php服务停止,无法处理php程序
    504Gateway Timeout
    网关超时
    服务器作为网关或代理,无法及时的从上游获得响应,即,请求成功,但是响应超时
    505HTTP Version Not Supported
    HTTP 版本不受支持
    服务器不支持请求中所用的 HTTP 协议版本。
    507Insufficient Storage服务器没有足够的空间处理请求
    508Loop Detected访问资源时检测到循环
    511Network Authentication Required代理服务器发现客户端需要进行身份验证才能获得网络访问权限
    展开全文
  • Nginx return 响应码重定向

    千次阅读 2021-11-28 19:16:24
    前提环境: NGINX 涉及参考文档: ... 一、Nginx return 语法介绍 Syntax: return code [text];... return code URL;...非标准代码 444 关闭连接而不发送响应头。 注: Nginx 版本 0.8.42 开始 retur

    前提环境:

    • NGINX

    涉及参考文档:

    一、Nginx return 语法介绍

    Syntax:	return code [text];
    		return code URL;
    		return URL;
    Default:	—
    Context:	server, location, if
    

    停止处理并 将指定的返回code给客户端。非标准代码 444 关闭连接而不发送响应头。

    : Nginx 版本 0.8.42 开始

    • return code URL 支持code 响应码: 301、302、303、307 和 308
    • return code [text] 支持code 响应码:204、400、402 — 406、408、410、411、413、416 和 500 — 504 以及 444 响应码
    代码 307 直到版本 1.1.16 和 1.0.13 才被视为重定向。
    代码 308 直到版本 1.13.0 才被视为重定向。
    


    二、return code [text] 验证

    Nginx 配置文件

    server {
            listen       4444;
            server_name  _;
            charset      utf-8;
            root   /data/nginx/domain/;
    
            rewrite_log     on;  #开启rewrite重写规则默认写到error_log日志中,生产禁用,默认是关闭状态
            error_log       /var/log/nginx/bot-sca-error.log;
            access_log      /var/log/nginx/bot-sca-access.log testlog;
    
            location /444.html {
                    return 444 "你的客户端IP地址是: $remote_addr";  # 设定客户端响应码为444,且返回客户地址IP
            }
    }
    

    在这里插入图片描述

    修改Nginx 配置文件

    server {
            listen       4444;
            server_name  _;
            charset      utf-8;
            root   /data/nginx/domain/;
    
            rewrite_log     on;
            error_log       /var/log/nginx/bot-sca-error.log;
            access_log      /var/log/nginx/bot-sca-access.log testlog;
    
    
    
            location /tz {
                    return   http://www.baidu.com;  #默认响应码302
            }
    
    
            location /ips.html {
                    return  200 "你的客户端IP地址是: $remote_addr";   # 设定客户端响应码为200,且返回客户地址IP
            }
    }
    

    在这里插入图片描述

    总结:
    return code [text] ,Nginx 配置中 设定 return code 状态码,客户端访问URI 返回相应的响应码。


    三、return code URL 验证

    Nginx 配置文件【code = 302】

    server {
            listen       4444;
            server_name  _;
            charset      utf-8;
            root   /data/nginx/domain/;
    
            rewrite_log     on;
            error_log       /var/log/nginx/bot-sca-error.log;
            access_log      /var/log/nginx/bot-sca-access.log testlog;
    
    
    
            location /tz {
                    return   http://www.baidu.com;  #默认响应码302
            }
    
    
    
            location /ips.html {
                    return  200 "你的客户端IP地址是: $remote_addr";
            }
    
    
            location /aliyun {
                    return   302  https://www.aliyun.com/; #临时重定向
            }
    }
    

    访问: http://192.168.11.100:4444/aliyun

    • 白屏访问 :

    在这里插入图片描述
    在这里插入图片描述

    • 黑屏访问 :
      在这里插入图片描述

    Nginx 配置文件【code = 301】

    server {
            listen       4444;
            server_name  _;
            charset      utf-8;
            root   /data/nginx/domain/;
    
            rewrite_log     on;
            error_log       /var/log/nginx/bot-sca-error.log;
            access_log      /var/log/nginx/bot-sca-access.log testlog;
    
    
    
            location /tz {
                    return   http://www.baidu.com;  #默认响应码302
            }
    
    
    
            location /ips.html {
                    return  200 "你的客户端IP地址是: $remote_addr";
            }
    
    
            location /aliyun {
                    return   301  https://www.aliyun.com/; #永久重定向
            }
    }
    

    重新加载nginx配置:

     nginx -s  reload 
    

    访问: http://192.168.11.100:4444/aliyun

    • 白屏访问 :

    在这里插入图片描述
    在这里插入图片描述

    • 黑屏访问 :
      在这里插入图片描述
    总结:
    将Nginx 配置文件修改访问到其他网站,一直访问也是阿里云的官方网址, 这就是301 永久重定向代码有关。 如果浏览器想访问修改重定向的网址需要清空浏览器的缓存。

    四、HTTP 跳转 HTTPS 方案

    NGINX 配置文件内容

    server {
            listen       80 default_server;
            server_name  www.nginx-test.com *.nginx-test.com;
            return 302   https://$host$request_uri;
    }
    
    
    upstream sms-api {
            server 192.168.11.101 weight=3 max_fails=2  fail_timeout=20;
            server 192.168.11.102 weight=1 max_fails=2  fail_timeout=10;
    }
    
    
    server {
            listen           443 ssl;
            charset          utf-8;
            server_name      www.nginx-test.com *.nginx-test.com; #需要将yourdomain.com替换成证书绑定的域名。
            error_log        /var/log/nginx/bot-sca-error.log;
            access_log       /var/log/nginx/bot-sca-access.log testlog;
            ssl_certificate  /root/nginx.pem;  #需要将cert-file-name.pem替换成已上传的证书文件的名称。
            ssl_certificate_key  /root/nginx.key; #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。
            ssl_session_timeout   5m;
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
            #表示使用的加密套件的类型。
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。
            ssl_prefer_server_ciphers on;
    
            #return 301 https://$server_name$request_uri;
            #charset koi8-r;
            access_log  /var/log/nginx/host.access.log  main;
            location ^~ /sms/api {
                proxy_set_header Host $host;                 #默认情况下反向代理是不会转发请求的Host头部。如果需要转发,就要添加此条配置
                proxy_set_header X-Real-IP $remote_addr;     #在web服务器端获得用户的真实,ip$remote_addr——客户地址
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #如果客户端请求标头中不存在“ X-Forwarded-For”字段,则该$proxy_add_x_forwarded_for变量等于该$remote_addr变量。
                proxy_pass http://sms-api/;
        }
    }
    
    • 默认 URL/URI 访问 [80端口访问]

    在这里插入图片描述
    在这里插入图片描述

    • 访问 URI = /sms/api 响应
      在这里插入图片描述

    在这里插入图片描述

    总结:

    1  return code [text]   Nginx 配置中 设定 return   code 状态码,客户端访问URI 返回相应的响应码。 
    2  return code URL      这就是301 永久重定向代码有关。 如果浏览器想访问修改重定向的网址需要清空浏览器的缓存。
    3  return 指令一般用于对请求的客户端直接返回响应状态码。
    
    展开全文
  • 响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 (500–599)。状态代码由 section 10 of RFC 2616定义** 信息响应 100 Continue 这个临时响应表明,...

    HTTP 响应状态代码指示特定 HTTP 请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 (500–599)。状态代码由 section 10 of RFC 2616定义

    信息响应

    100 Continue
    这个临时响应表明,迄今为止的所有内容都是可行的,客户端应该继续请求,如果已经完成,则忽略它。

    101 Switching Protocol
    该代码是响应客户端的 Upgrade 标头发送的,并且指示服务器也正在切换的协议。

    102 Processing (WebDAV)
    此代码表示服务器已收到并正在处理该请求,但没有响应可用。

    103 Early Hints
    此状态代码主要用于与Link 链接头一起使用,以允许用户代理在服务器仍在准备响应时开始预加载资源。
    成功响应

    200 OK
    请求成功。成功的含义取决于HTTP方法:

    GET:资源已被提取并在消息正文中传输。
    HEAD:实体标头位于消息正文中。
    POST:描述动作结果的资源在消息体中传输。
    TRACE:消息正文包含服务器收到的请求消息

    201 Created
    该请求已成功,并因此创建了一个新的资源。这通常是在POST请求,或是某些PUT请求之后返回的响应。

    202 Accepted
    请求已经接收到,但还未响应,没有结果。意味着不会有一个异步的响应去表明当前请求的结果,预期另外的进程和服务去处理请求,或者批处理。

    203 Non-Authoritative Information
    服务器已成功处理了请求,但返回的实体头部元信息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝。当前的信息可能是原始版本的子集或者超集。例如,包含资源的元数据可能导致原始服务器知道元信息的超集。使用此状态码不是必须的,而且只有在响应不使用此状态码便会返回200 OK的情况下才是合适的。

    204 No Content
    服务器成功处理了请求,但不需要返回任何实体内容,并且希望返回更新了的元信息。响应可能通过实体头部的形式,返回新的或更新后的元信息。如果存在这些头部信息,则应当与所请求的变量相呼应。如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求的页面,而不产生任何文档视图上的变化,即使按照规范新的或更新后的元信息应当被应用到用户浏览器活动视图中的文档。由于204响应被禁止包含任何消息体,因此它始终以消息头后的第一个空行结尾。

    205 Reset Content
    服务器成功处理了请求,且没有返回任何内容。但是与204响应不同,返回此状态码的响应要求请求者重置文档视图。该响应主要是被用于接受用户输入后,立即重置表单,以便用户能够轻松地开始另一次输入。与204响应一样,该响应也被禁止包含任何消息体,且以消息头后的第一个空行结束。

    206 Partial Content
    服务器已经成功处理了部分 GET 请求。类似于 FlashGet 或者迅雷这类的 HTTP 下载工具都是使用此类响应实现断点续传或者将一个大文档分解为多个下载段同时下载。该请求必须包含 Range 头信息来指示客户端希望得到的内容范围,并且可能包含 If-Range 来作为请求条件。

    207 Multi-Status (WebDAV)
    由WebDAV(RFC 2518)扩展的状态码,代表之后的消息体将是一个XML消息,并且可能依照之前子请求数量的不同,包含一系列独立的响应代码。

    208 Already Reported (WebDAV)
    在 DAV 里面使用: propstat 响应元素以避免重复枚举多个绑定的内部成员到同一个集合。

    226 IM Used (HTTP Delta encoding)
    服务器已经完成了对资源的 GET 请求,并且响应是对当前实例应用的一个或多个实例操作结果的表示。
    重定向

    300 Multiple Choice
    被请求的资源有一系列可供选择的回馈信息,每个都有自己特定的地址和浏览器驱动的商议信息。用户或浏览器能够自行选择一个首选的地址进行重定向。

    301 Moved Permanently
    被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个 URI 之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非额外指定,否则这个响应也是可缓存的。

    302 Found
    请求的资源现在临时从不同的 URI 响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。

    303 See Other
    对应当前请求的响应可以在另一个 URI 上被找到,而且客户端应当采用 GET 的方式访问那个资源。这个方法的存在主要是为了允许由脚本激活的POST请求输出重定向到一个新的资源。

    304 Not Modified
    如果客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码。304 响应禁止包含消息体,因此始终以消息头后的第一个空行结尾。

    305 Use Proxy
    被请求的资源必须通过指定的代理才能被访问。Location 域中将给出指定的代理所在的 URI 信息,接收者需要重复发送一个单独的请求,通过这个代理才能访问相应资源。只有原始服务器才能建立305响应。

    306 unused
    在最新版的规范中,306 状态码已经不再被使用。

    307 Temporary Redirect
    请求的资源现在临时从不同的URI 响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。

    308 Permanent Redirect
    这意味着资源现在永久位于由 Location: HTTP Response 标头指定的另一个 URI。 这与 301 Moved Permanently HTTP 响应代码具有相同的语义,但用户代理不能更改所使用的 HTTP 方法:如果在第一个请求中使用 POST,则必须在第二个请求中使用 POST。

    客户端响应

    400 Bad Request
    1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。
    2、请求参数有误。

    401 Unauthorized
    当前请求需要用户验证。该响应必须包含一个适用于被请求资源的 WWW-Authenticate 信息头用以询问用户信息。客户端可以重复提交一个包含恰当的 Authorization 头信息的请求。如果当前请求已经包含了 Authorization 证书,那么401响应代表着服务器验证已经拒绝了那些证书。如果401响应包含了与前一个响应相同的身份验证询问,且浏览器已经至少尝试了一次验证,那么浏览器应当向用户展示响应中包含的实体信息,因为这个实体信息中可能包含了相关诊断信息。

    402 Payment Required
    此响应码保留以便将来使用,创造此响应码的最初目的是用于数字支付系统,然而现在并未使用。

    403 Forbidden
    服务器已经理解请求,但是拒绝执行它。与 401 响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重复提交。如果这不是一个 HEAD 请求,而且服务器希望能够讲清楚为何请求不能被执行,那么就应该在实体内描述拒绝的原因。当然服务器也可以返回一个 404 响应,假如它不希望让客户端获得任何信息。

    404 Not Found
    请求失败,请求所希望得到的资源未被在服务器上发现。没有信息能够告诉用户这个状况到底是暂时的还是永久的。假如服务器知道情况的话,应当使用410状态码来告知旧资源因为某些内部的配置机制问题,已经永久的不可用,而且没有任何可以跳转的地址。404这个状态码被广泛应用于当服务器不想揭示到底为何请求被拒绝或者没有其他适合的响应可用的情况下。

    405 Method Not Allowed
    请求行中指定的请求方法不能被用于请求相应的资源。该响应必须返回一个Allow 头信息用以表示出当前资源能够接受的请求方法的列表。 鉴于 PUT,DELETE 方法会对服务器上的资源进行写操作,因而绝大部分的网页服务器都不支持或者在默认配置下不允许上述请求方法,对于此类请求均会返回405错误。

    406 Not Acceptable
    请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体。

    407 Proxy Authentication Required
    与401响应类似,只不过客户端必须在代理服务器上进行身份验证。代理服务器必须返回一个 Proxy-Authenticate 用以进行身份询问。客户端可以返回一个 Proxy-Authorization 信息头用以验证。

    408 Request Timeout
    请求超时。客户端没有在服务器预备等待的时间内完成一个请求的发送。客户端可以随时再次提交这一请求而无需进行任何更改。

    409 Conflict
    由于和被请求的资源的当前状态之间存在冲突,请求无法完成。这个代码只允许用在这样的情况下才能被使用:用户被认为能够解决冲突,并且会重新提交新的请求。该响应应当包含足够的信息以便用户发现冲突的源头。

    410 Gone
    被请求的资源在服务器上已经不再可用,而且没有任何已知的转发地址。这样的状况应当被认为是永久性的。如果可能,拥有链接编辑功能的客户端应当在获得用户许可后删除所有指向这个地址的引用。如果服务器不知道或者无法确定这个状况是否是永久的,那么就应该使用 404 状态码。除非额外说明,否则这个响应是可缓存的。

    411 Length Required
    服务器拒绝在没有定义 Content-Length 头的情况下接受请求。在添加了表明请求消息体长度的有效 Content-Length 头之后,客户端可以再次提交该请求。

    412 Precondition Failed
    服务器在验证在请求的头字段中给出先决条件时,没能满足其中的一个或多个。这个状态码允许客户端在获取资源时在请求的元信息(请求头字段数据)中设置先决条件,以此避免该请求方法被应用到其希望的内容以外的资源上。

    413 Payload Too Large
    服务器拒绝处理当前请求,因为该请求提交的实体数据大小超过了服务器愿意或者能够处理的范围。此种情况下,服务器可以关闭连接以免客户端继续发送此请求。如果这个状况是临时的,服务器应当返回一个 Retry-After 的响应头,以告知客户端可以在多少时间以后重新尝试。

    414 URI Too Long
    请求的URI 长度超过了服务器能够解释的长度,因此服务器拒绝对该请求提供服务。这比较少见,通常的情况包括:本应使用POST方法的表单提交变成了GET方法,导致查询字符串(Query String)过长。

    415 Unsupported Media Type
    对于当前请求的方法和所请求的资源,请求中提交的实体并不是服务器中所支持的格式,因此请求被拒绝。

    416 Range Not Satisfiable
    如果请求中包含了 Range 请求头,并且 Range 中指定的任何数据范围都与当前资源的可用范围不重合,同时请求中又没有定义 If-Range 请求头,那么服务器就应当返回416状态码。

    417 Expectation Failed
    此响应代码意味着服务器无法满足 Expect 请求标头字段指示的期望值。

    418 I’m a teapot
    服务器拒绝尝试用 “茶壶冲泡咖啡”。

    421 Misdirected Request
    该请求针对的是无法产生响应的服务器。 这可以由服务器发送,该服务器未配置为针对包含在请求 URI 中的方案和权限的组合产生响应。

    422 Unprocessable Entity (WebDAV)
    请求格式良好,但由于语义错误而无法遵循。

    423 Locked (WebDAV)
    正在访问的资源被锁定。

    424 Failed Dependency (WebDAV)
    由于先前的请求失败,所以此次请求失败。

    425 Too Early
    服务器不愿意冒着风险去处理可能重播的请求。

    426 Upgrade Required
    服务器拒绝使用当前协议执行请求,但可能在客户机升级到其他协议后愿意这样做。 服务器在 426 响应中发送 Upgrade 头以指示所需的协议。

    428 Precondition Required
    原始服务器要求该请求是有条件的。 旨在防止“丢失更新”问题,即客户端获取资源状态,修改该状态并将其返回服务器,同时第三方修改服务器上的状态,从而导致冲突。

    429 Too Many Requests
    用户在给定的时间内发送了太多请求(“限制请求速率”)。

    431 Request Header Fields Too Large
    服务器不愿意处理请求,因为它的 请求头字段太大( Request Header Fields Too Large)。 请求可以在减小请求头字段的大小后重新提交。

    451 Unavailable For Legal Reasons
    用户请求非法资源,例如:由政府审查的网页。
    服务端响应

    500 Internal Server Error
    服务器遇到了不知道如何处理的情况。

    501 Not Implemented
    此请求方法不被服务器支持且无法被处理。只有GET和HEAD是要求服务器支持的,它们必定不会返回此错误代码。
    502 Bad Gateway
    此错误响应表明服务器作为网关需要得到一个处理这个请求的响应,但是得到一个错误的响应。

    503 Service Unavailable
    服务器没有准备好处理请求。 常见原因是服务器因维护或重载而停机。 请注意,与此响应一起,应发送解释问题的用户友好页面。 这个响应应该用于临时条件和 Retry-After:如果可能的话,HTTP头应该包含恢复服务之前的估计时间。 网站管理员还必须注意与此响应一起发送的与缓存相关的标头,因为这些临时条件响应通常不应被缓存。

    504 Gateway Timeout
    当服务器作为网关,不能及时得到响应时返回此错误代码。

    505 HTTP Version Not Supported
    服务器不支持请求中所使用的HTTP协议版本。

    506 Variant Also Negotiates
    服务器有一个内部配置错误:对请求的透明内容协商导致循环引用。

    507 Insufficient Storage
    服务器有内部配置错误:所选的变体资源被配置为参与透明内容协商本身,因此不是协商过程中的适当端点。

    508 Loop Detected (WebDAV)
    服务器在处理请求时检测到无限循环。

    510 Not Extended
    客户端需要对请求进一步扩展,服务器才能实现它。服务器会回复客户端发出扩展请求所需的所有信息。

    511 Network Authentication Required
    511 状态码指示客户端需要进行身份验证才能获得网络访问权限。

    展开全文
  • 状态码响应首行的结构:协议及版本 状态 状态说明,例如:HTTP/1.1 200 OK* 200:请求成功* 302:请求重定向* 304:请求资源没有改变* 404:请求资源不存在,属性客户端错误* 500:服务器内部错误3. 响应头* ...

    响应就是服务器发送给客户端的数据!

    1. 响应格式:

    * 响应首行

    * 响应头

    * 空行

    * 响应体(或称之为响应正文)

    2. 状态码

    响应首行的结构:协议及版本 状态码 状态码说明,例如:HTTP/1.1 200 OK

    * 200:请求成功

    * 302:请求重定向

    * 304:请求资源没有改变

    * 404:请求资源不存在,属性客户端错误

    * 500:服务器内部错误

    3. 响应头

    * Content-Type:响应正文的MIME类型,例如image/jpeg表示响应正文为jpg图片,例如text/html;charset=utf-8表示响应正文为html,并且编码为utf-8编码。浏览器会通过这一信息来显示响应数据

    * Content-Length:响应正文的长度

    * Set-Cookie:服务器寄存在客户端的“小甜点”,当客户端再次访问服务器时会把这个“小甜点”还给服务器

    * Date:响应时间,可能会有8小时的误差,因为中国的时区问题

    通知客户端浏览器不要缓存页面的响应头:

    * Expires:-1

    * Cache-Control: no-cache

    * Pragma: no-cache

    自动刷新响应头,浏览器会在3秒钟后自动重定向到baidu主页

    * Refresh: 3;url=http://www.baidu.com

    4. 状态码304

    相关头信息

    * Last-Modified:响应头,表示当前资源的最后修改时间;

    * If-Modified-Since:请求头,表示缓存的资源最后修改时间;

    状态码304:表示访问的资源没有改变

    1. 客户端首次访问服务器的静态资源index.html,服务器会把index.html响应给客户端,而且还会添加一个名为Last-Modified的响应头,它说明了当前index.html的最后修改时间

    2. 客户端收到响应后,会把index.html缓存在客户端上,而且还会把Last-Modified缓存起来。

    3. 客户端第二次请求index.html时,会添加名为If-Modified-Since的请求头,它的值是上次服务器响应头Last-Modified,服务器获取到客户端保存的最后修改时间,以及当前资源的最后修改时间进行比较,如果相同,说明index.html没有改动过,那么服务器不会发送index.html,而是响应状态码304,即通知客户端资源没有改变,你可以使用自己的缓存。

    展开全文
  • /*** 响应结构* @author YLiu*/public class ResultUtil {// 响应业务状态private Integer status;// 响应消息private String msg;// 响应中的数据private T data;public Integer getStatus() {return status;}...
  • 状态 状态 响应信息 描述 200 OK 请求正常处理完毕 204 No Content 请求成功处理,没有实体的主体返回 206 Partial Content GET范围请求已成功处理 301 Moved Permanently 永久重定向,资源已永久分配新URI 302 ...
  • 200 : 成功的响应 201 : 用户新建或修改数据成功。这通常是在POST请求,或是某些PUT请求之后返回的响应。 204 :服务器成功处理了请求,但不需要返回任何实体内容。一般可能是删除了某个信息。 205 : 与204类似,...
  • 400 一般是前端代码的问题 找不到相应的网页 405 一般是前端请求的方式和后端接受请求的方式不一致。...更多详细的响应码见如下博客: https://blog.csdn.net/ddhsea/article/details/79405996 ...
  • Nginx出现大量499响应码怎么办?

    千次阅读 2021-12-14 20:52:13
    监控发现Nginx服务日志中出现较多的499状态码,499状态码在Nginx中代表的是客户端在服务端返回之前主动断开了连接,由于客户端设置的超时时间为2s,故到达2s未收到服务端响应客户端主动断开了连接造成了499响应码。...
  • HTTP状态码(响应码)400意为客户端错误,下面列出HTTP状态码400系列所代表的含义:400:Bad Request(错误请求)因发送的请求语法错误,服务器无法正常读取。 HTTP/0.9 可用。401:Unauthorized(未授权)需要身份验证后...
  • 机具报错:响应码63 因01签到与服务器连接问题,使用99,12345678登录初始化下载密钥,然后再操作01,0000签到 12.机具报错:响应码S3 商户首笔交易需要高于服务费缴纳金额,盛付通电签4G首刷210元以上
  • 常见的响应码Status Code包括以下: 1xx:信息/请求收到,继续处理。 2xx:服务器收到请求,响应成功,常见200。 3xx:重定向,为了完成请求,必须进一步执行的动作。 4xx:客户端错误,请求包含语法错误或者请求无法...
  • Http常见响应码

    2020-12-28 15:28:51
    HTTP响应状态,表示了服务器的响应状态; 当前这条请求的真实结果 记录下常见的约定成俗的状态 这些状态一般在各种程序里的含义都一致,记住这些状态,在看接口问题时一般可快速定位多半问题。 而有些状态...
  • 常用的响应码说明 200 表示请求成功 302 表示请求重定向 404 表示请求服务器已经收到,但是想要的数据不存在(一般是请求地址错误) 500 表示请求服务器已经收到,但是服务器内部发生错误(代码错误) ...
  • 200 - 确定,客户端请求已成功 302 - 临时移动转移,请求的内容已临时移动新的位置 404 - 未找到文件或目录 500 - 服务器内部错误
  • 统一诊断服务否定响应码的判定 适用所有诊断服务的NRC及其优先级 适用于带子功能参数的诊断服务的NRC及其优先级 ISO14229-1中做了具体的NRC判断逻辑描述的诊断服务的NRC优先级 通过ID写入数据服务...
  • http的响应码200,404,302,500的含义

    千次阅读 多人点赞 2021-06-15 08:08:46
    ) 在 Servlet 类 中 编 写 代 request.setCharacterEncoding("UTF-8"),而且必须写在第一行。、 如 果 是 get 请 求 在 Servlet 类 中 编 写 代 byte [] bytes = str.getBytes("iso-8859-1");String cstr = ...
  • Http 响应码

    2021-12-05 17:23:46
    响应码规范:RPC6585 (2012.4)、RPC7231 (2014.6) 响应码分类 1xx 1xx 请求已接收到,需要进一步处理才能完成,HTTP1.0 不支持。 100 Continue:上传大文件前使用。由客户端发起请求中携带 Expect: 100-...
  • 爬虫被发现了,你就是一个茶壶 import urllib.request ...filter=" ...# 请求并获取响应 response_1 = urllib.request.urlopen(req).read().decode('utf-8') print(response_1) 报错urllib.error.HTT
  • HTTP响应码

    千次阅读 2021-12-16 11:52:29
    响应码分五种类型,由它们的第一位数字表示: 1.1xx:信息,请求收到,继续处理 2.2xx:成功,行为被成功地接受、理解和采纳 3.3xx:重定向,为了完成请求,必须进一步执行的动作 4.4xx:客户端错误,请求包含语法...
  • 参考 响应行 响应行/状态行(status line):意思是服务器响应的状态。 响应报文里的起始行。 也由三部分组成 ...状态码:一个三位数,用代码的形式表示处理的结果,...响应码规范:RFC6585 (2012.4)、RFC7231 (2014.
  • 常用响应码

    2021-10-07 18:39:36
    常用响应码 响应码 意义 200 请求成功 302 请求重定向 404 请求地址错误 500 代码错误
  • 指定的资源经服务器解析后返回响应内容。POSTPOST方法用来传输实体的主体(一般是身份认证信息数据或者是请求服务的参数数据),虽GET方法也能做到,但一般不用。POST的功能和GET很类似,但POST的主要目的并不是获取...
  • 【计算机网络】常见状态响应码

    千次阅读 2021-05-17 20:17:12
    常见状态 200:请求成功,一般用于GET与POST请求。 204:服务器成功处理,但未返回内容。 301:永久重定向。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的...
  • 状态响应码(status code)分别代表的意思如下: 1XX 1开头的http状态码表示临时响应并需要请求者继续执行操作的状态代码。 100(继续)请求者应当继续提出请求。服务器返回此代码表示已经收到请求的第一部分,...
  • (本文稿由武汉中心就业部老师提供)301:又称301重定向或301跳转,是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态的一种,表示本网页永久性转移到另一个地址。...
  • http 响应码 301 和 302 区别

    千次阅读 2021-12-11 18:51:53
    301 和 302 都有重定向的作用, 浏览器会根据 Location 的响应头进行地址跳转 301 永久重定向, 搜索引擎索引页面时, 会更新该 url 302 临时重定向, 搜索引擎索引页面时, 不会更新该 url

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 618,571
精华内容 247,428
关键字:

响应码

友情链接: NB(1).zip