文档章节

TCP/IP HTTP Socket的关系

种地瓜
 种地瓜
发布于 2016/03/22 15:34
字数 479
阅读 10
收藏 1

      先看下面这个图

网络由下往上分为

  物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。


一般我们都知道IP协议对应于网络层,TCP对应于传输层、http协议对应于应用层,三者这这间没有对比性。


socket是对TCP/IP协议的封装和应用,也可以说,TCP/IP协议是传输层协议,主要解决数据如何在网络中传输的

http协议是应用层协议,主要解决如何包装数据

关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:

  “我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容。

  如果想要使传输的数据有意义,则必须使用到应用层协议。

  应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。

  WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上。”

  而我们平时说的最多的socket是什么呢,实际上socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API)。

  通过Socket,我们才能使用TCP/IP协议。

  实际上,Socket跟TCP/IP协议没有必然的联系。

  Socket编程接口在设计的时候,就希望也能适应其他的网络协议。

  所以说,Socket的出现只是使得程序员更方便地使用TCP/IP协议栈而已,是对TCP/IP协议的抽象,

  从而形成了我们知道的一些最基本的函数接口,比如create、listen、connect、accept、send、read和write等等。





     

© 著作权归作者所有

共有 人打赏支持
种地瓜
粉丝 9
博文 174
码字总数 44807
作品 0
深圳
程序员
http、TCP/IP协议与socket之间的区别

网络由下往上分为 物理层-- 数据链路层-- 网络层-- IP协议 传输层-- TCP协议 会话层-- 表示层和应用层-- HTTP协议 1、TCP/IP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以...

huojiao2006
2017/01/05
0
0
TCP,IP,HTTP,SOCKET 的区别和联系

网络由下向上分层为: 层 对应 物理层 链路层 网络层 IP协议 传输层 TCP协议 应用层 HTTP协议 socket是对TCP/IP协议的封装和应用(程序员层面上)。也可以说,TPC/IP协议是传输层协议,主要解...

hehege
2014/04/01
0
0
WebSocket详解(六):刨根问底WebSocket与Socket的关系

1、前言 对于很多初次接触Web端即时通讯技术的人来说,WebSocket是个很新的概念,但无疑它是当前Web端即时通讯技术中最热门的关键词。随便点开一篇文章,只要说打算开发Web端即时通讯相关的的...

JackJiang2011
2017/12/15
0
0
TCP/IP、Http、Socket的区别?

网络由下往上分为   物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。   通过初步的了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层,   ...

浮躁的码农
2017/11/07
0
0
Cocos网络篇[3.2](1)——网络基本概念

网络互联参考模型(详解):http://blog.csdn.net/hguisu/article/details/7249611 网络模型 OSI层模型、TCP/IP的层模型如下所示。 TCP/IP各层对应的协议如下所示。    通过初步的了解,我...

shahdza
2015/03/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Ubuntu18.04 显卡GF-940MX安装NVIDIA-390.77

解决办法: 下面就给大家一个正确的姿势在Ubuntu上安装Nvidia驱动: (a)首先去N卡官网下载自己显卡对应的驱动:www.geforce.cn/drivers (b)下载后好放在英文路径的目录下,怎么简单怎么来...

AI_SKI
今天
0
0
深夜胡思乱想

魔兽世界 最近魔兽世界出了新版本, 周末两天升到了满级,比之前的版本体验好很多,做任务不用抢怪了,不用组队打怪也是共享拾取的。技能简化了很多,哪个亮按哪个。 运维 服务器 产品 之间的...

Firxiao
今天
0
0
MySQL 8 在 Windows 下安装及使用

MySQL 8 带来了全新的体验,比如支持 NoSQL、JSON 等,拥有比 MySQL 5.7 两倍以上的性能提升。本文讲解如何在 Windows 下安装 MySQL 8,以及基本的 MySQL 用法。 下载 下载地址 https://dev....

waylau
今天
0
0
微信第三方平台 access_token is invalid or not latest

微信第三方开发平台code换session_key说的特别容易,但是我一使用就带来无穷无尽的烦恼,搞了一整天也无济于事. 现在记录一下解决问题的过程,方便后来人参考. 我遇到的这个问题搜索了整个网络也...

自由的开源
今天
2
0
openJDK之sun.misc.Unsafe类CAS底层实现

注:这篇文章参考了https://www.cnblogs.com/snowater/p/8303698.html 1.sun.misc.Unsafe中CAS方法 在sun.misc.Unsafe中CAS方法如下: compareAndSwapObject(java.lang.Object arg0, long a......

汉斯-冯-拉特
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部