创作

完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>

3天内不再提示

网络数据传输socket和http优缺点

PoisonApple 来源:网络整理 2018-02-06 16:06 次阅读

http

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。Ted Nelson组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(Internet Engineering Task Force )共同合作研究,最终发布了一系列的RFC,其中著名的RFC 2616定义了HTTP 1.1。

socket

网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。

Socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原义那样,像一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座,就可以得到不同的服务。

网络数据传输socket和http优缺点

socket和http优缺点

1 数据传输方式

1.1 Socket传输的定义和其特点

所谓socket通常也称作“套接字”,实现服务器和客户端之间的物理连接,并进行数据传输,主要有UDP和TCP两个协议。Socket处于网络协议的传输层。

UDP协议:广播式数据传输,不进行数据验证

TCP协议:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流,

Socket 传输的特点:

优点

1) 传输数据为字节级,传输数据可自定义,数据量小(对于手机应用讲:费用低)

2) 传输数据时间短,性能高

3) 适合于客户端和服务器端之间信息实时交互

4) 可以加密,数据安全性强

缺点:

1) 需对传输的数据进行解析,转化成应用级的数据

2) 对开发人员的开发水平要求高

3) 相对于Http协议传输,增加了开发量

1.2 基于Http协议传输的定义和其特点

目前基于http协议传输的主要有http协议 和基于http协议的Soap协议(web service),常见的方式是 http 的post 和get 请求,web 服务。

基于http协议的传输特点

网络数据传输socket和http优缺点

优点:

1) 基于应用级的接口使用方便

2) 程序员开发水平要求不高,容错性强

缺点:

1) 传输速度慢,数据包大(Http协议中包含辅助应用信息)

2) 如实时交互,服务器性能压力大。

3) 数据传输安全性差

2 各数据传输方式的适用范围

2.1 Socket传输适用范围

基于Socket传输的特点:Socket 传输方式适合于对传输速度,安全性,实时交互,费用等要求高的应用中,如网络游戏,手机应用,银行内部交互等

2.2 基于Http协议传输的适用范围

基于http协议传输的特点:基于http协议传输方式适合于对传输速度,安全性

要求不是很高,且需要快速开发的应用。如公司OA系统,互联网服务等。

收藏 人收藏

    评论

    相关推荐

    dlm HTTP下载管理器

    ./oschina_soft/dlm.zip
    发表于 05-27 09:50 8次 阅读
    dlm HTTP下载管理器

    node-flashget并行下载工具

    ./oschina_soft/flashget.zip
    发表于 05-27 09:32 3次 阅读
    node-flashget并行下载工具

    Snail下载工具

    ./oschina_soft/gitee-snail.zip
    发表于 05-27 09:28 7次 阅读
    Snail下载工具

    ESP8266应用案例 基于STM32核心板获取网络天气数据

    ESP8266 WIFI模块自带TCP/IP网络协议栈,通过AT指令集完成网络模式配置。知心天气采用....
    的头像 嵌入式技术 发表于 05-27 09:16 2308次 阅读
    ESP8266应用案例 基于STM32核心板获取网络天气数据

    proxyee-down HTTP下载器

    ./oschina_soft/proxyee-down.zip
    发表于 05-27 09:15 21次 阅读
    proxyee-down HTTP下载器

    Aria2GUI集成aria2c的可视化下载客户端

    ./oschina_soft/aria2gui.zip
    发表于 05-27 09:12 8次 阅读
    Aria2GUI集成aria2c的可视化下载客户端

    JWebFileTrans(JDownload)从网络上下载文件的程序

    ./oschina_soft/JDownload.zip
    发表于 05-27 09:10 7次 阅读
    JWebFileTrans(JDownload)从网络上下载文件的程序

    DRAKMA Common Lisp编写的HTTP客户端

    ./oschina_soft/drakma.zip
    发表于 05-26 15:45 4次 阅读
    DRAKMA Common Lisp编写的HTTP客户端

    zy-im基于Netty的IM服务

    ./oschina_soft/gitee-zy-im.zip
    发表于 05-26 14:35 4次 阅读
    zy-im基于Netty的IM服务

    ReactNative-Weixin仿微信聊天APP

    ./oschina_soft/gitee-ReactNative-Weixin.zip
    发表于 05-26 11:29 1次 阅读
    ReactNative-Weixin仿微信聊天APP

    Damon Nomad终端用户界面

    ./oschina_soft/damon.zip
    发表于 05-25 09:07 6次 阅读
    Damon Nomad终端用户界面

    Keystone OpenStack项目身份认证

    ./oschina_soft/keystone.zip
    发表于 05-23 11:11 3次 阅读
    Keystone OpenStack项目身份认证

    HTTP OTA webclient获取不到服务器如何处理?

    尝试用HTTP_OTA的方式来升级程序,按照网上的资料搭建程序,在http_ota.c中现在遇到Webclient获取不到服务器的情况: ...
    发表于 05-19 10:43 1105次 阅读

    关于RT-Thread OTA HTTP升级的日志记录

    在局域网下实现2个文件下载功能: 在RT-Thread Studio中配置其中一个URL: 则可以通过http_ota实现升级功能。 下面...
    发表于 05-18 15:45 1479次 阅读
    关于RT-Thread OTA HTTP升级的日志记录

    gooreplacer用于修改HTTP请求的浏览器插件

    ./oschina_soft/gooreplacer.zip
    发表于 05-18 15:44 5次 阅读
    gooreplacer用于修改HTTP请求的浏览器插件

    http代理概述及代码实现方法

    本文详细介绍了Golang 实现 http 代理的实现,在实际业务中有需求的同学可以学起来了!
    的头像 马哥Linux运维 发表于 05-14 15:02 470次 阅读

    Powerstrip Docker API的HTTP代理

    ./oschina_soft/powerstrip.zip
    发表于 05-13 11:36 6次 阅读
    Powerstrip Docker API的HTTP代理

    http和https有什么区别,为什么https会取代http

    大家都知道当前https的使用更为普遍,为什么https会取代http,其中的原因恒讯科技为大家整理....
    的头像 深圳市恒讯科技有限公司 发表于 05-11 16:02 203次 阅读

    Swan-Mesos Mesos调度器

    ./oschina_soft/swan.zip
    发表于 05-11 10:12 16次 阅读
    Swan-Mesos Mesos调度器

    求助大佬!w5500用sock怎么试组播功能都不行怎么办呀

    /* 创建一个socket,类型是SOCK_DGRAM,UDP类型 */     if ((sock_group = socket(AF_INET, SOC...
    发表于 05-11 09:37 881次 阅读

    SocketPlane多主机容器网络

    ./oschina_soft/socketplane.zip
    发表于 05-11 09:29 14次 阅读
    SocketPlane多主机容器网络

    Linux发送HTTP网络包图像 sk_buff数据结构解析

    如果你对Linux是如何实现 对用户原始的网络包进行协议头封装与解析,为什么会粘包拆包,期间网络包经....
    的头像 一口Linux 发表于 05-10 12:14 200次 阅读

    backfuzz协议fuzzing工具包

    ./oschina_soft/backfuzz.zip
    发表于 05-10 11:26 7次 阅读
    backfuzz协议fuzzing工具包

    HTTP是什么,HTTPS的优点是什么

    HTTP是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于....
    的头像 QYT_ak 发表于 05-10 09:55 95次 阅读

    Observatory Mozilla网站安全分析工具

    ./oschina_soft/http-observatory.zip
    发表于 05-09 10:24 13次 阅读
    Observatory Mozilla网站安全分析工具

    HttpHiJack安全防御工具

    ./oschina_soft/httphijack.zip
    发表于 05-09 10:23 10次 阅读
    HttpHiJack安全防御工具

    BetterCap轻便的MiTM框架

    ./oschina_soft/bettercap.zip
    发表于 05-09 10:21 9次 阅读
    BetterCap轻便的MiTM框架

    HarmonyOS Socket连接的使用方法分享

    代码实现 import socket from '@ohos.net.socket'; @Entry @Component struct SocketPage {   bui...
    发表于 05-05 10:45 755次 阅读

    请问软件定时器中可以使用socket吗?

    我用软件定时器想实现周期性发送udp报文 实际发现,只要一执行 int sockfd = socket(AF_INET,SOCK_DGRAM,0); ...
    发表于 05-05 10:05 1154次 阅读

    httpdiff HTTP请求比较工具

    httpdiff.zip
    发表于 04-29 09:43 26次 阅读
    httpdiff HTTP请求比较工具

    PingPong HTTP监控和分析应用

    pingpong.zip
    发表于 04-28 10:23 38次 阅读
    PingPong HTTP监控和分析应用

    Mr.2本地的服务暴露到外网

    mr2.zip
    发表于 04-28 09:22 11次 阅读
    Mr.2本地的服务暴露到外网

    HoneyProxy HTTP(S)​流量分析

    HoneyProxy.zip
    发表于 04-27 15:11 20次 阅读
    HoneyProxy HTTP(S)​流量分析

    Hyperfox HTTPS流量监控

    hyperfox.zip
    发表于 04-26 09:57 25次 阅读
    Hyperfox HTTPS流量监控

    Httpry HTTP流量记录工具

    httpry.zip
    发表于 04-26 09:53 20次 阅读
    Httpry HTTP流量记录工具

    GoReplay网络监控工具

    goreplay.zip
    发表于 04-25 09:35 29次 阅读
    GoReplay网络监控工具

    ec200x_socket_send数据发送后等待响应出错如何解决?

    ec200x_socket_send这个函数发送数据时, 在发送数据完成后,会等待4G模块的响应, 一直报出ec200x device socket(0) wait ev...
    发表于 04-24 09:33 1266次 阅读

    如何把SD卡上的数据上传到HTTP server?

    我要把SD卡上的数据读出来,然后上传到HTTP server,怎么实现呢 ? ...
    发表于 04-18 09:28 1460次 阅读

    OpenHarmony上使用的Http网络框架教程

    简介 鸿蒙上使用的Http网络框架,里面包含纯Java实现的HttpNet,类似okhttp使用,支....
    发表于 04-12 11:13 36次 阅读

    基于okhttp的标准RESTful风格的网络框架

    集成配置 方法一: 按需以module方式导入okgo,okrx,okrx2,okserver中的一....
    发表于 04-12 11:03 31次 阅读

    基于openharmony适配移植的okhttp封装库教程

    对okhttp的封装类,目前对应okhttp版本3.14.9. Gradle 依赖 依赖项{ 实现‘....
    发表于 04-12 10:48 38次 阅读

    夹头是用于OkHttp客户端的简单应用内HTTP检查器

    夹头是一个用于 OkHttp 客户端的简单应用内 HTTP 检查器。查克拦截并保留应用程序中的所有 ....
    发表于 04-12 10:42 27次 阅读

    基于SharedPreferences的OkHttp3的持久CookieJar实现

    介绍 基于 SharedPreferences 的 OkHttp3 的持久 CookieJar 实现....
    发表于 04-12 10:37 33次 阅读

    OHosAsync底层网络协议库的教程案例

    OHosAsync 是一个底层网络协议库。如果您正在寻找一个易于使用、更高级别、支持 Ohos 的 ....
    发表于 04-12 10:01 23次 阅读

    基于openharmony适配移植的HTTP网络库教程案例

    项目介绍 项目名称:fuel 所属系列:openharmony的第三方组件适配移植 功能:最简单的 ....
    发表于 04-12 09:40 29次 阅读

    openharmony第三方组件适配移植的okhttp教程案例

    项目介绍 项目名称:okhttp 所属系列:openharmony的第三方组件适配移植 功能:PUT....
    发表于 04-12 09:25 42次 阅读

    基于openharmony适配移植的Socket通讯教程

    项目介绍 项目名称:OkSocket 所属系列:openharmony的第三方组件适配移植 功能:是....
    发表于 04-12 09:13 26次 阅读

    HLS的M3U8文件介绍

      HLS (HTTP Live Streaming)是Apple的动态码率自适应技术。主要用于PC....
    发表于 04-08 11:24 42次 阅读

    http_test函数的测试出bug

    今早看到别的帖子用http_test来测试.。我今晚也测了一下。果然能够发http请求到服务器,并且打印正确的数据。但是还是发现点小问...
    发表于 04-07 11:32 1561次 阅读

    Hi3861解析http返回值的方法

    Hi3861的代码实例库中,介绍了http的连接,但是没有说明如何解析。当然,解析http返回值的方法是一个通用方法,不只限于在openh...
    发表于 03-29 14:03 551次 阅读

    怎样去解决利用webclient通过4G AT socket下载较大文件的问题

    STM32F环境下,利用webclient 通过4G AT socket下载较大(几十上百k)文件问题! 测试结果如下: 1、webclient没问题...
    发表于 03-28 09:44 608次 阅读

    HTTP及MQTT比较分析

    MQTT(消息队列遥测传输)是ISO标准(ISO/IEC PRF 20922)下基于发布/订阅范式的....
    的头像 厦门市物联网行业协会 发表于 03-25 14:00 747次 阅读

    迪文串口屏,PC发送指令集调试出现的问题及解决方法

    这里使用的是迪文的串口屏,T5UIC1芯片的,因为第一次接触,就买了全套的配件因为购买了转接板和US....
    发表于 01-14 10:42 84次 阅读
    迪文串口屏,PC发送指令集调试出现的问题及解决方法

    MQTT客户端移植C语言

    mqtt客户端源码地址:https://github.com/eclipse/paho.mqtt.e....
    发表于 01-13 13:50 87次 阅读
    MQTT客户端移植C语言

    无线传输最远可以传输距离_无线电源传输的梦想可能很快成为现实

    无线传输最远可以传输距离As astonishing as it may sound but the....
    发表于 01-10 13:54 71次 阅读
    无线传输最远可以传输距离_无线电源传输的梦想可能很快成为现实

    kensington安全锁_备用电源-Kensington 120W笔记本电源适配器

    kensington安全锁I just picked up a Kensington 120W No....
    发表于 01-07 15:14 75次 阅读
    kensington安全锁_备用电源-Kensington 120W笔记本电源适配器

    并联直流、交流电压源的等效电路

    1、直流电压并联等效例如下图,如何计算两个直流电压源的端口等效电路?计算步骤如下:一、V1向外面提供....
    发表于 01-06 15:51 256次 阅读
    并联直流、交流电压源的等效电路

    用Android Studio 创建Socket客户端向单片机发送数据——笔记

    用Android Studio 创建Socket客户端向单片机发送数据功能快捷键合理的创建标题,有助....
    发表于 01-04 18:59 173次 阅读
    用Android Studio 创建Socket客户端向单片机发送数据——笔记

    HTTP协议Portal认证流程

    Portal服务器和RADIUS服务器虽然大部分场景下是一个服务器,但是从逻辑和功能上来说,是两个网....
    的头像 华为产品资料 发表于 01-02 09:17 1401次 阅读

    ESP8266作为客户端发送get请求和post请求的电路方案设计

    系列文章目录第一章ESP8266的java软件仿真测试第二章ESP8266硬件与软件测试第三章ESP....
    发表于 12-29 19:06 180次 阅读
    ESP8266作为客户端发送get请求和post请求的电路方案设计