重温 tcp/ip
2016-04-01 23:58
417 查看
(1)0.0.0.0 表示广播地址
TCP/IP 是个协议组(protocol family),可分为三个层次:网络层、传输层和应用层。
(1)网络层:IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议
(2)传输层:TCP 协议与 UDP 协议
(2)应用层:FTP、HTTP、TELNET、SMTP、DNS
HTTP本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传送协议。
HTTP协议是建立在请求/响应模型上的。首先由客户建立一条与服务器的 TCP 链接(TCP协议之上的应用层协议),并发送一个请求到服务器,请求中包含请求方法、URI、协议版本以及 相关的MIME样式的消息。服务器响应一个状态行,包含消息的协议版本、一个成功和失败码以及相关的MIME式样的消息。
HTTP/1.0 为每一次HTTP的请求/响应建立一条新的TCP链接,因此一个包含HTML内容和图片的页面将需要建立多次的短期的TCP链接。一次TCP链接的建立将需要3次握手。
另 外,为了获得适当的传输速度,则需要 TCP 花费额外的回路链接时间(RTT)。每一次链接的建立需要这种经常性的开销,而其并不带有实际有用的数据,只是 保证链接的可靠性,因此HTTP/1.1提出了可持续链接的实现方法。HTTP/1.1将只建立一次TCP的链接而重复地使用它传输一系列的请求/响应消 息,因此减少了链接建立的次数和经常性的链接开销。
结论:虽然 HTTP 本身是一个协议,但其最终还是基于TCP的。不过,目前,有人正在研究基于TCP+UDP混合的HTTP协议。
TCP/IP 是个协议组(protocol family),可分为三个层次:网络层、传输层和应用层。
(1)网络层:IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议
(2)传输层:TCP 协议与 UDP 协议
(2)应用层:FTP、HTTP、TELNET、SMTP、DNS
HTTP本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传送协议。
HTTP协议是建立在请求/响应模型上的。首先由客户建立一条与服务器的 TCP 链接(TCP协议之上的应用层协议),并发送一个请求到服务器,请求中包含请求方法、URI、协议版本以及 相关的MIME样式的消息。服务器响应一个状态行,包含消息的协议版本、一个成功和失败码以及相关的MIME式样的消息。
HTTP/1.0 为每一次HTTP的请求/响应建立一条新的TCP链接,因此一个包含HTML内容和图片的页面将需要建立多次的短期的TCP链接。一次TCP链接的建立将需要3次握手。
另 外,为了获得适当的传输速度,则需要 TCP 花费额外的回路链接时间(RTT)。每一次链接的建立需要这种经常性的开销,而其并不带有实际有用的数据,只是 保证链接的可靠性,因此HTTP/1.1提出了可持续链接的实现方法。HTTP/1.1将只建立一次TCP的链接而重复地使用它传输一系列的请求/响应消 息,因此减少了链接建立的次数和经常性的链接开销。
结论:虽然 HTTP 本身是一个协议,但其最终还是基于TCP的。不过,目前,有人正在研究基于TCP+UDP混合的HTTP协议。
References
[1] 对问题:Http是TCP协议还是UDP协议的回答相关文章推荐
- http libevent的使用
- Https加密及攻防
- 网络流与费用流(上)网络流
- TCP/IP 端口的分配
- linux基础网络工具学习笔记
- tcpdump抓包
- TCP/IP
- 机器学习技法-神经网络(NNet)
- 3143 二叉树的序遍历——http://codevs.cn/problem/3143/
- 读取网络适配器所有的物理地址
- 人工神经网络——笔记摘抄1
- 插件,非常好用的请求REST的工具restclient,和非常好用的请求http的工具HttpRequester,
- Android网络设置(route & DNS)
- 网络:NSURLConnection 缓存
- 网络:NSURLConnection队列
- 机器学习算法汇总:人工神经网络、深度学习及其它
- vmware虚拟机克隆CentOS7 出现的网络问题解决办法
- 网络:网络基础知识
- ubuntu下eclipse遇到The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- TCP 聊天室