array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 Linux__计算机网络(应用层/HTTP协议) - 爱码网
     重点知识:
          ·理解应用层协议,学习HTTP协议
          ·理解传输层的作用和TCP的机制和特性
          ·理解网络层的作用和IP协议
          ·理解数据链路层的作用和ARP协议
          ·理解TCP/IP协议
          ·分析网络问题的工具和方法


应用层
     最贴近于实际,解决日常需求的网络应用,就是在这一层,也是和用户最紧密的。
     协议
     协议是一种“约定”,而在计算机学科,一般而言,协议,就是网络协议的简称,网络协议是通信计算机双方必须遵守的一组约定,例如如何去建立连接,怎样去互相识别等等。只有遵守这个约定,计算机之间才能相互通信交流。他的三要素是:语法,语义,时序
     先举一个简单的例子,例如一个网络版的计算器,他是怎么工作的呢?首先要由客户端将需要处理的数据发送给服务端,然后服务器获取到数据,进行运算,再把结果返回给客户端。而这个时候就需要一些约定,不能出现你发你的,我收我的,这样可能导致双方都得不到正确的处理。因此需要有约定:    
     约定一:
          ·客户端发送形如“1+1”的字符串,这个字符串有两个操作数,都是整形;
          ·两个数字之间有一个字符是运算符,运算符只能是+;
          ·数字和运算符之间没有空格;
     约定二:
          ·定义一个结构体来表示我们需要交互的信息;
          ·发送数据时将这个结构体按照一个规则转换成字符串,接收到数据的时候在按照相同的规则把字符串转化为结构体;
          ·类似于这样的过程,我们称之为“序列化”和“反序列化”

HTTP协议
     关于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。

其实,这就是一种约定,是被定义好的,现成的可用的,被大家接受的协议,供我们参考使用。要认识HTTP,首先我们来认识一下URL;
Linux__计算机网络(应用层/HTTP协议)
     urlencode和urlecode
在url里像/?:等等的字符,已经被url当做特殊意义理解了。因此这些字符不能随意出现。当出现这些字符,就会被转义,转义规则如下:
     将需要转码的字符转为16进制,然后从右到左,取4位(不足四位直接处理),每两位做一位,前面加上%,编码成%XY格式。

HTTP协议格式
     HTTP请求
Linux__计算机网络(应用层/HTTP协议)
·首行:[方法]+[url]+[版本]
·Header:请求的属性,冒号是分割的键值对;煤堆属性之间使用\n分割;遇到空行表示Header部分结束
·Body:空行后面的内容都是Body。Body允许为空字符串。如果Body存在,则在Header终会有一个Content-Length属性来标识Body的长度
     HTTP响应
Linux__计算机网络(应用层/HTTP协议)
·首行:[版本号]+[状态码]+[状态码解释]
·Header:请求的属性,冒号分割的键值对;每组属性之间使用\n分割;遇到空行表示Header部分结束
·Body:空行后面的内容都是body,Body允许为空字符串。如果Body存在,则在Header中会有一个Content-Length属性来标识Body的长度。如果服务器返回了一个html页面,那么html页面内容就是在body中。
HTTP的方法

方法
说明
支持的HTTP协议版本
GET
获取资源
1.0、1.1
POST
传输实体主体
1.1、1.1
PUT
传输文件
1.1、1.1
HEAD
获得报文首部
1.1、1.1
DELETE
删除文件
1.1、1.1
OPTIONS
询问支持的方法
1.1
TRACE
追踪路径
1.1
CONNECT
采用隧道协议代理链接
1.1
LINK 建立和资源之间的联系
1.0
UNLINE 断开连接关系 1.0
其中最常用的就是GET和POST方法

HTTP的状态码

  类别 原因短语
1XX informational(信息性状态码) 接受的请求正在处理
2XX Success(成功状态码) 请求正常处理完毕
3XX Redirection(重定向状态码) 需要进行附加操作以完成请求
4XX Client Error(客户端错误状态码) 服务器无法处理请求
5XX Server Error(服务器错误状态码) 服务器处理请求出错
     最常见的状态码,比如200(OK),404(Not Found),403(Forbidden),302(Redirect,重定向),504(Bad Gateway)

HTTP常见Header
     ·Content-Type: 数据类型(text/html)等
     ·Content-Length: Body的长度
     ·Host: 客户端告知服务器,所请求的资源是在哪个知己的哪个端口上;
     ·User-Agent: 声明用户的操作系统和浏览器版本信息
     ·referer: 当前页面是从哪个页面跳转过来的
     ·location: 搭配3XX状态码使用,告诉客户端接下来要去哪里访问
     ·Cookie: 用于在客户端储存少量信息,通常用于实现会话(session)的功能;

相关文章:

  • 2021-08-02
  • 2018-10-07
  • 2020-06-21
  • 2021-10-07
  • 2021-08-02
  • 2020-10-27
  • 2021-08-27
猜你喜欢
  • 2018-04-17
  • 2021-11-03
  • 2021-12-02
  • 2021-10-07
  • 2021-10-05
  • 2021-10-07
  • 2021-10-07
  • 2021-08-02
相关资源
相似解决方案