一、补充概念
1.IO流:即输入输出。 比如java编程:InputStream——字节输入流; OutputStream——字节输出流;Reader——字符输入流;Writer——字符输出流
2.Socket:本质是编程接口(API)
二、web浏览器与服务器实现原理
每天通过浏览器看视频,看新闻等。浏览器与服务器之间的通信也就是B/S(browser/server)结构。
比如我们输入一个网址进行访问,或者点击网页上某个连接、视频,这个过程就是客户端的浏览器与服务器之间进行通信的过程。
(比较常用的服务器有tomcat,apche等),当项目部署到服务器上之后,就可以通过浏览器访问服务器里面的资源,但是因为开发浏览器的有不同的开发厂家,而我们的项目一般都是需要不同的浏览器都可以正常访问到服务器的资源,所以就要制定一个统一的规则,来达到这个目的。
可以理解为:我开发了一个WEB服务器,并且能够保证其他人开发的客户端都能够与我的服务器正常通信。能够实现这样的目的的前提自然就是,你要制定一个规范,并让想要与你开发的服务器正常进行通信的客户端都遵循这个规范来实现。这个规范,也就是所谓的协议。
web浏览器和服务器之间有一种双方都熟悉的通信语言——即http协议(应用层的协议)。
参考资料:https://blog.csdn.net/changhenshui1990/article/details/70052991#commentBox (博主写的很详细)