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 HTTP请求详解 - 爱码网

       好久之前有一次 面试,问我http请求有哪几部分组成,我毫不犹豫回答:请求头和请求体,一想,没错啊,请求头放key:value格式的信息,包括编码,主机端口,语言等一大段信息,请求体就是传递的参数了,然后面试官问:还有呢?我没想出来还有什么,后来回来查了下发现,原来还有个一直容易被忽略的请求行;

      现在有空就复习下http请求,到底包含了那些部分,每个部分是什么内容:

http一共包括三个部分
Request Line:请求行
Header:请求头
Request Body:请求体

下面是图解:(以HTTP1.1为例,他和1.0和2.0略有区别)

HTTP请求详解

请求行:请求类型(POST还是GET,如果是restful风格的接口还会有DELETE,PUT方法),请求的url(它与下面的Host组成统一资源定位符,意思就是互联网上可以通过这个url唯一定位到的),HTTP协议(HTTP版本);

 

请求头:Accept:顾名思义就是接受的意思,他的值内容是描述发送这个http请求的发送端希望得到的信息类型是什么格式的,顺便说下下面的Content-Type(内容类型),他的意思是发送端发送这次http请求的数据格式。加起来就是Content-type的类型发送信息,用Accept的类型接受信息。

             Referer: 翻译过来叫推荐人,这个平时用不到,但用处还是很大的,简单来说作用就是告诉服务端你这个请求是从哪个页面来的,正因为有这个属性,百度引流,统计资源才能实现,可以知道你是通过百度推广的页面进入的,然后就可以收费,还有重要一点是用来防黑,之前做过公安局的一个网站就要求服务端要获取referer的值判断是否从正常页面进入的,以防止黑客非法手段发送这个请求实现无需登录就可以修改资源的目的。

             Accept-Language:不用说也知道,接受的语言类型是哪种

            User-Agent:翻译为用户代理,实际上就是发送这个请求的人是用什么发送的,如果是谷歌浏览器会有Chrome字样,如果是IE会有IE的字样,同时还会有浏览器的版本号等信息;有个有趣的现象,不管什么浏览器开都都是Mozilla开头,这个有兴趣的可以去搜搜(这里简单说下:关于浏览器初期争抢浏览器份额,IE和网景公司的,先是网景的Mozilla浏览器支持框架,其他浏览器不支持,于是网站管理员探测User-Agent包含Mozilla的发送带框架的,其他的不发送,后来微软开发浏览器IE也支持框架,但很多时候收不到带框架的页面,于是在User-Agent值里加上Mozilla后也能收到带框架的页面了,然后。。延续下来)

           Content-Type:上面已经介绍过,不多说

           Host:发送这个请求的主机地址和端口是多少,也就是ip和端口号

           Content-Length:本次请求发送的数据大小

           Connection:表名客户端想要保持连接打开,HTTP1.1默认使用一个持久连接keep-live,可以节约资源值还可以是close,

           Cache-Control:可缓存,如果设置no-cache,就不会缓存,每次都重新发送请求,可以设置缓存,如果设置为缓存,那么再次发送这个请求就不会去服务器,而是从缓存里获取

           Cookie:不用说,做开发的都知道是认证的信息,经常用于登录认证,

 

请求体:请求体,这才是这次请求的真实数据,实实在在发送请求到服务器的数据,但是一般GET请求,数据是放在url的后面,POST请求的数据才会放在请求体中,

相关文章: