Httpclient核心架构设计

,背景知识

Http简介

通常,我们使用IE或者safari来访问互联网上的内容,只需要输入资源地址,浏览器便会呈现给你想要的内容。这一切的背后,都是迄今为止在计算机领域最成功的协议–http协议。

Http协议分为请求和响应,客户端建立连接,接着发送请求,服务端接受并处理请求,再发送应答,再由客户端接受并处理应答。浏览器是最最常见的一种客户端,它将用户的交互行为作为http请求发送,并接受服务端的应答,再将应答内容展示,一般应答都是html类型的超文本。

浏览器显然不是唯一的客户端,理论上任何遵循了http规范都可作为客户端。在程序里也可以通过java api实现简单的客户端–使用HttpURLConnection发送http请求,并解析应答。假设应答是个html或者json,则只需要基于双方约定的格式进行解析就能得到所需结果。

Http, tcp/ip和socket区别

Tcp/ip是传输层协议,而http则是建立在它之上的上层应用协议。Http聚焦在数据规范层面,tcp/ip则主要解决数据传输层面。如果没有规范的应用协议,数据能从网络里的A节点传到B节点,但却无法有效识别,建立在tcp/ip上的应用协议很多,像rpc,ftp等,反过来不管应用协议有多强大最终都需要依靠传输层协议进行数据传输。
Socket则是tcp/ip的一个编程实现,在程序里http请求(连接)最终一定需要绑定到一个具体的socket连接进行上行和下行传输。

整体架构

对于简单应用,HttpURLConnection完全

  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值