写在前面的话,懒惰和拖沓是学习是最大的敌人,平时规划的很好实施的时候总想推脱;之前主要了解的网路协议是http,随着课程的深入逐步对整个网络构架有框架式的概念(姑且叫框架吧,不知道这么叫对不对)。
网络协议是计算机网络中进行数据交换而建立的规则、一组标准或一系列约定的集合;网络协议是由三个要素组成:
(1)语义:语义是解释控制信息每个部分的意义。它规定了需要发出何种控制信息,以及完成的动作与做出什么样的响应也就是要做什么。
(2)语法:语法是用户数据与控制信息的结构与格式,以及数据出现的顺序;这里是要怎么做的意思。
(3)时序:时序是对事件发生顺序的详细说明。
实际上网络协议还要包括物理设备加软件来组合完成信息通信,如笔记本电脑、交换机、路由器等;国际标准化组织(ISO)七层模型:物理层(Physics Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)。TCP/IP的四层模型:应用层、传输层、网络层、物理层。之所以带上英文是为了以后混个脸熟。
互联网行业,主要使用http及https协议,这是web的基础;目前使用的HTTP1.1近二十年之久,后面的HTTP-NG(HTTP2.0)已停止研发。HTTP是客户端向服务器端发送请求和服务器应答的标准;HTTP协议即超文本传输协议类似于ppt上的超链接,是用于从WWW(万维网)服务器传输超文本到本地浏览器的协议。它是依靠URL从服务器获取资源到本地组装浏览器网页,URL也叫统一资源定位符,类似于邮政系统的层层编号。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、请求修饰符、客户信息和内容且有自己固定格式。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。HTTP消息头包括通用头、请求头、响应头、实体头四个部分组成;每个头域由一个域名、冒号(:)和域值三部分组成。域名跟大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符;但是在传输过程中空格和换行会占用资源不利于协议性能。
HTTP协议的客户/服务器模式的信息交换过程,它分四个过程:1通过三次握手建立连接、2客户端发送请求信息(get)、3服务器端发送响应信息(post)、4再通过四次挥手关闭连接。URL获取资源是通过SQL来实现的;URL由三部分组成:所用协议://用户域名:端口号/文件目录层级?参数=参数值结束标志。http://blog.csdn.net/mindfloating/article/details/39474123——这个URL是直接指向某一页面资源意思,这样用法是rest;http://hotels.lvmama.com/book/hotel/hotelReservation.do?goods=1706071&visitTime=2017-09-22&goodsPrice=500&leaveTime=2017-09-23&quantity=1——这一URL问号(?)后面是参数查询页面所需要的资源。
鉴权(authentication)是指验证用户是否拥有访问系统的权利;对该用户使用服务器数据业务的合法性和有效性或者状态是否为激活状态进行检查。cookie是保存在客户端的数据发生在浏览web之后;session是保存在服务器端的数据要同合法验证通过后才能调取资源。
PUT请求可以用来通过URL创建或者更新资源的;与之相反的是PUT请求可以用来通过URL创建或者更新资源;webService三要素
SOAP、WSDL、UDDI;soap用来描述传递信息的格式、 wsdl 用来描述如何访问具体的接口、 uddi用来管理和分发一级查询webService 。soap描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们,一条 soap 消息就是一个普通的 XML 文档;在RPC中soap也可以应用。
RPC协议(远程过程调用协议)是一种通过网络从远程计算机程序上请求服务;RPC 调用分为两种异步调用和同步调用,RPC同步调用是等待服务器返回结果,RPC异步调用是不等待服务器返回结果;RPC组件调用有以下步骤:
1.调用客户端RPC,执行传送参数;2.调用本地系统内核发送网络消息;3.消息传送到远程主机;4.服务器得到消息并取得参数;
5.执行远程过程;6.执行的过程将结果返回服务器句柄;7.服务器返回结果,调用远程系统内核;8.消息传回本地主机;
9.客户由内核接收消息;10.客户接收返回的数据;
RPC 实现步骤:1导出远程接口,为什么要导出还不清楚;2导入远程接口与客户端代理;3协议编解码;4传输服务;5执行调用。
RPC 异常处理:网络原因、本地调用异常、超出范围的异常、RPC的资源消耗。
HTTP状态码:1xx是信息需要继续发送请求,100开头的只有两个100和101;2xx是通信成功,只是一个状态,一般看到最多的就是200;3xx是重定向,这里要尽量避免也是会影响性能的,重定向是少了正斜杠;4xx开头客户端错误,一般常见的有400和404 Not Found;5xx是服务器错误,一般常见的有500,500开头的基本上就是bugl了;深入学习之后发现每种协议都很复杂需要花时间去熟悉去记忆,学习进度好慢批评一下自己。