我有一种感觉,我错过了显而易见的,但没有成功man [curl|wget]或谷歌("http"做出如此糟糕的搜索词).我正在寻找一个快速和脏的修复我们的一个经常失败的网络服务器,返回状态代码500与错误消息.一旦发生这种情况,就需要重新启动它.
由于根本原因似乎很难找到,我们的目标是快速修复,希望它足以缩短时间,直到我们能够真正解决它(该服务不需要高可用性)
建议的解决方案是创建一个每5分钟运行一次的cron作业,检查http:// localhost:8080 /.如果返回状态码500,则将重新启动Web服务器.服务器将在一分钟内重启,因此无需检查已经运行的重启.
有问题的服务器是一个ubuntu 8.04最小安装,只安装了足够的软件包来运行它当前需要的软件包.在bash中执行任务没有硬性要求,但我希望它能在如此简单的环境中运行,而无需安装任何解释器.
(我非常熟悉脚本,将http状态代码分配给环境变量的命令/选项就足够了 - 这就是我所寻找和找不到的.)
我正在使用的MVC应用程序中的每个页面都在响应中设置这些HTTP标头:
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
X-AspNetMvc-Version: 2.0
Run Code Online (Sandbox Code Playgroud)
如何防止这些显示?
Expires和Cache-Control标题有什么区别?
有没有人设法添加Access-Control-Allow-Origin到响应标头?我需要的是这样的:
<img src="http://360assets.s3.amazonaws.com/tours/8b16734d-336c-48c7-95c4-3a93fa023a57/1_AU_COM_180212_Areitbahn_Hahnkoplift_Bergstation.tiles/l2_f_0101.jpg" />
Run Code Online (Sandbox Code Playgroud)
此get请求应包含在响应中,标题, Access-Control-Allow-Origin: *
我对存储桶的CORS设置如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Run Code Online (Sandbox Code Playgroud)
正如您所料,没有Origin响应头.
我正在使用express在nodejs上运行服务器.我似乎无法摆脱标题:
X-Powered-By:Express
Run Code Online (Sandbox Code Playgroud)
我想知道是否有任何方法摆脱这个标题或我是否必须忍受它?
如何生成"304 Not Modified"?
浏览器如何确定对http请求的响应是否为304?
是由浏览器设置还是从服务器发送?
如果由服务器发送,服务器如何知道缓存中可用的数据,它如何将304设置为图像?
我的猜测,如果由浏览器生成
function is_modified()
{
return get_data_from_cache() === get_data_from_url();
};
function get_data_from_cache()
{
return some_hash_or_xxx_function(cache_data);
}
function get_data_from_url()
{
return some_hash_or_xxx_function(new_data);
}
function some_hash_or_xxx_function(data)
{
// do something with data
// what is that algorithm.?
return result;
}
console.log(is_modified());
Run Code Online (Sandbox Code Playgroud)
我依靠第三方API提供程序来获取数据,解析并将其推送到数据库.在每个请求期间数据可能会也可能不会发生变化,但是标题总是发送200,我不想解析,检查DB中的最后一个唯一ID等等来确定数据的变化,也不直接比较结果而是我md5(),sha1()&crc32()HASHed结果和工作正常,但想知道算法来确定304.
我想使用相同类型的算法来确定数据的变化.
我是python的新手并使用Python Flask并生成REST API服务.
我想检查发送给客户端的授权标头.
但我无法找到获取HTTP标头的方法.
任何有关获取HTTP标头授权的帮助都表示赞赏.
我在维基百科上读到了Pragma标题,其中说:
"Pragma:no-cache标头字段是用于请求的HTTP/1.0标头.它是浏览器告诉服务器和任何中间缓存它需要新资源的一种手段,而不是服务器告诉浏览器不要缓存资源.一些用户代理确实在响应中注意这个头,但HTTP/1.1 RFC专门警告不要依赖这种行为."
但我还不明白它的作用?是什么之间的差异Cache-Control,其值是头no-cache和Pragma其值也no-cache?
我的应用程序中有一个特殊请求需要基本身份验证,因此我需要为该请求设置Authorization标头.我读到了有关设置HTTP请求标头的内容,但据我所知,它将为该方法的所有请求设置该标头.我的代码中有类似的东西:
$http.defaults.headers.post.Authorization = "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==";
Run Code Online (Sandbox Code Playgroud)
但我不希望我的每个帖子请求发送此标头.有没有办法只为我想要的一个请求发送标题?或者我是否必须在我的要求后将其删除?
我正在尝试在Go Web服务器中设置标题.我正在使用gorilla/mux和net/http打包.
我想设置Access-Control-Allow-Origin: *允许跨域AJAX.
这是我的Go代码:
func saveHandler(w http.ResponseWriter, r *http.Request) {
// do some stuff with the request data
}
func main() {
r := mux.NewRouter()
r.HandleFunc("/save", saveHandler)
http.Handle("/", r)
http.ListenAndServe(":"+port, nil)
}
Run Code Online (Sandbox Code Playgroud)
该net/http软件包包含描述发送http请求标头的文档,就像它是客户端一样 - 我不确定如何设置响应标头?
http-headers ×10
http ×5
cors ×2
javascript ×2
amazon-s3 ×1
angularjs ×1
asp.net-mvc ×1
bash ×1
browser ×1
express ×1
flask ×1
go ×1
httpresponse ×1
node.js ×1
protocols ×1
python ×1
request ×1
security ×1
shell ×1
webserver ×1