JAVA ’ 目录归档

《HttpClient官方文档》2.8 HttpClient代理配置

2.8. HttpClient代理配置

即使HttpClient意识到路由方案和代理连接的复杂性,它也只支持简单直连或单跳代理连接的开箱即用。

通知HttpClient连接到目标主机,最简单的方法是通过设置默认参数的代理:

阅读全文

《Spring Boot官方指南》28.3 -28.4

28.3 User Info RestTemplate的自定义

如果您有一个’user-info-uri’,资源服务器在内部使用’OAuth2RestTemplate’功能来获取用户的身份验证信息。这将提供一个带有’userInfoRestTemplate’主键的’@Bean’,你使用它的时候不需要知道这些。大多数提供程序使用默认就够了,但偶尔你可能需要添加额外的拦截器,或者更改请求验证器(来获取附加在传出请求种令牌)。要添加自定义只需创建一个类型为’UserInfoRestTemplateCustomizer’的bean,它有一个方法,将在bean创建后初始化之前调用。此处定制的rest template用于内部身份验证。
阅读全文

《Spring Boot官方指南》28.1 – 28.2

28.1 OAuth2

如果您的类路径上有’spring-security-oauth2’,您可以利用一些自动配置来使设置授权或资源服务器变得容易。 详细信息请见 Spring Security OAuth 2 Developers Guide.

阅读全文

《HttpClient官方文档》1.3 HTTP执行上下文

1.3 HTTP执行上下文

HTTP起初是被设计成一种无状态的、面向请求和响应的协议。然而实际的应用经常需要在请求-响应切换过程中保存状态信息。为了使应用能够维持处理状态,HttpClient允许HTTP请求可以在一个特殊的上下文环境(HttpContext)中执行。如果一个context在连续的HTTP请求中被复用,那么这些逻辑相关的请求可以参与到同一个逻辑会话中。HttpContext功能与java.util.Map<String, Object>类似,它是一组任意值的集合。一个应用程序可以在请求执行之前填充上下文属性或者在请求执行完成后检查上下文。

阅读全文

《HttpClient官方文档》2.7 连接套接字工厂

2.7. Socket连接工厂

HTTP连接在内部使用java.net.Socket类的对象来处理数据在线路上的传输。 然而,他们依靠 ConnectionSocketFactory接口来创建,初始化和连接Socket。HttpClient的使用者能够在运行时,提供应用程序特定的Socket初始化代码。PlainConnectionSocketFactory类是创建和初始化普通(未加密)套接字的默认工厂类。

阅读全文

《HttpClient官方文档》2.6 连接维持存活策略

2.6. 连接维持存活策略

HTTP规范不会指定长连接存活的时间,以及是否应该维持连接。一些HTTP服务器使用非标准的“Keep-Alive”头部来与客户端通信,以维持连接在服务器端存活的时间(以秒为单位)。如果这个可用, HttpClient将利用它。如果响应中不存在“Keep-Alive”头部,则HttpClient假定连接可以无限期存活。然而,通常许多HTTP服务器在使用中配置为不通知客户端,长连接在闲置一定时期之后会被丢弃,以便节省系统资源。 万一默认策略导致结果过于乐观,可能需要提供维持一个自定义的存活策略。

阅读全文

《Spring Boot官方指南》28.安全

28. 安全

如果Spring Security位于类路径上,那么Web应用程序将默认使用所有HTTP端点上的’basic’身份验证。要向Web应用程序添加方法级安全性,还可以为你想要的设置添加“@EnableGlobalMethodSecurity”。通过点击Spring Security Reference能够找到更多的信息。

阅读全文

《HttpClient官方文档》第六章 HTTP 缓存

原文链接 译者[xuheyang]

第六章. HTTP缓存

6.1. 通用概念

HttpClient Cache 提供了用HttpClient(等效浏览器缓存的Java实现)来兼容HTTP / 1.1的缓存层。实现遵循责任链模式,HttpClient缓存的实现类可以替代默认无缓存的HttpClient;完全可以通过缓存实现的请求将不会触发实际的原始请求。在可以的情况下,使用GETs条件If-Modified-Since和/or If-None-Match请求头,会自动验证旧的缓存项。HTTP / 1.1缓存一般被设计成语义透明的,也就是说,缓存不会改变客户端和服务器端的请求响应之间交换的意义。因此,向一个现有的客户端-服务器的关系中添加HttpClient是安全的。尽管从一个HTTP协议的角度来看,缓存模块是客户端的一部分,实现的目标是满足基于透明缓存代理的要求。最后,缓存HttpClient包括支持RFC 5861(stale-if-error和stale-while-revalidate)指定的cache – control扩展。 当缓存HttpClient执行一个请求时,它会通过以下流程:

阅读全文

《HttpClient官方文档》2.5 连接驱逐策略

2.5. 连接驱逐策略

经典阻塞I / O模型的主要缺点之一是网络套接字只有在I / O操作阻塞时才能对I / O事件作出反应。当连接释放回管理器时,它可以保持活动,但是它无法监视套接字的状态,并对任何I / O事件做出反应。如果服务器端关闭连接,客户端这边的连接将无法察觉连接状态的变化(并且在通过在末端关闭套接字来做出适当地对应)。

阅读全文

《HttpClient官方文档》2.4 多线程请求执行

2.4.多线程请求执行

当HttpClient拥有类似PoolingClientConnectionManage类这样的池连接管理器,它就能够使用多线程来并发执行多个请求。

阅读全文

《HttpClient官方文档》4.1-4.3 HTTP验证

原文链接  译者:edenpan

4 HTTP 验证

httpClient 对根据HTTP 标准规则制定的权限验证方案,以及很多不标准但广泛使用的验证方案,比如:NTML和SPNEGO提供完全的支持。

阅读全文

《HttpClient官方文档》2.3 HTTP连接管理

2.3. HTTP 连接管理

2.3.1. 管理连接和连接管理器

HTTP 连接是复杂的、 有状态的、 非线程安全的对象,因此需要恰当的管理才能正常工作。HTTP连接一次只能由一个线程使用。HttpClient使用实现了HttpClientConnectionManager接口,被称为HTTP连接管理器的特殊实体去访问HTTP连接。
阅读全文

《Spring Boot官方指南》-30.1 redis

Redis是一个缓存,消息中间件及具有丰富特性的键值存储系统。Spring Boot为Jedis客户端库和由Spring Data Redis提供的基于Jedis客户端的抽象提供自动配置。spring-boot-starter-redis‘Starter POM’为收集依赖提供一种便利的方式。

阅读全文

《HttpClient官方文档》1.2 HttpClient 接口

原文链接

1.2. HttpClient 接口

HttpClient 接口表示最基本的HTTP请求执行要约。它不会对请求执行过程加上约束或一些特定的信息,并且保留连接管理,状态管理,认证和处理重定向的细节到各自的实现中。这会使它更方便的使用额外功能来装饰接口,如响应内容缓存。

阅读全文

《HttpClient官方文档》1.1 执行请求

原文链接

1.1. 执行请求

HttpClient最基本的功能就是执行HTTP方法。 一个HTTP方法的执行包含一次或多次HTTP请求与响应,通常由HttpClient的内部处理。
用户提供一个请求对象,HttpClient发送该请求到目标服务器,服务器返回相应的响应对象,如果执行未成功则抛出一个异常。

阅读全文

return top