我想在yaws中动态地(在构建响应时)更改http-header "Server:"值.我试过了:-
[{status, 200},
{allheaders,
[{header,
["Server: ","ASP.NET Development Server/10.0.0.0"]
}]
},
{html,Body}
]
Run Code Online (Sandbox Code Playgroud)
它返回了两个 "Server:"标题而不是一个.但它适用于所有其他标题.
我怀疑这是一个非常微不足道的问题.我正在编写一个PHP脚本来响应AJAX查询.查询应该包含一些XML数据,PHP脚本处理这些数据然后返回响应.我想要考虑两个错误情况:
在这种情况下,我相信我应该返回4xx响应代码.还有比400更合适的东西吗?
更多细节
为了进一步说明问题:客户端Javascript应用程序是用于教育目的的图编辑器.用户需要创建一个能够正确建模给定情况的图表.然后,学生可以提交图表,通过AJAX调用将图表的XML序列化发送到服务器.PHP脚本分析图表XML并构造一个XML报告,该报告作为AJAX响应发送到客户端.我最初描述的两种情况(其中没有XML POST数据或其中的无效XML)不应该在客户端请求时发生,但我认为正确捕获和处理这些情况是明智的.因此我认为4xx响应代码是合适的.XML报告结构不适合这些情况,空报告将构成一个完美的图表,这显然是不合适的,
将HTTP连接升级到websocket时,可以在可选的HTTP头"Sec-WebSocket-Protocol"中提供一个或多个子协议.
如果服务器接受任何子协议,它将使用HTTP响应代码101("HTTP/1.1 101交换协议")进行响应,并包含指示所选子协议的HTTP标头"Sec-WebSocket-Protocol".
但是服务器应该如何正确处理未知/不支持的子协议?
这应该在HTTP连接"内部"完成 - 使用一些HTTP响应代码吗?
或者是否应该将连接升级到websocket - 并通过发送带有一些预定义websocket状态代码的"关闭框架"立即关闭服务器?
RFC6455说什么?我无法得出结论.现有服务器实现如何处理它?
问候/每/
我可以看到该getResponseCode()方法只是一个getter方法,它返回statusCode之前发生的连接操作已经设置的方法.
所以在这种情况下为什么会抛出一个IOException?
我错过了什么吗?
java urlconnection httpresponse httpurlconnection http-response-codes
我正在创建一个django应用程序.用户登录并显示由flatpages应用程序管理的静态网页.
以下是来自开发服务器的典型状态消息:
[15/Aug/2013 18:43:16] "GET / HTTP/1.1" 200 1263
[15/Aug/2013 18:43:23] "POST / HTTP/1.1" 302 0
[15/Aug/2013 18:43:23] "GET /home HTTP/1.1" 301 0
[15/Aug/2013 18:43:23] "GET /home/ HTTP/1.1" 200 4529
Run Code Online (Sandbox Code Playgroud)
为什么服务器以302响应put请求?
是什么导致了第三条线?为什么要发送此消息?这不应该是flatpages中间件抓住的东西吗?我的网络客户端是否发送了第四行的请求?怎么知道这样做?
我想最重要的问题是:我做错了吗?
谢谢您的帮助!
urls.py
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^$', 'django.contrib.auth.views.login'),
url(r'^logout$', 'guide.views.logout_view'),
# other patterns
(r'', include('django.contrib.flatpages.urls')),
)
Run Code Online (Sandbox Code Playgroud)
views.py
def home(request):
if request.user.is_authenticated() == False:
return HttpResponseRedirect('/')
return HttpResponseRedirect('/home/')
Run Code Online (Sandbox Code Playgroud)
来自settings.py的摘录
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
'guide.middleware.LogActivity'
)
INSTALLED_APPS …Run Code Online (Sandbox Code Playgroud) django response.redirect http django-flatpages http-response-codes
我使用Httparty使用以下代码对网站进行了POST:
HTTParty.post("http://example.com", :body => application_hash.to_json, :headers => {'Content-Type' => 'application/json'})
Run Code Online (Sandbox Code Playgroud)
如何查看此提交的响应代码?
我正在研究Exoplayer Demo以便在我的应用程序中使用它。除字幕外,其他所有内容均正常运行。我使用Expression Encoder 4 pro将影片编码为II Smooth Streaming格式。当我向电影添加英语字幕时,Exoplayer会正确显示英语字幕,但是当我向电影添加波斯语字幕时,Exoplayer会抛出InvalidResponseCodeException。我确定该网址正确,因为我可以通过浏览器下载该网址。
http://www.test.com/XXX/QualityLevels(546)/Fragments(textstream_fas=0)
com.google.android.exoplayer.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 404
at com.google.android.exoplayer.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:204)
at com.google.android.exoplayer.upstream.DefaultUriDataSource.open(DefaultUriDataSource.java:87)
at com.google.android.exoplayer.chunk.ContainerMediaChunk.load(ContainerMediaChunk.java:146)
at com.google.android.exoplayer.upstream.Loader$LoadTask.run(Loader.java:242)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
Run Code Online (Sandbox Code Playgroud)
有什么我应该知道的特别之处吗?让我知道您是否需要其他信息。
编辑: 当我在记事本++中打开Fragments(textstream_fas = 0)。*时,它显示文件是用ANSI编码的。
谢谢
我想从(ruby on rails)响应中删除一些标题
标题响应:
我想删除或更改的标题是:
我在php中构建自己的rest api进行练习.我可以评估发送到我的api的http代码(post,put,delete,get).但是当我发出我的回复时,我真的只是打印出一个json.例如,我在我的api中建立了一个响应
public function actionTest()
{
$rtn=array("id":"3","name":"John");
print json_encode($rtn);
}
Run Code Online (Sandbox Code Playgroud)
无论如何我都没有操纵标题.从阅读stackoverflow,我知道我应该返回http响应代码以匹配我的api结果.如何构建我的api并返回响应代码.我只是不明白我是怎么做到的,因为现在我只是打印出一个json.
我不是要问哪些代码要返回.我只是想知道如何返回代码.
假设我有一个支持创建新消息的端点。我避免在后端创建两次相同的消息,以防用户尝试按按钮两次(或者前端应用程序行为异常)。
目前,对于重复操作,我的服务器正在响应 303 see other 指向先前创建的资源 URL。但我发现我也可以使用 302 发现。哪一个看起来更合适?
请注意,重复避免策略可能更复杂(例如,对于约会,我们将检查发布的约会是否在现有约会的一小时内)