当前位置: 首页 > news >正文

库尔勒北京网站建设如何宣传推广自己的产品

库尔勒北京网站建设,如何宣传推广自己的产品,自己怎样建设淘宝返现网站,路由侠怎么做网站映射​ 常见 http 错误码 服务器巡检时比较常见的 http 错误码 400 Bad Request408 Request Timeout499 client has closed connection502 Bad Gateway504 Gateway Timeout 这些错误码反映了服务器什么样的状态,仅看字面意思还不太容易理解,就动手做个试验…

常见 http 错误码

服务器巡检时比较常见的 http 错误码

  • 400 Bad Request
  • 408 Request Timeout
  • 499 client has closed connection
  • 502 Bad Gateway
  • 504 Gateway Timeout
    这些错误码反映了服务器什么样的状态,仅看字面意思还不太容易理解,就动手做个试验吧

试验环境

在 linux 主机上运行 nginx,在本机(windows 10)上运行 jetty,linux 上的 nginx 反向代理到本机 jetty

试验工具

发送 http 请求主要采用 postman,也使用了 telnet 和 python 脚本

试验

400

错误的请求,比如必须的参数未传递,那么我们来试下

@Controller
@RequestMapping("/api/")
public class TestController {@ResponseBody@RequestMapping("test.debug")public String test(@RequestParam(required = true) String name) {return name;}}

可以看到 name 参数是必须的,那么不带参数调用一下

http://xxxxx.in.xxxx.com/api/test.debug

返回 200.

怎么返回了 200 而不是预期的 400呢?经过一番检查,原来是有个异常处理程序捕捉到了参数未传递的异常并进行了处理,如下

@Component
public class ExceptionHandler implements HandlerExceptionResolver {private static final Logger log = Logger.getLogger(ExceptionHandler.class);@Overridepublic ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response,Object handler, Exception ex) {response.setContentType("application/json; charset=UTF-8");String code = null;String message = null;if (ex instanceof BizException) {BizException exception = (BizException) ex;message = exception.getMessage();code = Integer.toString(exception.getErrorCode());} else if (ex instanceof MissingServletRequestParameterException) {code = "900002";message = ex.getMessage();log.error(message);} else {code = "403";message = ex.getMessage();log.error(ex, ex);}ModelAndView mav = new ModelAndView("error");mav.addObject("code", code);mav.addObject("message", message);mav.addObject("value", message);return mav;}}

禁用该异常处理以后,重新试验返回了 400,如下

此外,胡乱的发送数据给 nginx 服务器而不按 http 协议规范组织数据,也会得到 400 的返回码,可以用 telnet 试验一下,如下图

在用 telnet 给 nginx 发送数据时,输入 “HTTP/2.3.”,由于 2.3. 是不存在的版本,nginx 当即返回了 400 错误码

408

请求超时,nginx 在规定的时间内无法获取到客户端的请求
这个错误码很奇怪,根据该错误码的含义,使用 telnet 和 python 进行模拟,但无法使 nginx 返回 408 错误码…试验失败了
另外,查看 nginx 日志,发现返回 408 错误码的日志,实际上请求都已经转发给 jetty 并且 jetty 也返回了 200 响应码.

所以,这个错误码目前还无法解释

499

在 nginx 返回结果之前,客户端断开了连接,nginx 会记录 499 错误码到日志,要重现这个错误码,只需要让接口等待一段比较长的时间,并在请求端主动断开即可,如下

@Controller
@RequestMapping("/api/")
public class TestController {@ResponseBody@RequestMapping("test.debug")public String test(@RequestParam(required = true) String name) {try {Thread.sleep(300 * 1000);} catch (InterruptedException e) {}return name;}
}

在 postman 里发起请求,并在等待的过程中点击 cancel 按钮

这时 postman 没有任何返回,但是查看 nginx 的日志,会发现一条 499 的记录,如下

502

这个比较好理解,jetty 服务挂了或者没有启动,我们停掉 jetty 就可以得到这个错误码.

504

这是 jetty 响应超时了,我们让接口等待 300 秒后返回,来测试一下

@Controller
@RequestMapping("/api/")
public class TestController {@ResponseBody@RequestMapping("test.debug")public String test(@RequestParam(required = true) String name) {try {Thread.sleep(300 * 1000);} catch (InterruptedException e) {}return name;}
}

可以看到在60秒(准确的说,60133 ms)以后,nginx 返回了 504

这是因为 nginx 默认等待 jetty 60 秒,时间到了 jetty 没有响应 nginx 就会自行返回 504;如果想要 nginx 多等一段时间,可以如下配置

proxy_read_timeout 6m; 

现在再试一下

可以看到,经过 300 秒(300062 ms)的漫长等待,我们得到了 jetty 的响应

结论

  • 400 客户端请求数据格式不对,不符合接口规范.和客户端沟通,要求客户端修复.服务端进行容错处理

  • 408不知道.继续研究

  • 499 由于服务器处理太慢,客户端在规定的时间内未接收到响应,主动断开连接.客户端网络被断开了,在移动互联网环境下这还是比较常见的,例如用户移动到 WIFI 覆盖区域以外/服务端优化性能

  • 502 服务器宕机, 重启服务器

  • 504 服务端响应太慢了, 优化性能

http://www.yidumall.com/news/90499.html

相关文章:

  • 风铃微网站怎么做做销售怎样去寻找客户
  • 滨州j建设局网站投诉电话十大技能培训机构排名
  • 如何快速使用模版做网站谷歌seo快速排名软件首页
  • 怎么设置网站名称广州百度推广代理公司
  • 南通高端网站建设机构百度网盘app官方下载
  • 上海网站建设公安舆情监测
  • 微信开放平台创建移动应用西安seo服务商
  • b站有没有推广百度风云榜小说排行榜
  • 妇女之家网站建设方案网站怎么优化到首页
  • 做网站用的软件资源优化排名网站
  • 网页设计和网站建设实战大全seo综合查询网站
  • 武汉市住房和城乡建设局网站外贸网站建设报价
  • 为什么打开网址都是站长工具黄冈网站推广
  • 浙江网站建设推广公司找哪家长沙关键词排名软件
  • 技术支持 优府网络太原网站建设公众号软文是什么意思
  • 河北做网站手机推广平台有哪些
  • 网站制作小常识信息流广告素材网站
  • 山东电力建设第一工程公司网站青青河边草直播免费观看
  • win7 做网站服务器怎么自己做一个网站平台
  • dedecms织梦系统网站防会员注册机农技推广
  • 兰州网站外包百度竞价怎么操作
  • 代做毕设网站衡阳百度seo
  • vs做网站如何调试天津网络广告公司
  • mvc net跳转到另一网站seo关键技术有哪些
  • 电子商务网站建站十大经典事件营销案例
  • 成都网站软件定制开发友情链接的形式有哪些
  • 如何做网课网站合肥百度网站排名优化
  • 余姚网站建设维护网络推广与优化
  • 建立公司的流程宁波正规站内优化seo
  • 网站的程序怎么做产品网络营销策划方案