TCP提供了“a reliable pipe”(一个坚固的水管)链接用户和服务器,确保了数据能准确不出意外地传输,因此Application Layer(应用层)能够不考虑底层技术细节,转而去实现一些具体的应用功能。浏览器
Application Layer有两个基本问题:缓存
首先是应用如何获得数据,答案是Ports(端口)服务器
其次是应用遵循怎样的规则运转,答案是Protocols(协议)网络
Ports(端口)跟在IP地址后面,端口号定位到某个IP上的某个具体的Application,不一样的端口号对应不一样的服务。咱们经过IP地址定位主机,经过端口号定位某个应用。架构
上图是一些常见的TCP POST。app
HTTP(Hypertext Transport Protocol,超文本传输协议)是目前因特网上最主要的应用层协议,是应用层的一个经典表明。
spa
HTTP里规定了URL(统一资源定位符)的具体工做规则——HTTP request response cycle。3d
HTTP request response cycle的工做方式其实也很简单,主要分四步:对象
首先是用户用鼠标点击URL连接(click)blog
用户点击后浏览器就会用HTTP向服务器提出请求(HTTP request)
服务器一样用HTTP响应用户的请求(HTTP response)
收到服务器响应后,浏览器开始接收HTML文本并显示网页(display)
Internet Standards(因特网标准)是互联网技术的规范性标准,由IETF(Internet Engineering Task Force,互联网工程任务组)制定。若是你是个互联网专家或者要作浏览器方向,那你首先就要看它。
Van对互联网将来的发展有一个设想——Content Centered Networking(之内容为中心的网络)
内容中心网络,也称为信息中心网络(inforation centric networking,ICN)或数据命名网络(named data networking ,NDN),都是将信息对象做为构建网络的基础,分离信息的位置信息与内容识别,经过内容名字而不是主机IP地址获取数据。利用网络内置缓存提升传输效率,而不关心数据存储位置。经过发布/订阅模式请求数据,使供给者和消费者在空间、时间上解耦合。这种新的网络架构专一于信息对象、信息属性和用户兴趣,采用“信息共享通讯模型”,从而实现高效、可靠的信息分发。