WS · RESTful · HTTPDNS · FTP · 邮件
提示:本系列文章已经修订完毕,修改了纰漏,优化了文章结构。为了获得更好的阅读体验,请查看以下新专栏或新站点
CSDN 新专栏:
https://blog.csdn.net/keeppromise/category_12489629.html
我的个人博客(Github Page):
https://blog.lens-shrine.top/categories/学习记录:网络协议/
WebSocket
Socket 是一套网络编程API,利用它可以建立网络连接,一般都是操作系统底层实现的。
WebSocket 是一个网络协议。
WebSocket,是基于TCP的支持全双工通信的应用层协议
WebSocket 的应用场景很多
社交订阅、股票基金报价、体育实况更新、多媒体聊天、多玩家游戏等
建立连接
WebService
WebService,译为:Web服务,是一种跨编程语言和跨操作系统的远程调用技术标准。
WebService使用场景举例:
- 天气预报、手机归属地查询、航班信息查询、物流信息查询等
- 比如天气预报,是气象局把自己的服务以WebService形式暴露出来,让第三方程序可以调用这些服务功能
- http://www.webxml.com.cn/zh_cn/index.aspx
事实上,WebService完全可以用普通的 Web API 取代(比如HTTP + JSON)
现在很多企业的开放平台都是直接采用Web API
核心概念(SOAP,WSDL)
RESTful
REST的全称是:REpresentational State Transfer
译为:表现层状态转移
REST是一种互联网软件架构设计风格
- 定义了一组用于创建Web服务的约束
- 符合REST架构的Web服务,称为 RESTful Web服务
实践建议
-
URL中使用名词(建议用复数形式),不使用动词
推荐:/users、/users/6
不推荐:listsers,/getser?id=6,/uer/list,/user/get?id=6 -
使用 HTTP的请求方法 表达动作
-
一个资源连接到其他资源,使用子资源的形式
GET /users/6/cars/8
POST /users/8/cars -
API 版本化
mj.com/v1/users
mj.com/v2/users/66 -
返回 JSON格式的数据
-
发生错误时,不要返回 200状态码
…
HTTPDNS
HTTPDNS的使用
市面上已经有现成的解决方案
腾讯云:https://cloud.tencent.com/product/httpdns
阿里云:https://help.aliyun.com/product/30100.html移动端集成相关的SDK即可使用HTTPDNS服务
FTP
FTP(File Transport Protocol),文件传输协议,RFC 959 定义了此规范,是基于TCP的应用层协议
RFC 1738 中有定义,FTP的URL格式为:ftp://[user[:password]@]host[:port]/url-path