HTTP工作原理HTTP是基于客户/服务器模式,且面向连接的
典型的HTTP事务处理有如下的过程: (1)客户与服务器建立连接;(2)客户向服务器提出请求;(3)服务器接受请求,并根据请求返回相应的文件作为应答;(4)客户与服务器关闭连接
客户与服务器之间的HTTP连接是一种一次性连接,它限制每次连接只处理一个请求,当服务器返回本次请求的应答后便立即关闭连接,下次请求再重新建立连接
这种一次性连接主要考虑到WWW服务器面向的是Internet中成千上万个用户,且只能提供有限个连接,故服务器不会让一个连接处于等待状态,及时地释放连接可以大大提高服务器的执行效率
HTTP是一种无状态协议,即服务器不保留与客户交易时的任何状态
这就大大减轻了服务器记忆负担,从而保持较快的响应速度
HTTP是一种面向对象的协议
允许传送任意类型的数据对象
它通过数据类型和长度来标识所传送的数据内容和大小,并允许对数据进行压缩传送
当用户在一个HTML文档中定义了一个超文本链后,浏览器将通过TCP/IP协议与指定的服务器建立连接
HTTP支持持久连接,在HTTP / 0.9和1.0中,连接在单个请求/响应对之后关闭
在HTTP / 1.1中,引入了保持活动机制,其中连接可以重用于多个请求
这样的持久性连接可以明显减少请求延迟,因为在发送第一个请求之后,客户端不需要重新协商TCP 3-Way-Handshake连接
另一个积极的副作用是,通常,由于TCP的缓慢启动机制,连接随着时间的推移而变得更快
该协议的1.1版还对HTTP / 1.0进行了带宽优化改进
例如,HTTP / 1.1引入了分块传输编码,以允许流传输而不是缓冲持久连接上的内容
HTTP流水线进一步减少了延迟时间,允许客户端在等待每个响应之前发送多个请求
协议的另一项附加功能是字节服务,即服务器仅传输客户端明确请求的资源部分
从技术上讲是客户在一个特定的TCP端口(端口号一般为80)上打开一个套接字
如果服务器一直在这个周知的端口上倾听连接,则该连接便会建立起来
然后客户通过该连接发送一个包含请求方法的请求块
HTTP规范定义了9种请求方法,每种请求方法规定了客户和服务器之间不同的信息交换方式,常用的请求方法是GET和POST
服务器将根据客户请求完成相应操作,并以应答块形式返回给客户,最后关闭连接
以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。