真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SAPABAP應(yīng)用服務(wù)器的HTTP響應(yīng)狀態(tài)碼怎么解決-創(chuàng)新互聯(lián)

本篇內(nèi)容介紹了“SAP ABAP應(yīng)用服務(wù)器的HTTP響應(yīng)狀態(tài)碼怎么解決”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

成都創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)電白,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792

在開發(fā)過程中發(fā)現(xiàn)該API工作不太穩(wěn)定,同樣的輸入,時(shí)不時(shí)會(huì)返回HTTP 400 Bad Request:Encountered an error (InternalServerError) from host runtime

這個(gè)錯(cuò)誤并不是總能重現(xiàn)。

SAP ABAP應(yīng)用服務(wù)器的HTTP響應(yīng)狀態(tài)碼怎么解決

通過排查,最后我們確認(rèn)這個(gè)問題和我們調(diào)用API的代碼無關(guān),于是給Azure報(bào)了一個(gè)bug:

SAP ABAP應(yīng)用服務(wù)器的HTTP響應(yīng)狀態(tài)碼怎么解決

在分析定位問題時(shí),不由得讓我懷念起以前在ABAP On-Premise上做開發(fā)的一個(gè)便利之處——大多數(shù)問題都可以通過在ABAP應(yīng)用服務(wù)器端調(diào)試來找到根源。

本文記錄了2016年時(shí),SAP成都研究院CRM開發(fā)團(tuán)隊(duì)在開發(fā)SAP CRM Fiori應(yīng)用時(shí)的一些技術(shù)討論,關(guān)于HTTP請(qǐng)求的響應(yīng)狀態(tài)碼的差異。

當(dāng)時(shí)我們用Chrome打開SAP Fiori應(yīng)用,在Chrome開發(fā)者工具的network標(biāo)簽里,觀察到有的請(qǐng)求響應(yīng)碼為HTTP 200,有的卻是HTTP 304.

SAP ABAP應(yīng)用服務(wù)器的HTTP響應(yīng)狀態(tài)碼怎么解決

HTTP 200和HTTP 304理論上的差異解析,網(wǎng)上一搜一大把:

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

本文我們從一個(gè)實(shí)際的例子出發(fā),觀察ABAP服務(wù)器分別是在何種情況下,返回HTTP 200和304這兩個(gè)狀態(tài)碼的,幫助大家加深理解。

分幾種情況進(jìn)行討論。

  • 第一種情況:HTTP 200 OK

  • 第二種情況:HTTP 304 Not Modified

  • 第三種情況:HTTP 200(from Cache)

首先進(jìn)行第一輪測試。

將這種來自SAP UI5標(biāo)準(zhǔn)庫文件的url粘貼到瀏覽器里訪問:

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

得到HTTP 200狀態(tài)碼:

SAP ABAP應(yīng)用服務(wù)器的HTTP響應(yīng)狀態(tài)碼怎么解決

大家想過沒有,上圖高亮的HTTP響應(yīng)頭部字段,比如last-modified, 是在ABAP服務(wù)器上哪段代碼里被填充的?

靈活運(yùn)用Jerry 文章  SAP錯(cuò)誤消息調(diào)試之七種武器:讓所有的錯(cuò)誤消息都能被定位 介紹的辦法,順利通過調(diào)試的方式,找到準(zhǔn)確的位置如下:

SAP ABAP應(yīng)用服務(wù)器的HTTP響應(yīng)狀態(tài)碼怎么解決

上述代碼的邏輯:

(1) 第九行,服務(wù)器試圖從HTTP請(qǐng)求的頭部字段中,提取名為If-Modified-Since的字段值,因?yàn)檫@是我第一次請(qǐng)求該JavaScript文件,而這個(gè)字段的值邏輯上應(yīng)該等于第一次請(qǐng)求到達(dá)服務(wù)器后,從服務(wù)器返回的響應(yīng)結(jié)構(gòu)里名為last-modified字段的值。

在我的第一輪測試?yán)?,因?yàn)槭堑谝淮握?qǐng)求該文件,HTTP請(qǐng)求頭部沒有包含If-Modified-Since字段,所以服務(wù)器解析出的值為空,即變量lv_modified_since為空。

(2) 在我使用的ABAP服務(wù)器上,JavaScript文件core-min-0.js最后修改的時(shí)間戳為20160316205045. 因此,兩個(gè)變量lv_change_time_char和lv_change_time_string都被附上了這個(gè)值。

SAP ABAP應(yīng)用服務(wù)器的HTTP響應(yīng)狀態(tài)碼怎么解決

下面第20行代碼展示了前文HTTP 200狀態(tài)碼的截圖里,HTTP響應(yīng)字段cache-control被填充的地方。

SAP ABAP應(yīng)用服務(wù)器的HTTP響應(yīng)狀態(tài)碼怎么解決

第二種情況:HTTP 304 Not Modified

之前Chrome瀏覽器里打開的url:

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

不用關(guān)閉這個(gè)瀏覽器窗口,直接按F5刷新,這次收到的響應(yīng)碼不再是HTTP 200 OK,而是HTTP 304 Not Modified.

SAP ABAP應(yīng)用服務(wù)器的HTTP響應(yīng)狀態(tài)碼怎么解決

為什么會(huì)產(chǎn)生這種差異呢?按F5之后仔細(xì)觀察請(qǐng)求頭部,發(fā)現(xiàn)第二次請(qǐng)求,瀏覽器發(fā)出的HTTP請(qǐng)求里,If-Modified-Since字段包含的就是第一個(gè)請(qǐng)求里從服務(wù)器端返回的last-modified字段值。

SAP ABAP應(yīng)用服務(wù)器的HTTP響應(yīng)狀態(tài)碼怎么解決

按F5刷新的這個(gè)請(qǐng)求到了服務(wù)器端,這一次ABAP服務(wù)器成功解析出請(qǐng)求字段If-Modified-Since的值:

SAP ABAP應(yīng)用服務(wù)器的HTTP響應(yīng)狀態(tài)碼怎么解決

將客戶端發(fā)送過來的這個(gè)If-Modified-Since時(shí)間戳,同服務(wù)器端該文件最后修改的時(shí)間戳進(jìn)行比較(即下圖第26行AND后的第二個(gè)判斷條件),發(fā)現(xiàn)二者相等,因此在第28行返回HTTP 304 Not Modified.

SAP ABAP應(yīng)用服務(wù)器的HTTP響應(yīng)狀態(tài)碼怎么解決

第三種情況:HTTP 200(from Cache)

關(guān)掉Chrome,再打開,再訪問同一url,此時(shí)Chrome直接從自身的cache里返回該JavaScript文件,而不是向ABAP服務(wù)器上發(fā)起請(qǐng)求。因此服務(wù)器上所有ABAP斷點(diǎn)均不會(huì)觸發(fā)。

SAP ABAP應(yīng)用服務(wù)器的HTTP響應(yīng)狀態(tài)碼怎么解決

再回到Jerry遇到的那個(gè)Azure上執(zhí)行function創(chuàng)建API遇到的HTTP 400 Bad request的incident,至本文發(fā)稿時(shí)為止還是未能得到解決。

SAP ABAP應(yīng)用服務(wù)器的HTTP響應(yīng)狀態(tài)碼怎么解決

盡管Azure的Function Host運(yùn)行時(shí)也是開源的,但不能調(diào)試,我拿著這些海量代碼也沒轍,目前Github上看到的就有多達(dá)967個(gè)開著的 issue.

SAP ABAP應(yīng)用服務(wù)器的HTTP響應(yīng)狀態(tài)碼怎么解決

“SAP ABAP應(yīng)用服務(wù)器的HTTP響應(yīng)狀態(tài)碼怎么解決”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


分享題目:SAPABAP應(yīng)用服務(wù)器的HTTP響應(yīng)狀態(tài)碼怎么解決-創(chuàng)新互聯(lián)
標(biāo)題來源:http://weahome.cn/article/poohj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部