1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。
在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。
在传输层中有TCP协议与UDP协议。
在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。
因此,HTTP本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传送协议。
2、 HTTP协议是建立在请求/响应模型上的。首先由客户建立一条与服务器的TCP链接,并发送一个请求到服务器,请求中包含请求方法、URI、协议版本以及相关的MIME样式的消息。服务器响应一个状态行,包含消息的协议版本、一个成功和失败码以及相关的MIME式样的消息。
HTTP/1.0为每一次HTTP的请求/响应建立一条新的TCP链接,因此一个包含HTML内容和图片的页面将需要建立多次的短期的TCP链接。一次TCP链接的建立将需要3次握手。
另外,为了获得适当的传输速度,则需要TCP花费额外的回路链接时间(RTT)。每一次链接的建立需要这种经常性的开销,而其并不带有实际有用的数据,只是保证链接的可靠性,因此HTTP/1.1提出了可持续链接的实现方法。HTTP/1.1将只建立一次TCP的链接而重复地使用它传输一系列的请求/响应消息,因此减少了链接建立的次数和经常性的链接开销。
3、结论:虽然HTTP本身是一个协议,但其最终还是基于TCP的。不过,目前,有人正在研究基于TCP+UDP混合的HTTP协议。
分享到:
相关推荐
**AHB (Advanced High-performance Bus) 与 APB (Advanced Peripheral Bus) 协议详解** AHB 和 APB 是两种广泛应用于嵌入式系统中的总线协议,它们都是由ARM公司提出的AMBA(Advanced Microcontroller Bus ...
ARP(Address Resolution Protocol)协议是Internet层的一种协议,它的主要作用是在IPv4网络中将IP地址解析为物理层的MAC地址。在TCP/IP协议栈中,ARP协议位于网络层和数据链路层之间,起到了一个桥梁的作用,使得...
VisualC 实效编程 38 小解霸――VCD典型控制VisualC 实效编程 38 小解霸――VCD典型控制VisualC 实效编程 38 小解霸――VCD典型控制VisualC 实效编程 38 小解霸――VCD典型控制VisualC 实效编程 38 小解霸――VCD...
【小解霸】是一款专为初学者设计的VCD(Video Compact Disc)播放与控制软件,尤其适合于那些对计算机编程有一定兴趣但经验不足的“菜鸟”用户进行学习和实践。这个实例35主要讲解了如何通过编程实现VCD的典型控制...
"小解+优化GUI+最终版"这个标题暗示了一个关于GUI改进的项目已经进入了最后阶段,可能是一个软件或应用的更新,重点在于提高用户界面的效率和美观度。 GUI优化通常涉及以下几个方面: 1. **界面设计**:优化GUI的...
VC++ 小解霸 VCD典型播放控制 VC++小解霸――VCD典型播放控制,模仿早期的Windows Media Player播放器,它只能播放DAT格式的文件 ,这种文件是VCD格式,因此这个播放器主要是用来播放VCD的,界面也挺老的,但很经典...
HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,它的主要目的是方便超文本在Web上的传输。HTTP的设计者在1989年3月提出了这项协议,旨在利用HTML(超文本标记语言)、HTTP作为传输协议以及URL(统一...
策略路由详细介绍,希望对大家有些帮助,敬请参考,谢谢大家支持!
HTML(HyperText Markup Language)是用于创建网页的标准标记语言,它的基本结构由一系列标签组成,这些标签告诉浏览器如何解析和展示网页内容。... ...`<head>`包含文档的元信息,如文档标题,这将显示在浏览器的标题栏...
"echo命令小解" echo命令是一种常用的DOS命令,它主要功能简单点说就是开启或关闭批处理命令行显示在屏幕上。它是批文件的令,属于内部命令内部命令就是常驻于内存的命令,在任意路径下输入均执行。 echo命令的...
【QTP小解——自动化测试基础】 自动化测试是软件测试领域的一种重要手段,它通过预设的脚本和工具来自动执行测试用例,从而节省人力、提高效率和测试覆盖率。QuickTest Professional(QTP)是一款由HP公司开发的...
"viewDemo小解"这个项目旨在通过一个实际的Demo来深入理解View的工作流程,包括自定义View和ViewGroup的创建、measure、layout和draw等关键步骤。 一、自定义View 自定义View通常是为了实现特定的UI效果或者扩展...
在Windows系统中,遇到蓝屏错误是较为常见的现象之一,而了解这些错误代码的具体含义对于诊断问题至关重要。本文将详细解读部分蓝屏错误代码及其含义,帮助用户更好地理解并解决问题。 ### 0 0x00000000 作业完成 ...
### Unix之AWK使用详解 #### 一、AWK简介 AWK是一种强大的文本处理工具,在Unix和类Unix操作系统中广泛使用。它不仅能够高效地处理数据,还具备一定的编程能力,可以用来编写复杂的脚本。 #### 二、基本语法与...
### div弹出层position属性小解 在网页布局与设计中,`position` 属性是 CSS 中一个非常重要的属性,它决定了元素如何在页面中定位。对于创建弹出层、模态框等交互式组件来说,正确理解并使用 `position` 属性至关...
【连接池小解】 连接池是现代Web应用中不可或缺的一部分,尤其在处理高并发和大量数据库交互场景下,它的作用尤为显著。连接池的核心概念在于有效地管理和复用数据库连接,从而提高系统的性能和稳定性。 在Java中...
**设计模式——抽象工厂之小解** 在软件工程中,设计模式是一种被广泛采用的解决常见问题的经验总结,它们是经过验证的、可重用的解决方案。抽象工厂(Abstract Factory)设计模式是其中的一种创建型模式,它提供了...
### Invalidate() 函数详解 #### 一、函数简介 `Invalidate()` 是Windows编程中一个非常重要的函数,主要用于控制窗口的重绘行为。该函数可以让应用程序通知系统某个窗口或者其部分区域需要重新绘制。...
《Android 4.0 4.1 Keyguard锁屏机制详解》 Android系统中的Keyguard模块,即锁屏系统,是保障设备安全的关键组件。它不仅控制着设备的解锁过程,还涉及到用户隐私的保护。在Android 4.0 (Ice Cream Sandwich) 及...
### Java运行环境(JRE)详解 #### 一、概述 Java作为一门广泛应用于服务器端、桌面应用以及移动设备等领域的编程语言,其运行环境尤为重要。本文将深入探讨Java运行环境(JRE)的相关概念,包括JRE与JDK的关系、JRE...