前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网络编程

网络编程

原创
作者头像
李才哥
修改2021-03-02 18:07:36
6430
修改2021-03-02 18:07:36
举报
文章被收录于专栏:李才哥

网络编程

构建TCP 服务

创建 TCP 服务器

TCP全名为传输控制协议,在OSI模型(由七层组成,分别为物理层、数据链结层、网络层、 传输层、会话层、表示层、应用层)中属于传输层协议。

3次握手创建会话

服务 器端和客户端分别提供一个套接字,这两个套接字共同形成一个连接

服务器端与客户端则通过 套接字实现两者之间连接的操作

TCP 服务的事件

服务器事件,listening,connection,close,error

连接事件,data,end,connect,drain,error,close,timeout

TCP针对网络中的小数据包有一定的优化策略:Nagle算法

要求缓冲区的数据达到一定数量或者一定时间后才将其发出

构建UDP服务

UDP

在 UDP 中,一个套接字可以与多个 UDP 服务通信

UDP 又称用户数据包协议,与 TCP 一样同属于网络传输层

无须连接,资源消耗低,处理快速且灵活

若想让UDP套接字接收网络消息,只要调用dgram.bind(port, [address])方法对网卡和端口 进行绑定即可

UDP 是一个EventEmitter的实例,而非Stream 的实例,具有自定义事件,message,listening,close,error

构建HTTP服务

HTTP

HTTP的全称是超文本传输协议

HTTP构建在TCP之上,属于应用层协议

HTTP报文

第一部分内容为经典的 TCP的3次握手过程

第二部分是在完成握手之后,客户端向服务器端发送请求报文

第三部分是服务器端完成处理后,向客户端发送响应内容,包括响应头和响应体

最后部分是结束会话的信息

HTTP客户端事件,response,socket,connect,upgrade,protocols,continue

构建 WebSocket 服务

WebSocket

WebSocket客户端基于事件的编程模型与Node中自定义事件相差无几

WebSocket实现了客户端与服务器端之间的长连接

客户端与服务器端只建立一个TCP连接,可以使用更少的连接。

WebSocket服务器端可以推送数据到客户端

有更轻量级的协议头,减少数据传送量

WebSocket握手

upgrade

切换协议

WebSocket数据传输

为了安全考虑,客户端需要对发送的数据帧进行掩码处理

网络服务与安全

SSL作为一种安全协议,它在传输层提供对网络连接加密的功能

Node在网络安全模块

crypto

· 主要用于加 密解密,SHA1、MD5等加密算法都在其中有体现,

tls

· TLS/SSL是一个公钥/私钥的结构,它是一个非对称的结构

· 公钥用来加密要传输的数据,私钥用来解密接收到的数据

· 为了防止中间人攻击,TLS/SSL引入了数字证书来进行认证

· 创建服务器端

• 创建一个安全的TCP服务

• 测试证书是否正常

· TLS客户端

• 启动客户端的过程中,用到了为客户端生成的私钥、证书、CA证书

https

· HTTPS服务就是工作在TLS/SSL上的HTTP

· 1. 准备证书

· 2. 创建HTTPS服务

· 3. HTTPS客户端

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 构建TCP 服务
    • 创建 TCP 服务器
      • TCP全名为传输控制协议,在OSI模型(由七层组成,分别为物理层、数据链结层、网络层、 传输层、会话层、表示层、应用层)中属于传输层协议。
      • 3次握手创建会话
      • 服务 器端和客户端分别提供一个套接字,这两个套接字共同形成一个连接
    • TCP 服务的事件
      • 服务器事件,listening,connection,close,error
      • 连接事件,data,end,connect,drain,error,close,timeout
      • TCP针对网络中的小数据包有一定的优化策略:Nagle算法
  • 构建UDP服务
    • UDP
      • 在 UDP 中,一个套接字可以与多个 UDP 服务通信
      • UDP 又称用户数据包协议,与 TCP 一样同属于网络传输层
      • 无须连接,资源消耗低,处理快速且灵活
    • 若想让UDP套接字接收网络消息,只要调用dgram.bind(port, [address])方法对网卡和端口 进行绑定即可
      • UDP 是一个EventEmitter的实例,而非Stream 的实例,具有自定义事件,message,listening,close,error
      • 构建HTTP服务
        • HTTP
          • HTTP的全称是超文本传输协议
          • HTTP构建在TCP之上,属于应用层协议
        • HTTP报文
          • 第一部分内容为经典的 TCP的3次握手过程
          • 第二部分是在完成握手之后,客户端向服务器端发送请求报文
          • 第三部分是服务器端完成处理后,向客户端发送响应内容,包括响应头和响应体
          • 最后部分是结束会话的信息
        • HTTP客户端事件,response,socket,connect,upgrade,protocols,continue
        • 构建 WebSocket 服务
          • WebSocket
            • WebSocket客户端基于事件的编程模型与Node中自定义事件相差无几
            • WebSocket实现了客户端与服务器端之间的长连接
            • 客户端与服务器端只建立一个TCP连接,可以使用更少的连接。
            • WebSocket服务器端可以推送数据到客户端
            • 有更轻量级的协议头,减少数据传送量
          • WebSocket握手
            • upgrade
            • 切换协议
          • WebSocket数据传输
            • 为了安全考虑,客户端需要对发送的数据帧进行掩码处理
        • 网络服务与安全
          • SSL作为一种安全协议,它在传输层提供对网络连接加密的功能
            • Node在网络安全模块
              • crypto
              • tls
              • https
          相关产品与服务
          SSL 证书
          腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档