发表于: 2017-09-28 22:02:03
1 609
一.今天完成的主要事情
1.准备小课堂
1.背景介绍
当我们把项目部署到自己的服务器上以后,一般可以通过两种形式访问项目,一种是ip+端口号,还有一种是域名访问.
那么这两种访问项目的方式的区别是什么呢?哪一种更好一些?IP,域名,端口号之间有什么联系呢?
2.知识剖析
IP,域名,端口号的基本概念
(1) IP
IP,(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址(英语:IP Address),是分配给网络上使用IP协议的设备的数字标签。常见的IP地址分为IPv4与IPv6两大类。目前我们使用的都是IPv4的地址,IPv4地址由32位二进制数组成,常以XXX.XXX.XXX.XXX形式表现。(以上参考于维基百科)
通俗点说就是IP地址是用于标识出网络上的每一台主机的编号。有这个编号,网络上的其他主机才能在互联网浩若繁星的主机中定位到唯一的一台主机。
(2)域名
域名,(英语:domain name),是由一串用“点”分隔的字符组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。域名按域名系统(DNS)的规则流程组成。在DNS中注册的任何名称都是域名。域名用于各种网络环境和应用程序特定的命名和寻址目的。(以上参考于维基百科)
域名和IP地址之间有区别也有联系,域名通常会和IP进行绑定,通过访问域名来访问网络上的主机的服务。IP地址通常指的是网络中的主机,而域名则通常表示一个网站,一个域名可以绑定到多个ip上,多个域名也可以绑定到一个ip上。
(3)端口号
端口,(英语:port),主要分为物理端口和逻辑端口。我们一般说的都是逻辑端口,用于区分不同的服务。因为网络中一台主机只有一个IP,但是一个主机可以提供多个服务,端口号就用于区分一个主机上的不同服务。一个IP地址的端口通过16bit进行编号,最多可以有65536个端口,标识是从0~65535.(以上参考于维基百科)
端口号分为公认端口(0~1023)、注册端口(1024~49151)和动态端口(49152~65535)。我们自己的服务一般都绑定在注册端口上。
3.常见问题及解决方案
(1)域名和端口号是怎么对应起来的?
客户端输入域名,通过DNS将域名解析成为服务器ip,找到代理服务器,因为http协议服务所占用的端口默认为80端口,所以会访问服务器的80端口,然后再通过代理服务器将请求转发到不同的服务器以及端口中.如图

(2)应该通过域名访问项目吗?
答案是必须的。
如果用IP+端口号的方式访问,会有以下后果
首先,非常难记,域名是对人友好的有含义的字符,而ip都是4组基本无规律的数字,对人不友好.
其次, 如果服务器中的资源发生迁移,那么原先的服务器ip地址就无效了,必须要重新使用新的ip地址访问服务器,用户还要再去记忆一遍IP地址。但是如果是使用域名则不存在这个问题.
最后, 不安全,通过ip直接访问服务器是非常危险的,相当于将整个服务器的大门向所有人打开,造成的后果是别有用心的人能够非常容易攻击到服务器.域名访问就能杜绝这种情况,用户是不知道服务器的IP地址的,而且就算有人通过域名恶意攻击,直接和用户交互的代理服务器也可以保护内容服务器。这样就算代理服务器被攻破,损失也相对较小。
(3)从域名服务商到服务器的流程是怎么样的?
个人理解就是域名解析过程。该过程如下图

2.定义接口文档的字段约定
一、约定:
1.查询多个的列表形式如id=2&id=3&id=4这种数据的形式。
2.如无特殊标注,所有的Post和Put操作都以Application/json 的方式提交,这样适合于复杂的模型。 一些简单的操作应注明 “application/x-www-form-urlencoded”
3.所有的返回字段都包含code和Message,code=0为正常,异常以 code为负表示,前端负责展示错误信息。
4.Rest风格
5./u/代表着是必须登录才可以访问的接口 如果不登录会报-6002错误
字段约定:
字段 第几页 page 不写时默认为1
字段 展示数量 size 不写时默认为10。
用户表(tbl_user):
字段 用户银行卡数量 cardAmount 0-没有银行卡 1-一张银行卡 2-两张银行卡 用户注册后默认为0
字段 实名状态 verification 0-未实名 1-已实名 用户注册后默认为0
字段 账户状态 status 0-冻结 1-正常 用户注册后默认为1
字段 消息状态 messageChecked 0-无未读消息 1-有未读消息 用户注册后默认为0
用户银行卡关联表(tbl_user_bank):
字段 默认使用的银行卡 defaultCard 0-银行卡一 1-银行卡二 没有则不填,可以为null
实名记录表(tbl_verification_track):
字段 实名状态verifiedStatus 0-未认证 1-已认证 2-已拒绝 3-已取消 用户提交实名认证时默认为0
产品表(tbl_product):
字段 还款方式paymentBackWay 0-按月付息,到期还本 1-到期一次性还本付息
字段 起息方式 chargingInterestWay 0-T+0 1-T+1 2-T+2
字段 角标 flag 0-最新 1-热门 可以为null
字段 精品推荐 recommended 0-否 1-是
字段 限购状态 limited 0-否 1-是
字段 产品状态 status 0-停售 1-在售
内容表(tbl_content):
字段 类型type 0-推荐banner图封面 1-推荐banner图内容 2-帮助中心 3-关于我们
字段 状态status 0-草稿 1-上线 新增时默认为0
债务表(tbl_credit):
字段 状态 status 0-未使用 1-使用中 2-已到期 新增时默认为0
用户产品关联表 (tbl_user_product):
字段 还款方式 paymetBackWay 0-按月付息,到期还本 1-到期一次性还本付息
字段 投资状态 investStatus 0-已退出 1-退出中 2-投资中 3-已续投
字段 续投是否有效 available 0-无效 1-有效
消息表(tbl_message):
字段 消息类型 type 0-系统消息 1-公告消息
字段 系统消息类型 autoMessageType 0-投资成功 1-投资失败 2-即将到期 3-正在回款 4-回款成功 5-回款失败
字段 发送人群recipient 0-所有人 1-认证投资人 2单个用户 公告消息选择0或1,系统消息永远为2
字段 类型 type 0-定时发送 1-即时发送
字段 同步推送 synchronization 0-否 1-是
字段 状态 status 0-草稿 1-上线
付款记录表 (tbl_payment_track):
字段 交易状态 status 0-失败 1-成功
回款记录表 (tbl_payment_back_track):
字段 交易状态 status 0-失败 1-成功
二.明天计划完成的事情
1.继续写实现方案
2.撰写接口文档
3.如果有时间,写sql语句实现
三.遇到的问题
暂无
四.收获
以上
五.项目进度情况
有延期风险,方案设计花费的时间太多
评论