gpt4 book ai didi

java - 由于什么原因从 Apache httpClient 中删除了预身份验证?

转载 作者:行者123 更新时间:2023-12-01 13:47:47 24 4
gpt4 key购买 nike

正如您所看到的,Apache httpclient 3.x 有一个令人惊奇的方法,您可以使用它来减少客户端和服务器之间发送的不必要的连接和数据量:

client.getParams().setAuthenticationPreemptive(true);

http://hc.apache.org/httpclient-3.x/authentication.html#Preemptive_Authentication

我想知道的是,为什么他们要删除它?
我知道有适当的解决方法,例如使用拦截器或修改 header ,但我想知道该更改背后的原因:稳定性、性能、安全性、一致性? ...

最佳答案

抢先身份验证作为一个简单的 boolean 标志是一个很好的例子,说明了如何在没有长期考虑的情况下将功能添加到 HC 3.x,直到 3.x 代码线变得完全难以管理。

防止意外敏感信息泄露是改变 HC 4.x 中抢先身份验证工作方式的主要原因。 HC 3.x 使人们能够非常轻松地以明文方式向随机站点提交凭证,甚至没有意识到这一点。

从 4.1 开始,HttpClient 默认采用更加明智的策略:在显式身份验证质询和成功身份验证之后将身份验证凭据缓存在执行上下文中。同一 session 中的所有后续请求都使用缓存的身份验证 Material 进行抢先身份验证。如有必要,仍然可以通过预填充身份验证缓存来强制对初始请求进行抢先身份验证。但至少这要求用户明确为特定身份验证目标提供身份验证 Material 。

关于java - 由于什么原因从 Apache httpClient 中删除了预身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20219092/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com