什么是HTTP?
HTTP: HyperText Transfer Protocol,超文本传输协议,是www实现数据通信的基本
HTTP协议作用于什么环境?
作用于服务端与客户端的信息交互,通过请求和响应达成一次信息交互。
HTTP协议的状态管理
本身不会对之前的请求和响应进行记录,即HTTP协议是无状态的协议,其优势在于不需要额外的服务器资源损耗。为了补充这一空缺,引入了cookie ,其通过在请求和响应报文中写入cookie字段来保存一部分状态信息。(报文相关在之后总结)
HTTP协议位于那一层?
应用层。基于TIC/IP通信协议来传递数据、
说道层,TCP/IP协议族的显著特性就是分层:应用层,传输层,网络层以及数据链路层
逐一解释:
- 应用层:
应用层决定了向用户提供的应用服务时的通信活动。TCP/IP 协议族内预存了各类通用的应用服务。比如,FTP(File Transfer Protocol文件传输协议)和 DNS(Domain Name System域名系统)服务就是其中两类。 HTTP 协议也处于该层。 - 传输层:
位于应用层的下一层。提供位于网络中 两台计算机之间的数据传输
该层包含两个不同的协议 TCP (Transmisson Control Protocol)传输控制协议 以及UDP (User DataProtocol )用户数据报协议 两者区别在于,TCP协议会为数据传递提供安全保障,实现方式为把应用层数据分成小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等等。而UDP仅仅提供了很简单的一种服务:将称作数据报的分组从一台机器发送到另一台。本身不能保证传输的可靠性。数据报是传输信息的一个数据单元 - 网络层
网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数 据单位。该层规定了通过怎样的路径(传输路线)到达对方计算机,并把数据包传送给对方。与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所 起的作用就是在众多的选项内选择一条传输路线。
在这里顺带说一下IP协议 IP是一种网络层协议,提供的是一种不可靠的服务,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供可靠性保证。同时被TCP和UDP使用。 - 链路层
处理了硬件的联通。包括控制操作系统、硬件的设备驱动、NIC及光纤等物理可见部分。
HTTP持久联通说的是什么?
在之前的HTTP协议,每进行一次HTTP通信就要断开一次TCP连接。
然而在请求一张页面的过程中,会造成很多次的TCP操作。(图片,视频,css,javascript等等作为资源被链入页面的文件)因此,每次的请求都会造成无谓的TCP连接建立和断开,增加通信量的开销。
为了解决这个不足,提出了HTTP keep-alive)的方法。特点是:只要任意一端没有明确提出断开连接,则保持TCP连接状态。