广告
返回顶部
首页 > 资讯 > 服务器 >SAP ABAP应用服务器的HTTP响应状态码怎么解决
  • 214
分享到

SAP ABAP应用服务器的HTTP响应状态码怎么解决

2023-06-03 18:06:12 214人浏览 安东尼
摘要

本篇内容介绍了“SAP ABAP应用服务器的Http响应状态码怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在开发过程中发现该api

本篇内容介绍了“SAP ABAP应用服务器Http响应状态码怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

开发过程中发现该api工作不太稳定,同样的输入,时不时会返回HTTP 400 Bad Request:Encountered an error (InternalServerError) from host runtime

这个错误并不是总能重现。

SAP ABAP应用服务器的HTTP响应状态码怎么解决

通过排查,最后我们确认这个问题和我们调用API的代码无关,于是给Azure报了一个bug:

SAP ABAP应用服务器的HTTP响应状态码怎么解决

在分析定位问题时,不由得让我怀念起以前在ABAP On-Premise上做开发的一个便利之处——大多数问题都可以通过在ABAP应用服务器端调试来找到根源。

本文记录了2016年时,SAP成都研究院CRM开发团队在开发SAP CRM Fiori应用时的一些技术讨论,关于HTTP请求的响应状态码的差异。

当时我们用Chrome打开SAP Fiori应用,在Chrome开发者工具的network标签里,观察到有的请求响应码为HTTP 200,有的却是HTTP 304.

SAP ABAP应用服务器的HTTP响应状态码怎么解决

HTTP 200和HTTP 304理论上的差异解析,网上一搜一大把:

https://ions/1665082/what-is-the-difference-between-http-status-code-200-cache-vs-status-code-304

本文我们从一个实际的例子出发,观察ABAP服务器分别是在何种情况下,返回HTTP 200和304这两个状态码的,帮助大家加深理解。

分几种情况进行讨论。

  • 第一种情况:HTTP 200 OK

  • 第二种情况:HTTP 304 Not Modified

  • 第三种情况:HTTP 200(from Cache)

首先进行第一轮测试

将这种来自SAP UI5标准库文件的url粘贴到浏览器里访问:

https://:7080/sap/bc/ui5_ui5/ui2/ushell/resources/~20160308134900~/sap/fiori/core-min-0.js

得到HTTP 200状态码:

SAP ABAP应用服务器的HTTP响应状态码怎么解决

大家想过没有,上图高亮的HTTP响应头部字段,比如last-modified, 是在ABAP服务器上哪段代码里被填充的?

灵活运用Jerry 文章 SAP错误消息调试之七种武器:让所有的错误消息都能被定位 介绍的办法,顺利通过调试的方式,找到准确的位置如下:

SAP ABAP应用服务器的HTTP响应状态码怎么解决

上述代码的逻辑:

(1) 第九行,服务器试图从HTTP请求的头部字段中,提取名为If-Modified-Since的字段值,因为这是我第一次请求该javascript文件,而这个字段的值逻辑上应该等于第一次请求到达服务器后,从服务器返回的响应结构里名为last-modified字段的值。

在我的第一轮测试里,因为是第一次请求该文件,HTTP请求头部没有包含If-Modified-Since字段,所以服务器解析出的值为空,即变量lv_modified_since为空。

(2) 在我使用的ABAP服务器上,JavaScript文件core-min-0.js最后修改的时间戳为20160316205045. 因此,两个变量lv_change_time_char和lv_change_time_string都被附上了这个值。

SAP ABAP应用服务器的HTTP响应状态码怎么解决

下面第20行代码展示了前文HTTP 200状态码的截图里,HTTP响应字段cache-control被填充的地方。

SAP ABAP应用服务器的HTTP响应状态码怎么解决

第二种情况:HTTP 304 Not Modified

之前Chrome浏览器里打开的url:

https://:7080/sap/bc/ui5_ui5/ui2/ushell/resources/~20160308134900~/sap/fiori/core-min-0.js

不用关闭这个浏览器窗口,直接按F5刷新,这次收到的响应码不再是HTTP 200 OK,而是HTTP 304 Not Modified.

SAP ABAP应用服务器的HTTP响应状态码怎么解决

为什么会产生这种差异呢?按F5之后仔细观察请求头部,发现第二次请求,浏览器发出的HTTP请求里,If-Modified-Since字段包含的就是第一个请求里从服务器端返回的last-modified字段值。

SAP ABAP应用服务器的HTTP响应状态码怎么解决

按F5刷新的这个请求到了服务器端,这一次ABAP服务器成功解析出请求字段If-Modified-Since的值:

SAP ABAP应用服务器的HTTP响应状态码怎么解决

将客户端发送过来的这个If-Modified-Since时间戳,同服务器端该文件最后修改的时间戳进行比较(即下图第26行AND后的第二个判断条件),发现二者相等,因此在第28行返回HTTP 304 Not Modified.

SAP ABAP应用服务器的HTTP响应状态码怎么解决

第三种情况:HTTP 200(from Cache)

关掉Chrome,再打开,再访问同一url,此时Chrome直接从自身的cache里返回该JavaScript文件,而不是向ABAP服务器上发起请求。因此服务器上所有ABAP断点均不会触发。

SAP ABAP应用服务器的HTTP响应状态码怎么解决

再回到Jerry遇到的那个Azure上执行function创建API遇到的HTTP 400 Bad request的incident,至本文发稿时为止还是未能得到解决。

SAP ABAP应用服务器的HTTP响应状态码怎么解决

尽管Azure的Function Host运行时也是开源的,但不能调试,我拿着这些海量代码也没辙,目前GitHub上看到的就有多达967个开着的issue.

SAP ABAP应用服务器的HTTP响应状态码怎么解决

“SAP ABAP应用服务器的HTTP响应状态码怎么解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: SAP ABAP应用服务器的HTTP响应状态码怎么解决

本文链接: https://www.lsjlt.com/news/235341.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SAP ABAP应用服务器的HTTP响应状态码怎么解决
    本篇内容介绍了“SAP ABAP应用服务器的HTTP响应状态码怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在开发过程中发现该API...
    99+
    2023-06-03
  • feign客户端HTTP状态码为204时响应体被忽略怎么解决
    这篇文章主要讲解了“feign客户端HTTP状态码为204时响应体被忽略怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“feign客户端HTTP状态码为204时响应体被忽略怎么解决”吧...
    99+
    2023-06-29
  • HTTP服务器错误的状态代码对应的意思是什么
    这篇文章主要介绍“HTTP服务器错误的状态代码对应的意思是什么”,在日常操作中,相信很多人在HTTP服务器错误的状态代码对应的意思是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”HTTP服务器错误的状态代...
    99+
    2023-06-07
  • 怎么解决HTTP服务响应数据不完整响应数据截断的问题
    这篇“怎么解决HTTP服务响应数据不完整响应数据截断的问题”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么解决HTTP服务...
    99+
    2023-06-29
  • AJAX服务器响应异常怎么解决
    要解决AJAX服务器响应异常,可以尝试以下几种方法:1. 检查服务器端代码:确保服务器端代码没有错误或者bug。查看服务器端的日志文...
    99+
    2023-10-10
    AJAX
  • 亚马逊服务器无响应怎么解决
    1. 检查网络连接 首先,当你遇到亚马逊服务器无响应的问题时,你需要检查你的网络连接是否正常。你可以尝试访问其他网站或使用其他应用程序来确认你的网络连接是否正常。如果你的网络连接出现问题,你需要解决网络问题,然后再次尝试连接亚马逊服务器。...
    99+
    2023-10-27
    亚马逊 服务器
  • 网站服务器响应变慢怎么解决
    网站服务器响应变慢的解决方法:1、如果是大中型的网站,使用服务器的Gzip压缩功能,将较大的页面压缩,能减少网络传输的数量,加快客户端访问速度;2、减少http的请求数,把CSS跟JS写到页面上或把CSS文件和JS文件在后台进行合并,避免外...
    99+
    2022-10-22
  • 远程dns服务器无响应怎么解决
    遇到远程DNS服务器无响应的问题,可以尝试以下几种解决方法:1. 检查本地网络连接:确保本地网络连接正常,尝试重新连接或重启网络设备...
    99+
    2023-08-14
    dns服务器 服务器
  • 网站服务器失去响应怎么解决
    1. 检查网络连接:首先,确保您的计算机和服务器都有良好的网络连接。您可以尝试使用另一台计算机或设备连接同一网络,以确定问题是否与您...
    99+
    2023-06-05
    网站服务器 服务器
  • dns服务器经常未响应怎么解决
    如果您的DNS服务器经常未响应,您可以尝试以下几种方法来解决问题:1. 检查网络连接:确保您的网络连接正常。如果您使用的是有线连接,...
    99+
    2023-08-14
    dns服务器 服务器
  • dns服务器地址未响应怎么解决
    出现 DNS 服务器地址未响应的问题可能是由于以下原因导致的:1. DNS 服务器故障:首先,确认你使用的 DNS 服务器是否正常运...
    99+
    2023-08-14
    dns服务器 服务器
  • 本地dns服务器未响应怎么解决
    如果本地DNS服务器未响应,您可以尝试以下解决方法:1. 检查本地网络连接:确保您的计算机或设备已正确连接到网络。2. 检查DNS服...
    99+
    2023-08-31
    dns服务器 dns服务器
  • dns服务器设置没有响应怎么解决
    若DNS服务器设置没有响应,则可能存在以下几种原因:1、已经安装了防火墙,但未对DNS服务器的通讯端口开放。2、DNS服务器的 IP...
    99+
    2023-03-07
    dns服务器设置 dns服务器 服务器
  • 云服务器网址ip无响应怎么解决
    云服务器网址IP无响应可能是由于多种原因造成的,以下是一些可能的解决方法:1. 检查网络连接:确保本地网络连接正常,尝试使用其他设备...
    99+
    2023-08-17
    云服务器
  • 亚马逊服务器无响应怎么解决问题的
    检查服务器是否正常运行。如果服务器没有运行,可以通过检查日志、运行诊断工具等方式来确定服务器是否正常运行。 检查网络连接是否正常。如果网络连接不正常,亚马逊服务器可能会无响应。可以尝试重新启动网络连接或更换网络线路。 检查硬件设备是否正常...
    99+
    2023-10-27
    亚马逊 解决问题 服务器
  • 微服务架构如何解决应用状态的管理问题?
    随着应用的不断发展和扩展,应用状态管理问题也变得越来越复杂和困难。传统的单一应用架构难以应对多个模块和组件的管理问题,而微服务架构则为解决这些问题提供了有效的解决方案。微服务架构是一种基于一些小型服务的架构,这些服务都可以独立运行并进行相互...
    99+
    2023-05-18
    微服务架构 应用状态 管理问题
  • 亚马逊服务器未响应怎么解决问题
    检查网络连接:首先检查您的网络连接是否正常。您可以通过检查您的网络设置来确定问题出在哪里。您可以登录到您的路由器上,然后进入“Internet设置”,选择“连接”,进入“网络连接”窗口,查看是否有错误的连接信息。 检查DNS设置:如果您的...
    99+
    2023-10-27
    亚马逊 解决问题 服务器
  • 网络代理服务器没有响应怎么解决
    如果网络代理服务器没有响应,可以尝试以下方法解决:1. 检查网络连接:确保您的网络连接正常,并且可以访问互联网。2. 检查代理设置:...
    99+
    2023-06-13
    网络代理服务器 代理服务器 服务器
  • 网页代理服务器没有响应怎么解决
    1. 检查网络连接:首先确认自己的网络连接是否正常,是否可以正常访问其他网站。2. 清除浏览器缓存:清除浏览器缓存有时可以解决网页代...
    99+
    2023-06-11
    网页代理服务器 代理服务器 服务器
  • 个人免费体验服务器未响应怎么解决
    如果个人免费体验服务器未响应,需要按照以下步骤进行解决:1. 检查网络连接是否正常,确保网络连接稳定。2. 检查个人免费体验服务器是...
    99+
    2023-05-31
    体验服务器 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作