Hypertext Transfer Protocol 超文本传输协议 or 超文本转移协议?
在IETF的RFC中,“transport”(传输)的含义是指:从端到端(例如从ip1:port1到ip2:port2)可靠地搬运比特,也就是TCP/IP协议栈中的第3层传输层(transport layer)协议所做的那些事情,干的仅仅是数据的传输。双方约定的是如何应对数据丢失,如何建立链接,如何释放链接等等规定。
transfer”的含义是:通过在客户端-服务器端之间转移一些带有操作语义的操作原语,来执行某种操作。“transfer”是TCP/IP协议栈中的第4层应用层的概念,而不是第3层传输层的概念。“transfer”所转移的是带有明确操作语义的操作原语,而不是没有操作语义的比特流。 http是基于tcp/ip协议之上的协议。再具体点就是http中的get,post,put,delete等请求。
对于传输我们的传输层协议TCP/UDP已经做的很好了,不需要http协议来打杂。rest可以理解为:表述性状态转移。
总结:
HTTP协议,“transfer”代表的含义是:通过在客户端-服务器端之间转移代表资源当前状态的资源表述,来对服务器端的资源执行某种操作。
状态是资源在某个界面或是某个层次固化下来的数据。
TIPS:
Transmission Control Protocol/Internet Protocol 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准.
4 应用层 (OSI 5 到 7层) 例如HTTP、FTP、DNS 数据从网络相关的程序以这种应用内部使用的格式进行传送,然后被编码成标准协议的格式。
3 传输层(OSI4层) 例如TCP、UDP、RTP、SCTP 解决诸如端到端可靠性(“数据是否已经到达目的地?”)和保证数据按照正确的顺序到达这样的问题。
(如OSPF这样的路由协议,尽管运行在IP上也可以看作是网络层的一部分)
2 网络互连层(OSI3层) 对于TCP/IP来说这是因特网协议(IP) 解决的是如何从源网络传输到目的网络,路径、流控、拥塞等问题
(如ICMP和IGMP这样的必须协议尽管运行在IP上,也仍然可以看作是网络互连层的一部分;ARP不运行在IP上)
1 网络接口层(OSI 1和2层) 例如以太网、Wi-Fi、MPLS等。实际并不是因特网协议中的一部分,约定的是从一个设备的网络层传输到另一个设备网络层的方法。
参考资料:
1. http://zh.wikipedia.org/wiki/TCP/IP%E5%8D%8F%E8%AE%AE
2. http://www.ituring.com.cn/article/937