什么是 HTTP 请求的 904 事务结束响应
What is 904 Transaction Ended Response for HTTP Request
我有一个 AngularJS 网络应用程序。我的服务器 运行 有 Java/Spring。我在 UI 中有一个需要用户名和密码的登录页面。我 运行 AWS EC2 上的应用程序使用 HTTPS。当我通过浏览器手动测试应用程序时,我能够从 UI 向我的服务器发送请求并获得正确的响应。但是,当我使用 selenium 脚本监视应用程序时,我得到了 904 事务已结束。这是什么意思 ?以下是来自日志的请求和响应消息。
{
"time":743,
"request":{
"method":"POST",
"headers":[
{
"name":"Accept-Language",
"value":"en-US,en;q=0.5"
},
{
"name":"accountId",
"value":"121232131"
},
{
"name":"Host",
"value":"aws.hostname.com"
},
{
"name":"Content-Length",
"value":"57"
},
{
"name":"Referer",
"value":"http://aws.hostname.com/"
},
{
"name":"Accept-Encoding",
"value":"gzip, deflate"
},
{
"name":"User-Agent",
"value":"Mozilla/5.0 (Windows NT 6.0; rv:31.0; Neustar WPM) Gecko/20100101 Firefox/31.0"
},
{
"name":"Content-Type",
"value":"application/x-www-form-urlencoded; charset=UTF-8"
},
{
"name":"Connection",
"value":"keep-alive"
},
{
"name":"Accept",
"value":"application/json, text/plain, */*"
},
{
"name":"Cache-Control",
"value":"no-cache"
},
{
"name":"Pragma",
"value":"no-cache"
}
],
"url":"http://aws.hostname.com/login",
"queryString":[
],
"cookies":[
],
"httpVersion":"HTTP/1.1",
"bodySize":-1,
"postData":{
"params":[
{
"name":"username",
"value":"user@whosebug.com"
},
{
"name":"password",
"value":"confused"
}
],
"text":"username=user%40whosebug.com&password=confused",
"mimeType":"application/x-www-form-urlencoded; charset=UTF-8"
},
"headersSize":12
},
"response":{
"content":{
"size":0
},
"headers":[
],
"status":904,
"cookies":[
],
"statusText":"Transaction ended",
"httpVersion":"HTTP/1.1",
"bodySize":0,
"redirectURL":"",
"headersSize":0
},
"pageref":"2",
"startedDateTime":"2015-02-20T20:29:14.390+0000",
"cache":{
},
"timings":{
"blocked":-1,
"dns":-1,
"connect":-1,
"send":0,
"wait":0,
"receive":743,
"ssl":-1
},
"_wsid":0
}
发生这种情况是因为我在 AngularJS 的按钮上执行了 clickAndWait。由于它是一个 ajax 请求,selenium 并没有真正等待响应,因此事务结束了。我更新了我的脚本以等待点击后没有网络流量。
我有一个 AngularJS 网络应用程序。我的服务器 运行 有 Java/Spring。我在 UI 中有一个需要用户名和密码的登录页面。我 运行 AWS EC2 上的应用程序使用 HTTPS。当我通过浏览器手动测试应用程序时,我能够从 UI 向我的服务器发送请求并获得正确的响应。但是,当我使用 selenium 脚本监视应用程序时,我得到了 904 事务已结束。这是什么意思 ?以下是来自日志的请求和响应消息。
{
"time":743,
"request":{
"method":"POST",
"headers":[
{
"name":"Accept-Language",
"value":"en-US,en;q=0.5"
},
{
"name":"accountId",
"value":"121232131"
},
{
"name":"Host",
"value":"aws.hostname.com"
},
{
"name":"Content-Length",
"value":"57"
},
{
"name":"Referer",
"value":"http://aws.hostname.com/"
},
{
"name":"Accept-Encoding",
"value":"gzip, deflate"
},
{
"name":"User-Agent",
"value":"Mozilla/5.0 (Windows NT 6.0; rv:31.0; Neustar WPM) Gecko/20100101 Firefox/31.0"
},
{
"name":"Content-Type",
"value":"application/x-www-form-urlencoded; charset=UTF-8"
},
{
"name":"Connection",
"value":"keep-alive"
},
{
"name":"Accept",
"value":"application/json, text/plain, */*"
},
{
"name":"Cache-Control",
"value":"no-cache"
},
{
"name":"Pragma",
"value":"no-cache"
}
],
"url":"http://aws.hostname.com/login",
"queryString":[
],
"cookies":[
],
"httpVersion":"HTTP/1.1",
"bodySize":-1,
"postData":{
"params":[
{
"name":"username",
"value":"user@whosebug.com"
},
{
"name":"password",
"value":"confused"
}
],
"text":"username=user%40whosebug.com&password=confused",
"mimeType":"application/x-www-form-urlencoded; charset=UTF-8"
},
"headersSize":12
},
"response":{
"content":{
"size":0
},
"headers":[
],
"status":904,
"cookies":[
],
"statusText":"Transaction ended",
"httpVersion":"HTTP/1.1",
"bodySize":0,
"redirectURL":"",
"headersSize":0
},
"pageref":"2",
"startedDateTime":"2015-02-20T20:29:14.390+0000",
"cache":{
},
"timings":{
"blocked":-1,
"dns":-1,
"connect":-1,
"send":0,
"wait":0,
"receive":743,
"ssl":-1
},
"_wsid":0
}
发生这种情况是因为我在 AngularJS 的按钮上执行了 clickAndWait。由于它是一个 ajax 请求,selenium 并没有真正等待响应,因此事务结束了。我更新了我的脚本以等待点击后没有网络流量。