《大型分布式网站架构设计与实践》
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四次挥手)
HTTP协议已经不仅仅局限于原来的浏览器/服务器模式,很多情况下我们需要自己实现向服务器发送请求,以及解析从服务器响应的数据这个过程。 但是,如果通过Socket API来实现,会带来相当的工作量,并且这种工作是重复的,还可能导致不可预估的风险,比如:底层的流处理、并发控制。HttpClient解决了这一问题。
随着请求规模的扩展,基于TCP协议RPC的实现,程序需要考虑多线程并发、锁、I/O等复杂的底层细节的实现,实现起来较为复杂。在大流量高并发下,任意一个细小的错误,都会被无限放大。
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()); }}新闻热点
疑难解答