面试-----Socket 和Http Tcp 区别

之前就有朋友问过我这个的问题,面试的时候怎么回答面试官的这个问题;

哈哈哈,事实上我不知道,但是前几天又有人问我,

程序员的尊严不允许我哑口无言,所以总结一下.  

因为是讲给面试官的,所以精简是必须的,要想了解底层原理建议看看对应的书籍.

所以我百度+谷歌整理一下,有啥要补充的大家 留言吧,

先谢啦!!!

一,首先知道他们都是是什么

Socket (套接字):

     网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;

TCP:

    TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。

Http:

   HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准

二  现在来看看http,socket,tcp区别 

    1.HTTP协议是建立在TCP协议之上的一种应用。

    2.TCP连接一旦建立,在通信双方中的任何一方主动关闭连 接之前,TCP 连接都将被一直保持下去。断开连接时服务器和客户端均可以主动发起断开TCP连接的请求

    3. HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。

    4.套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。

    5.创建Socket连接时,可以指定使用的传输层协议,Socket可以支持不同的传输层协议(TCP或UDP),当使用TCP协议进行连接时,该Socket连接就是一个TCP连接。

    6.TCP是传输层,而http是应用层

    7.TCP是底层通讯协议,定义的是数据传输和连接方式的规范

    8.HTTP是应用层协议,定义的是传输数据的内容的规范

(有这些就差不多了,挑一些 高大上的东西讲给面试官听,基本都可以 )

 

 

 

这篇文章里的内容借鉴了https://www.cnblogs.com/baizhanshi/p/8482612.html大神的作品

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值