For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
计算机网络是程序员在学习软件开发技术的时候需要重点掌握的一个编程知识点,下面我们就通过案例分析来了解一下,计算机网络协议常见类型与应用方法。
一、TCP/IP
TCP/IP是为互联网服务的协议族,它是网络通信协议的统称,由IP、TCP、HTTP和FTP等协议组成。TCP/IP将通信过程抽象为4层,被视为简化的OSI参考模型(如右图所示,左边是OSI参考模型,右边是TCP/IP的模型),但负责维护这套协议族的不是ISO而是IETF(互联网工程任务组)。TCP/IP在标准化过程中注重开放性和实用性,需要标准化的协议会被放进RFC(RequestForComment)文档中,RFC文档详细记录了协议的实现、运用和实验等各方面的内容,并且这些文档可在线浏览。
发送的数据会在分层模型内传递,并且每到一层,就会附加该层的包部,包部包含了该层协议的相关信息,例如MAC地址、IP地址和端口号。
二、HTTP
HTTP(HyperTextTransferProtocol)即超文本传输协议,是一种获取网络资源(例如图像、HTML文档)的应用层协议,它是互联网数据通信的基础,由请求和响应构成(如右图所示)。通常,客户端发起HTTP请求(在请求报文中会指定资源的URL),然后用传输层的TCP协议建立连接,后服务器响应请求,做出应答,回传数据报文。
HTTP协议有三个特征,分别是持久连接、管道化以及无状态。
(1)持久连接
在HTTP的早期版本中,一次HTTP通信完成后就会断开连接,下一次再重新连接,在当时请求资源并不多的情况下,并不会造成大问题。但随着HTTP的普及,请求的资源越来越庞大,例如一个HTML文档中可能会包含多个CSS文件、JavaScript文件、图像甚至视频,如果还这么操作,会造成巨大的通信开销。
(2)管道化
管道化是建立在持久连接上的进一步性能优化。过去,请求必须按照先进先出的队列顺序,也就是发送请求后,要等待并接收到响应,才能再继续下一个请求。启用管道化后,就会将队列顺序迁移到服务器,这样就能同时发送多个请求,然后服务器再按顺序一个接一个地响应。
(3)状态管理
HTTP是一种无状态协议,请求和响应一一对应,不会出现两个请求复用一个响应的情况。也就是说,每个请求都是独立的,即使在同一条连接中,请求之间也没有联系。
在有些业务场景中,需要请求有状态,例如后台登录。成功登录后就得保存登录状态,否则每次跳转进入其他页面都会要求重新登录。为了能管理状态,引入了Cookie技术,Cookie技术能让请求和响应的报文都附加Cookie信息,客户端将Cookie值发送出去,服务器接收并处理这个值,终就能得到客户端的状态信息。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。