首页 > 学院 > 开发设计 > 正文

HTTP请求与响应、通过HttpClient发送HTTP请求

2019-11-08 03:15:34
字体:
来源:转载
供稿:网友

《大型分布式网站架构设计与实践》

HTTP请求与响应过程

Web浏览器与Web服务器之间的一次HTTP请求与响应过程,需要完成如下的步骤: eg:http://www.yangenneng.cn:80/index.html

浏览器端根据所在的HTTP协议,解析出url对应的域名。www.yangenneng.cn

通过DNS域名解析,查询出该域名对应的ip地址。119.29.63.243

通过URL解析出对应的端口号。80

浏览器发起并建立到119.29.63.243的连接(TCP三次握手)

浏览器向服务器发送GET请求

服务器响应浏览器的请求,浏览器读取响应,渲染页面

浏览器关闭与服务器的连接(TCP四次挥手)


通过HttpClient发送HTTP请求

概述

HTTP协议已经不仅仅局限于原来的浏览器/服务器模式,很多情况下我们需要自己实现向服务器发送请求,以及解析从服务器响应的数据这个过程。 但是,如果通过Socket API来实现,会带来相当的工作量,并且这种工作是重复的,还可能导致不可预估的风险,比如:底层的流处理、并发控制。HttpClient解决了这一问题。


使用Http协议的优势

随着请求规模的扩展,基于TCP协议RPC的实现,程序需要考虑多线程并发、锁、I/O等复杂的底层细节的实现,实现起来较为复杂。在大流量高并发下,任意一个细小的错误,都会被无限放大。


JSON

JSON是javascript的一个子集,是一种轻量级的数据交换语言。

package bytedemo;import java.io.StringWriter;import net.sf.json.JSONArray;/** * Created by yangenneng on 2017-02-17. * 功能说明: */public class JSONDemo { public static void main(String[] args) { //创建一个实例 Person person=new Person(); person.setName("yangenneng"); person.setPassWord("123456"); //JSON对象序列化 String pJson=null; StringWriter sw=new StringWriter(); JSONArray jsonArray=JSONArray.fromObject(person); System.out.PRintln(jsonArray.toString()); }}

这里写图片描述



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表