标签: http-status-codes

HTTP状态的兼容性

我目前正在实现一个RESTful API(没什么大不了的,只是为了我正在开发的博客引擎)并且我对HTTP状态兼容性有一些疑问.

要创建一个新的博客文章,我必须做一个POST请求,如果一切顺利,将创建帖子,然后以与请求相对应的格式返回.

我在这个页面上从维基百科阅读了有关200 OK状态的信息

在POST请求中,响应将包含描述或包含操作结果的实体

好的.但后来有201 Created状态:

请求已完成,并导致创建新资源.

所以我的问题是:当一个POST请求成功并创建一个新的博客帖子时,我发回这两个http状态代码,或者一次只允许一个?

我没有从RFC获得这些信息,以为我没有完全阅读它.

我想一次只允许一个HTTP状态,但我应该使用哪一个?

编辑(新问题):如果操作正在编辑现有的博客帖子怎么办?我在URI上有一个PUT请求,这次我还要发回200 OK一个Location:标题呢?因为这个位置与PUT请求的URI完全相同,除了它应该是GET请求,这样可以吗?

rest http-status-codes

2
推荐指数
1
解决办法
264
查看次数

在Rails 3.2.3服务器中我得到错误304未修改(5ms)

我现在是ruby和rails的新手几个月了.我参加了红宝石和铁轨课程,这让我可以创建一个餐馆博客网站.好吧,我最近开始改造网站,为我的朋友.因此,它仅仅是改变图片,措辞等方面的一些东西.当我完全创建另一个博客时,我创建了一个登记页面登录页面,他们需要创建一个登录以创建和发布评论等.一切似乎当我为本地主机服务器运行rails时工作正常,但是当我为站点创建一个登录以确保一切正常时.它不允许我创建一个登录,并在我的rails服务器中不断收到错误.见下文!我搜索和搜索,似乎无法找到解决方案.我唯一真正改变的是一些图片和一些措辞.我没有搞乱编码登录,创建登录代码等.任何帮助都会很好,我将继续搜索.在此之前我得到了一个内容长度错误,所以我关注了这个网站http://theresa.multimediatechnology.at/webrick-warnings-in-ruby-1-9-3/.这似乎解决了这个问题,但现在我得到了以下内容.谢谢!

 whitey7@whitey7:~/poe$ rails s
 => Booting WEBrick
=> Rails 3.2.3 application starting in development on
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-07-28 08:59:58] INFO  WEBrick 1.3.1
[2012-07-28 08:59:58] INFO  ruby 1.9.3 (2012-04-20) [x86_64-linux]
[2012-07-28 08:59:58] INFO  WEBrick::HTTPServer#start: pid=4690 port=3000


Started GET "/reviews/register" for 127.0.0.1 at 2012-07-28 09:00:04 -0400
Processing by ReviewsController#register as HTML
  Rendered reviews/register.html.erb within layouts/application (5.9ms)
Completed 200 OK in 75ms (Views: 73.8ms | ActiveRecord: 0.0ms)


Started GET "/assets/reviews.css?body=1" for 127.0.0.1 …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails http-status-codes http-status-code-304

2
推荐指数
1
解决办法
3843
查看次数

如何根据Rails中的响应状态代码跳过after_filter回调?

我的一个控制器中有一个after_filter,只有在响应状态代码为200时才能执行.否则我想跳过它.那可能吗?

ruby-on-rails callback http-status-codes ruby-on-rails-3

2
推荐指数
1
解决办法
694
查看次数

RESTful ajax-“找不到项目”的哪个HTTP状态代码?

可以说我有一个单页Web应用程序,其中包含项目列表,用户可以在其中单击某个项目以查看有关该项目的更多信息。使用对URL http://www.example.com/item/[id]的AJAX GET请求,异步加载实际的项目信息,并在加载时显示。

问题是,如果给定ID的商品不存在,该怎么办?现在,该请求返回状态码200,但实际内容表明该商品不存在。这似乎是个坏主意,所以我想让它返回一个状态代码,该状态代码在某种意义上表示请求失败,因为该项目不存在(例如,它也允许我将其捕获到失败处理程序中)在jQuery的ajax函数中)。

这是一种好习惯吗(仅当该项目实际存在于数据库中时才返回状态代码200),如果是,那么在这种情况下哪种状态代码将是最佳选择?

javascript ajax jquery http-status-codes single-page-application

2
推荐指数
1
解决办法
1342
查看次数

HTTP API状态代码的自定义文本

我正在我的HTTP服务中编写一个新的端点,它建立在Play框架上,并返回一个特定错误的自定义状态代码(442在这种情况下).当我用cURL测试端点时,我收到了预期的错误代码:

...
< HTTP/1.1 442 Client Error (442)
....
Run Code Online (Sandbox Code Playgroud)

邮差REST客户端一样:

具有自定义响应代码的邮递员状态

我想要做的是自定义"客户端错误"文本,这样响应实际上会读取如下内容:

442 Forced Password Reset
Run Code Online (Sandbox Code Playgroud)

这是可能的,还是在规范中,4xx类的任何自定义状态代码都被所有客户端解释为"客户端错误"?

(我一直在查看关于状态相关Play文档,但没有看到任何选项来自定义文本 - 只有状态代码整数本身.)

http http-status-codes playframework

2
推荐指数
1
解决办法
490
查看次数

失败的电子邮件发送的http状态代码

考虑创建用户的API调用.成功后,将创建用户并发送确认电子邮件.响应状态代码为201.

如果未创建用户,则响应状态代码为422.

如果创建用户,响应状态代码应该是什么?但是发送确认电子邮件失败了?

rest http-status-codes

2
推荐指数
1
解决办法
2079
查看次数

修改Http状态代码文本

如何修改状态代码文本(说明/标题)?

例如:我想200 (Ok)改为200 (My Custom Text)

应将描述

我想用自定义状态代码(未预留)431创建HTTP响应.我想修改它的文本:

  • 200 (OK)
  • 400 (Bad Request)
  • 431 (My message here)

我试过了:

var response = new HttpResponseMessage() 
{
    StatusCode = (HttpStatusCode) 431,
};

response.Headers.Add("Status Code", "431 My custom text"); // This throws error.
Run Code Online (Sandbox Code Playgroud)

c# asp.net http http-status-codes asp.net-web-api2

2
推荐指数
1
解决办法
2020
查看次数

如何在ASP.Net Core中获取HttpStatus代码?

我正在运行一个安全和不安全域(包括http://https://)的列表,并希望返回其状态代码.这怎么可能在ASP.Net Core 1.0中?

到目前为止,我有

foreach(var item in _context.URLs.ToList())
{
    // Do something here with item.Domain to check for status
    // For example, if item.Domain was https://example.com..
}
Run Code Online (Sandbox Code Playgroud)

我用这种方法用常规ASP.Net语法尝试了它:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(item.Domain);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Run Code Online (Sandbox Code Playgroud)

问题是,GetResponse在ASP.Net Core中不起作用

任何人都可以帮我解决一个有效的解决方案,以便返回的变量是状态吗?

例如:200,500,404..

编辑 - 这是我的完整控制器和解决方案:

using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.AspNetCore.Mvc;
using MyApp.Models;
using System.Threading.Tasks;
using System.Net;
using System.Net.Http;
namespace MyApp.Controllers.Api
{
    public class URLsController : Controller
    { …
Run Code Online (Sandbox Code Playgroud)

c# asp.net http-status-codes asp.net-core-mvc asp.net-core

2
推荐指数
1
解决办法
4503
查看次数

laravel 5.6 - 如何从控制器设置http响应代码

我是laravel的新手,并成功地将用户从控制器引导到适当的视图,但在某些情况下,我想设置一个http状态代码,但无论发送什么,它总是返回200的响应代码.

这是我的测试控制器功能的代码:

public function index()
{
    $data=array();

    return response()->view('layouts.default', $data, 201);
}
Run Code Online (Sandbox Code Playgroud)

如果我在路由中使用相同的代码,它将返回正确的http状态代码,就像我从命令行使用curl -I调用页面时所看到的那样.

curl -I http://localhost/
Run Code Online (Sandbox Code Playgroud)

是否有理由说它在控制器内不起作用,但在路由呼叫中是否有效?

我确信有些东西我只是误解为新手,但即使以下代码在路由中工作但不是控制器:

public function index()
{
    abort(404);
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

php controller http-status-codes laravel laravel-5

2
推荐指数
1
解决办法
4830
查看次数

在中间件中获取响应状态代码

我正在构建一个应用程序,其中我试图为每个请求构建自己的日志记录系统。

对于每个请求,我想记录时间戳,使用的方法,路由,最后是已发送到客户端的响应代码。

我现在有以下代码:

// index.js
const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');

const app = express();
app.use(bodyParser.json());
app.use(cors());

app.use(require('./lib/logging'));

app.get('/', (req, res, next) => {
  res.send('hello world !');
});

app.listen(3001);

// ./lib/logging.js
const moment = require('moment');
const chalk = require('chalk');
const log = console.log;

module.exports = (req, res, next) => {
  let now = `[${chalk.green(moment().format('HH:mm:ss'))}]`;
  let method = chalk.magenta(req.method);
  let route = chalk.blue(req.url);
  let code = chalk.yellow(res.statusCode); // Always 200
  log(`${now} ${method} request received on …
Run Code Online (Sandbox Code Playgroud)

javascript middleware http-status-codes node.js express

2
推荐指数
2
解决办法
1225
查看次数