HTTP请求时候总是设置的两个参数ConnectionTimeOut和SocketTimeOut

 在HTTP请求时候总是设置两个参数,就是连接超时和Socket超时

public static final String SO_TIMEOUT = "http.socket.timeout";
public static final String CONNECTION_TIMEOUT ="http.connection.timeout";
解析:
一次http请求,必定会有三个阶段,一:建立连接;二:数据传送;三,断开连接。
当建立连接在规定的时间内(ConnectionTimeOut )没有完成,那么此次连接就结束了。后续的SocketTimeOutException就一定不会发生。只有当连接建立起来后,也就是没有发生ConnectionTimeOutException ,才会开始传输数据,如果数据在规定的时间内(SocketTimeOut)传输完毕,则断开连接。否则,触发SocketTimeOutException。

例如在Springboot中的RestTemplate 中,设置http请求的参数:


    @Value("${http.socket.timeout}")
    private Integer socketTimeOut;

    @Value("${http.connection.timeout}")
    private Integer connectionTimeOut;

    @Value("${http.connection.request.timeout}")
    private Integer connectionRequestTimeOut;

转载:https://www.cnblogs.com/hym-pcitc/p/5681192.html 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值