精华内容
下载资源
问答
  • 由于在nginx配置中,设置了limit_req流量限制,导致许多请求返回503错误代码,在限流条件下,为提高用户体验,希望返回正常Code 200,且返回操作频繁信息: location /test { ... limit_req zone=zone_ip...

    由于在nginx配置中,设置了limit_req的流量限制,导致许多请求返回503错误代码,在限流的条件下,为提高用户体验,希望返回正常Code 200,且返回操作频繁的信息:

    location  /test {
      ... 
      limit_req zone=zone_ip_rm burst=1 nodelay; 
      error_page 503 =200 /dealwith_503?callback=$arg_callback;
    }
    location /dealwith_503{ 
      set $ret_body '{"code": "V00006","msg": "操作太频繁了,请坐下来喝杯茶。"}';
       if ( $arg_callback != "" ) 
       { 
           return 200 'try{$arg_callback($ret_body)}catch(e){}'; 
       } 
       return 200 $ret_body; 
    }

     

    展开全文
  • 一、HTTP工作原理HTTP是超文本传输协议,它定义了客户端与服务器端之间文本传输规范。HTTP默认使用是80端口,这个端口指是服务端端口,而客户端使用端口是动态分配。当我们没有指定端口访问时,浏览器会...
    d1ec2c2772a2c7c352030c605da5aa7c.gif

    一、HTTP工作原理

    HTTP是超文本传输协议,它定义了客户端与服务器端之间文本传输的规范。HTTP默认使用的是80端口,这个端口指的是服务端的端口,而客户端使用的端口是动态分配的。当我们没有指定端口访问时,浏览器会默认帮我们添加80端口。我们也可以自己指定访问端口。需要注意的是,现在大多数访问都使用了HTTPS协议,而HTTPS的默认端口为443,如果使用端口访问HTTPS协议的服务器可能会被拒绝。aa32c592a858b120c3fae955b5386498.pngHTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。c3a8f4f2f14499baa009425f9b67d2b0.png说明:请求行:用来说明请求类型、要访问的URL资源、所使用的HTTP协议版本;请求头部:用来说明服务器要使用的附加信息。空行:请求头部后面的空行是必的,即使下面的请求数据为空,也必须有空行。请求数据:也叫主体,可以添加任意的其他数据。HTTP请求/响应的步骤如下:

    2492beb512848f7a19ab024b26395f13.png

    二、HTTP的8种请求方式

    HTTP的请求方法共有8种,来表明Request-URL指定的资源不同的操作方式。HTTP1.0定义了3种请求方法:GET,POST和HEAD方法,HTTP服务器至少应该实现这3种方法。HTTP1.1中新增了5种请求方法:OPTIONS、PUT、DELETE、TRACE和CONNECT方法。这些方法是可选的。除了这8种方法之外,特定的HTTP服务器支持扩展自定义的方法。

    5a612652cdd7ce1d4eb60adec717f95b.png

    注意:HTTP的请求方法名称是区分大小写的,当某个请求所针对的资源不支持对应的请求方法时,服务器应当返回状态码405(Method Not Allowed);当服务器不认识或者不支持对应的请求方法时,应返回状态码501(Not Implemented)。其中最常用的是GET和POST方法,二者之间的区别如下:GET方法提交的数据会直接填充在请求报文的URL上。而POST方法提交的数据会附在正文上,一般请求正文的长度是没有限制的,但表单中所能处理的长度一般为100k(不同协议不同浏览器不一样),而且需要考虑下层报文的传输效率,不推荐过长,GET方法可以用来传输一些可以公开的参数信息,解析也比较方便,如百度的搜索关键词,而POST方法可以用来提交一个用户的敏感信息,如果不适用HTTPS加密,报文正文仍旧是明文,容易被人截获读取。

    076c55ff3095e5fd014f496fefd8173f.png

    三、HTTP请求消息的响应

    一般情况下,服务器接收并处理客户端发过来的请求后会返回一个HTTP的响应消息。HTTP响应也由4个部分组成,分别是:状态行、消息报头、空行和响应正文。e62014ab350755cf438903674e9842c3.png说明:状态行:由HTTP协议版本号(HTTP/1.1)、状态码(200)、状态消息(ok)三部分组成。消息报头:用来说明客户端要使用的一些附加信息(生成响应的日期和事件、HMTL的文本类型、编码类型)。空行:消息报头后面的空行是必须的。响应正文:服务器返回给客户端的文本信息。请求返回的状态码有如下这些:

    6bdb1681ad96d18a2e0be714ced27c7e.png

    d78ebe58f14adce3acb55f75f28eefb7.png

    联系作者可加微信号:semmy0508

    关联QQ群:测试小咖汇(598452239)

    1f0992b7bc51babb263cbb726b8f9340.png
    展开全文
  • 访问网站时错误页面可正常显示,但HTTP状态码却是302,对SEO很不友好,按下列步骤修改使错误页面返回正确利于SEO404状态码,感兴趣朋友可以了解下
  • 在最后程序执行完毕之前,加入下列语句,即可实现所有的返回码都为200即使在服务器内部发生错误,会报500情况下只要加上register_shutdown_function函数处理同样可以实现返回200效果header("HTTP/1.0 200 OK");...

    在最后的程序执行完毕之前,加入下列语句,即可实现所有的返回码都为200
    即使在服务器内部发生错误,会报500情况下
    只要加上
    register_shutdown_function函数的处理
    同样可以实现返回200的效果
    header("HTTP/1.0 200 OK");
    或者返回999等待,都可以的
    header("HTTP/1.1 999 666666");
    这样做的目的:(对用户更加友好的处理方式)
    主要是为了屏蔽错误,
    把错误日志输出到错误日志中,同时保证返回正常信息或者跳转到其他页面链接


    目前HTTP只支持到3位数的协议,超过999就没有了

    状态码为   000

    浏览器会把这个给吞掉,不给你看

    $http = array ( 

    100 => "HTTP/1.1 100 Continue", 
    101 => "HTTP/1.1 101 Switching Protocols", 
    200 => "HTTP/1.1 200 OK", 
    201 => "HTTP/1.1 201 Created", 
    202 => "HTTP/1.1 202 Accepted", 
    203 => "HTTP/1.1 203 Non-Authoritative Information", 
    204 => "HTTP/1.1 204 No Content", 
    205 => "HTTP/1.1 205 Reset Content", 
    206 => "HTTP/1.1 206 Partial Content", 
    300 => "HTTP/1.1 300 Multiple Choices", 
    301 => "HTTP/1.1 301 Moved Permanently", 
    302 => "HTTP/1.1 302 Found", 
    303 => "HTTP/1.1 303 See Other", 
    304 => "HTTP/1.1 304 Not Modified", 
    305 => "HTTP/1.1 305 Use Proxy", 
    307 => "HTTP/1.1 307 Temporary Redirect", 
    400 => "HTTP/1.1 400 Bad Request", 
    401 => "HTTP/1.1 401 Unauthorized", 
    402 => "HTTP/1.1 402 Payment Required", 
    403 => "HTTP/1.1 403 Forbidden", 
    404 => "HTTP/1.1 404 Not Found", 
    405 => "HTTP/1.1 405 Method Not Allowed", 
    406 => "HTTP/1.1 406 Not Acceptable", 
    407 => "HTTP/1.1 407 Proxy Authentication Required", 
    408 => "HTTP/1.1 408 Request Time-out", 
    409 => "HTTP/1.1 409 Conflict", 
    410 => "HTTP/1.1 410 Gone", 
    411 => "HTTP/1.1 411 Length Required", 
    412 => "HTTP/1.1 412 Precondition Failed", 
    413 => "HTTP/1.1 413 Request Entity Too Large", 
    414 => "HTTP/1.1 414 Request-URI Too Large", 
    415 => "HTTP/1.1 415 Unsupported Media Type", 
    416 => "HTTP/1.1 416 Requested range not satisfiable", 
    417 => "HTTP/1.1 417 Expectation Failed", 
    500 => "HTTP/1.1 500 Internal Server Error", 
    501 => "HTTP/1.1 501 Not Implemented", 
    502 => "HTTP/1.1 502 Bad Gateway", 
    503 => "HTTP/1.1 503 Service Unavailable", 
    504 => "HTTP/1.1 504 Gateway Time-out"  
    ); 
    header($http[$num]); 

    转载于:https://www.cnblogs.com/navysummer/p/10892214.html

    展开全文
  • 在最后程序执行完毕之前,加入下列语句,即可实现所有的返回码都为200即使在服务器内部发生错误,会报500情况下只要加上register_shutdown_function函数处理同样可以实现返回200效果header("HTTP/1.0 200 OK");...

    在最后的程序执行完毕之前,加入下列语句,即可实现所有的返回码都为200即使在服务器内部发生错误,会报500情况下只要加上register_shutdown_function函数的处理同样可以实现返回200的效果header("HTTP/1.0 200 OK");或者返回999等待,都可以的header("HTTP/1.1 999 666666");这样做的目的:(对用户更加友好的处理方式)主要是为了屏蔽错误,把错误日志输出到错误日志中,同时保证返回正常信息或者跳转到其他页面链接

    目前HTTP只支持到3位数的协议,超过999就没有了

    状态码为   000

    浏览器会把这个给吞掉,不给你看

    $http = array (

    100 => "HTTP/1.1 100 Continue",

    101 => "HTTP/1.1 101 Switching Protocols",

    200 => "HTTP/1.1 200 OK",

    201 => "HTTP/1.1 201 Created",

    202 => "HTTP/1.1 202 Accepted",

    203 => "HTTP/1.1 203 Non-Authoritative Information",

    204 => "HTTP/1.1 204 No Content",

    205 => "HTTP/1.1 205 Reset Content",

    206 => "HTTP/1.1 206 Partial Content",

    300 => "HTTP/1.1 300 Multiple Choices",

    301 => "HTTP/1.1 301 Moved Permanently",

    302 => "HTTP/1.1 302 Found",

    303 => "HTTP/1.1 303 See Other",

    304 => "HTTP/1.1 304 Not Modified",

    305 => "HTTP/1.1 305 Use Proxy",

    307 => "HTTP/1.1 307 Temporary Redirect",

    400 => "HTTP/1.1 400 Bad Request",

    401 => "HTTP/1.1 401 Unauthorized",

    402 => "HTTP/1.1 402 Payment Required",

    403 => "HTTP/1.1 403 Forbidden",

    404 => "HTTP/1.1 404 Not Found",

    405 => "HTTP/1.1 405 Method Not Allowed",

    406 => "HTTP/1.1 406 Not Acceptable",

    407 => "HTTP/1.1 407 Proxy Authentication Required",

    408 => "HTTP/1.1 408 Request Time-out",

    409 => "HTTP/1.1 409 Conflict",

    410 => "HTTP/1.1 410 Gone",

    411 => "HTTP/1.1 411 Length Required",

    412 => "HTTP/1.1 412 Precondition Failed",

    413 => "HTTP/1.1 413 Request Entity Too Large",

    414 => "HTTP/1.1 414 Request-URI Too Large",

    415 => "HTTP/1.1 415 Unsupported Media Type",

    416 => "HTTP/1.1 416 Requested range not satisfiable",

    417 => "HTTP/1.1 417 Expectation Failed",

    500 => "HTTP/1.1 500 Internal Server Error",

    501 => "HTTP/1.1 501 Not Implemented",

    502 => "HTTP/1.1 502 Bad Gateway",

    503 => "HTTP/1.1 503 Service Unavailable",

    504 => "HTTP/1.1 504 Gateway Time-out"

    );

    header($http[$num]);

    展开全文
  • Http返回状态码

    2019-08-09 09:27:53
    1. 服务器向用户返回的状态码和提示信息,常见的有以下一些(方括号中是该状态码对应的HTTP动词) 状态码 请求类型 语义 200 OK [GET] 服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。 201...
  • http请求中常见的返回状态码前言2开头状态码3开头状态码4开头状态码5开头状态码 前言 常见的状态码就那么几个,其实每个项目会自定义状态码,下面列出常见公认状态码。 2开头状态码 表示服务器成功处理了请求。 ...
  • HTTP常见状态码: 200 OK - [GET]:服务器成功返回用户请求数据。 201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。 202 Accepted - [*]:表示一个请求已经进入后台排队(异步任务) 204 NO CONTENT - ...
  • HTTP返回状态码

    2019-10-05 09:36:56
    HEAD:类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头 POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有...
  • 常见http返回状态码

    2018-11-29 14:59:00
    302:临时重定向,该状态码表示请求资源已经被分配了新URI,希望用户本次能够通过新UIRI访问。 304:未修改,服务端资源未改变,可直接使用客户端未过期缓存。 404:服务器端不存在客户端请求资源,也...
  • 常见的HTTP状态码

    2020-04-16 19:43:08
    当浏览器接收并显示网页前,此网页所在服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器请求。 HTTP状态码的英文为HTTP Status Code。 200 - 请求成功 301 - 资源(网页等)被永久...
  • HTTP状态码 304 页面未修改

    千次阅读 2015-09-09 20:30:20
    HTTP状态码 304 页面未修改 功能:304页面未修改 自从上次请求后,请求网页未修改过。服务器返回此响应时,不会返回网页内容。 如果网页自请求者上次请求后再也没有更改过,您应将服务器配置为返回此响应...
  • 常用的HTTP状态码

    2017-11-18 10:01:11
    常用的HTTP状态码如下成功的状态码: - 200 – 服务器成功返回网页 - 304 – 未修改 失败的状态码: - 404 – 请求的网页不存在 - 503 – 服务器暂时不可用 - 500 – 服务器内部错误下面的不是很常用,记住...
  • HTTP 状态码

    2021-04-29 16:35:35
    304 :客户端请求资源未修改,此时不会返回资源 400 :客户端语法错误,服务器无法理解 403 :服务器理解客户端请求,但是拒绝了 404 :服务器无法找到客户端请求资源 500 :服务器执行请求时,内部出错 502 :...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 623
精华内容 249
关键字:

修改返回的http状态码