小编Mar*_*ark的帖子

HTTP规范:代理授权和授权标头

所以我试图实现以下场景:

  • 应用程序受基本身份验证保护.让我们说它是托管的app.com
  • 在应用程序前面的HTTP代理也需要身份验证.它托管在proxy.com

因此,用户必须在同一请求中为代理和应用程序提供凭证,因此他具有不同的用户名/密码对:一对用于对应用程序进行身份验证,另一对用户/密码对用于对代理进行身份验证.

阅读规范后,我不确定我应该如何实现这一点.我想要做的是:

  1. 用户向代理发出HTTP请求,而不进行任何类型的身份验证.
  2. 代理回答407 Proxy Authentication Required并返回Proxy-Authenticate以下格式的标头:"Proxy-Authenticate: Basic realm="proxy.com".
    问题:此Proxy-Authenticate标题是否正确设置?
  3. 然后,客户端使用Proxy-Authorization标头重试请求,该标头是代理的Base64表示username:password.
  4. 这次代理验证请求,但随后应用程序使用401 Unauthorized标头进行应答.用户由代理进行身份验证,但不是由应用程序进行身份验证.应用程序WWW-Authenticate为响应添加标题WWW-Authenticate: Basic realm="app.com".问题:这个标题值是对的吗?
  5. 客户端再次使用Proxy-Authorization标头和使用Authorization应用程序的Base64表示值的标头重试请求username:password.
  6. 此时,代理成功验证请求,将请求转发给对用户进行身份验证的应用程序.客户终于得到了回复.

整个工作流程是否正确?

authentication specifications http basic-authentication proxy-authentication

42
推荐指数
1
解决办法
5万
查看次数

在Ruby中减去日期并在几分钟内得到差异

我如何在Ruby中减去两个不同的UTC日期,然后在几分钟内得到差异?

谢谢

ruby date

39
推荐指数
3
解决办法
4万
查看次数

使用BigDecimal将两个数相乘会返回错误的值

执行以下代码:

new BigDecimal(0.06 * 3).toString()
Run Code Online (Sandbox Code Playgroud)

返回0.179999999999999993338661852249060757458209991455078125而不是0.18.

执行

new BigDecimal(0.06).multiply(new BigDecimal(3)).toString() 
Run Code Online (Sandbox Code Playgroud)

返回相同的结果.

这怎么可能?

java math bigdecimal

32
推荐指数
1
解决办法
3512
查看次数

在PHP中将UTC日期转换为本地时间

我使用以下方法将UTC日期存储到数据库中:

$utc = gmdate("M d Y h:i:s A");
Run Code Online (Sandbox Code Playgroud)

然后我想将保存的UTC日期转换为客户端的本地时间.

我怎样才能做到这一点?

谢谢

php timezone datetime

29
推荐指数
8
解决办法
14万
查看次数

DynamoDB中的原子计数器

我正考虑在我的应用程序中使用Amazon DynamoDB,我对其原子计数器的可靠性有疑问.

我正在构建一个分布式应用程序,它需要同时一致地增加/减少存储在Dynamo属性中的计数器.我想知道Dynamo的原子计数器在一个繁重的并发环境中是多么可靠,其中并发级别非常高(例如,平均速率为20k并发命中率 - 获得这个想法,这将是近52亿增量/每月递减).

柜台应该是超级可靠的,永远不会错过任何一个.有人在这样的关键环境中测试了DynamoDB吗?

谢谢

concurrency counter atomic increment amazon-dynamodb

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

Elasticsearch 1.2.1异常:解析后根类型映射不为空

更新到Elasticsearch后,1.2.1我继续在以下映射上获得以下异常:

{
    "tags": {
        "properties": {
            "tags": {
                "type": "string",
                "index": "not_analyzed"
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是例外:

Caused by: org.elasticsearch.index.mapper.MapperParsingException: Root type mapping not empty after parsing! Remaining fields: [tags : {properties={tags={index=not_analyzed, type=string}}}]
    at org.elasticsearch.index.mapper.DocumentMapperParser.parse(DocumentMapperParser.java:265)
    at org.elasticsearch.index.mapper.DocumentMapperParser.parseCompressed(DocumentMapperParser.java:189)
    at org.elasticsearch.index.mapper.MapperService.parse(MapperService.java:387)
    at org.elasticsearch.index.mapper.MapperService.merge(MapperService.java:253)
    at org.elasticsearch.cluster.metadata.MetaDataCreateIndexService$2.execute(MetaDataCreateIndexService.java:363)
Run Code Online (Sandbox Code Playgroud)

这是为什么?

java exception elasticsearch

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

JUnit终止子线程

当我测试创建子线程的方法的执行时,JUnit测试在子线程之前结束并杀死它.

我如何强制JUnit等待子线程完成其执行?

谢谢

java junit multithreading unit-testing

17
推荐指数
1
解决办法
8860
查看次数

mod_rewrite和双斜杠问题

我将以下mod_rewrite规则应用于Apache2从非www重定向到www:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)

我有两个问题:

1)有一个双斜线问题:

任何解决方法的提示?

2)我的配置是否适合SEO?

apache mod-rewrite configuration

17
推荐指数
3
解决办法
2万
查看次数

Ruby中的strpos()?

在PHP中,有一个有用的strpos函数可以找到第一次出现字符串的位置.在Ruby中有类似的方法吗?

ruby strpos

16
推荐指数
1
解决办法
6817
查看次数

Java和RFC 3986 URI编码

是否有一个类String根据RFC 3986规范对通用进行编码?

那就是:"hello world"=> "hello%20world" 不(RFC 1738):"hello+world"

谢谢

java encode uri rfc3986

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