http协议

实时获取数据的几种方案

怎甘沉沦 提交于 2020-02-16 22:05:04
在开发的项目中,需要实时获取最新的股价,实时显示项目在线人数,即时通讯等。你会通过什么方法实现呢?下面就说说实时获取数据的几种方式,我尽量按照从low到复杂的顺序罗列。 http协议 HTTP协议大家都很熟悉了,开始本文之前,首先简单回顾一下HTTP协议。 HTTP协议是建立在TCP协议上的应用层协议,协议的本质是 请求----应答 : 即对于HTTP协议来说,服务端给一次响应后整个请求就结束了,这是HTTP请求最大的特点,也是由于这个特点,HTTP请求无法做到的是服务端向客户端主动推送数据。 但由于HTTP协议的广泛应用,很多时候确实又想使用HTTP协议去实现实时的数据获取,这种时候应当怎么办呢?下面首先介绍几种基于HTTP协议的实时数据获取方法。 ifram/frame 对于菜鸟来说,这未必不是个聪明的解决方法。在需要显示的区域嵌入一个frame框,然后通过js或meta标签控制,不停的刷新获取。 优点:简单实用。 缺点:不停地向服务器请求,对服务器压力最大。 应用场景:局域网,客户端数量不大 短轮询 这里我们要用到ajax了,还是通过Js重复的请求服务器来获取实时数据。比起frame刷新,减少了浏览器的渲染过程。并且因为使用了异步处理,没有画面闪现。交互效果更好。 优点:异步处理,交互效果好 缺点:仍然需要不停地向服务器请求 应用场景:短时间的获取数据,比如支付状态

Coap协议学习:1-有关概念

冷暖自知 提交于 2020-02-16 10:43:40
COAP协议简介 不像人接入互联网的简单方便,由于物联网设备大多都是资源限制型的,有限的CPU、RAM、Flash、网络宽带等。对于这类设备来说,想要直接使用现有网络的TCP和HTTP来实现设备实现信息交换是不现实的。于是为了让这部分设备能够顺利接入网络,CoAP协议(详细规范定义在 RFC 7252)就被设计出来了。 Coap(Constrained Application Protocol)是一种在物联网世界的类web协议,COAP名字翻译来就是“受限应用协议”,顾名思义,使用在资源受限的物联网设备上。 Constrained Application Protocol (CoAP) is a specialized Internet Application Protocol for constrained devices, as defined in RFC 7252 . It enables those constrained devices called "nodes" to communicate with the wider Internet using similar protocols. CoAP is designed for use between devices on the same constrained network (e.g., low-power,

HTTP/1.1协议初识

为君一笑 提交于 2020-02-16 07:50:23
http协议 * 即超文本传输协议。它规定了浏览器与服务器之间的通讯规则。 * http是基于请求/响应模式的,所以分为请求协议和响应协议 =================================== 请求   请求内容就是客户端发送给服务器的数据! 1. 请求格式: * 请求首行 * 请求头 * 空行 * 请求体(或称之为请求正文) 2. 请求方法 * 常见请求方法有GET和POST * 在浏览器地址栏中发送请求,以及点击超链接都是GET请求 * 提交表单可以发送GET请求,以及POST请求 * GET请求没有请求体,但空行是存在的 * POST请求是存在请求体的 3. 使用HttpWatch获取请求信息 * 请求行:请求方法 请求路径 请求协议及版本,例如:GET /hello/index.jsp HTTP/1.1 :GET请求,请求服务器路径为/hello/index.jsp,协议为1.1 * 请求头:请求头就是一些键值,格式为:头:值,例如:Host:localhost 请求的主机名为localhost * 空行:就是一个空行,用来与请求体分隔 * 请求体:GET方法没有请求体,POST才有请求体,请求体内容为:参数名=参数值&参数名=参数值,其中参数值为中文,会使用URL编码。 4. 常见请求头 * Host:请求的服务器主机名 * User-Agent

自定义Web框架

天涯浪子 提交于 2020-02-15 15:36:58
http协议 HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。 HTTP特点 1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 2、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 3.无连接

web框架原理

大兔子大兔子 提交于 2020-02-14 23:10:47
http协议 HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。 HTTP特点 1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。 由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 2、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 3.无连接

web框架

ε祈祈猫儿з 提交于 2020-02-13 14:35:58
                    web框架     http协议   http简介   HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。     http特点   1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。 由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 2、灵活:HTTP允许传输任意类型的数据对象

HTTP协议状态码详解(HTTP Status Code)

强颜欢笑 提交于 2020-02-13 12:11:52
使用ASP.NET/PHP/JSP 或者javascript都会用到http的不同状态,一些常见的状态码为: 200 – 服务器成功返回网页 404 – 请求的网页不存在 503 – 服务不可用 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。 代码 说明 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。 2xx (成功) 表示成功处理了请求的状态代码。 代码 说明 200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。 201 (已创建) 请求成功并且服务器创建了新的资源。 202 (已接受) 服务器已接受请求,但尚未处理。 203 (非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源。 204 (无内容) 服务器成功处理了请求,但没有返回任何内容。 205 (重置内容) 服务器成功处理了请求,但没有返回任何内容。 206 (部分内容) 服务器成功处理了部分 GET 请求。 3xx (重定向) 表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。 代码 说明 300 (多种选择) 针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作

HTTP协议状态码详解(HTTP Status Code)

和自甴很熟 提交于 2020-02-13 10:53:09
使用php或者javascript都会用到http的不同状态,一些常见的状态码为: 200 – 服务器成功返回网页 404 – 请求的网页不存在 503 – 服务不可用 所有状态解释:点击查看 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。 代码 说明 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。 2xx (成功) 表示成功处理了请求的状态代码。 代码 说明 200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。 201 (已创建) 请求成功并且服务器创建了新的资源。 202 (已接受) 服务器已接受请求,但尚未处理。 203 (非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源。 204 (无内容) 服务器成功处理了请求,但没有返回任何内容。 205 (重置内容) 服务器成功处理了请求,但没有返回任何内容。 206 (部分内容) 服务器成功处理了部分 GET 请求。 3xx (重定向) 表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。 代码 说明 300 (多种选择) 针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作

Web服务器创建以及Http协议

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-13 00:11:45
1.创建Web服务器 // 引入系统模块http const http = require ( 'http' ) ; // 创建服务器 const server = http . createServer ( ) ; // 当服务器接收到客户端的请求时触发 server . on ( 'request' , ( req , res ) => { // 做出响应 res . end ( 'welcome to web' ) ; } //监听端口 node中常用3000端口进行测试 server . listen ( 3000 ) ; 2.Http协议 2.1.报文 2.1.1.请求报文 server.on(‘request’,(req,res) =>{});中的req参数就包含了请求报文的信息 req . hearders // 获取请求报文 req . method // 获取请求方法 (GET/POST) req . url // 获取请求地址 /***************相关使用代码***********/ // 获取请求报文信息 // req.headers console . log ( req . headers ) ; // 获取请求方式 req.method // console.log(req.method); if ( req . method ==

网络基础(二)及HTTP协议

China☆狼群 提交于 2020-02-12 19:45:45
网络基础(二)及HTTP协议 一、HTTP协议 1 . 什么是url? 平时我们俗称的 “网址” 其实就是说的 URL 2.http协议的格式 http请求: 首行: [方法] + [url] + [版本] Header: 请求的属性, 冒号分割的键值对;每组属性之间使用\n分隔;遇到空行表示Header部分结束 空行 Body: 空行后面的内容都是Body. Body允许为空字符串. 如果Body存在, 则在Header中会有一个Content-Length属性来标识Body的长度; http响应: 首行: [版本号] + [状态码] + [状态码解释] Header: 请求的属性,冒号分割的键值对;每组属性之间使用\n分隔;遇到空行表示Header部分结束 空行 Body: 空行后面的内容都是Body.Body允许为空字符串. 如果Body存在, 则在Header中会有一个 Content-Length属性来标识Body的长度;如果服务器返回了一个html页面, 那么html页面内容就是在 body中. http常见的Header: Content-Type: 数据类型(text/html等) Content-Length: Body的长度 Host:客户端告知服务器, 所请求的资源是在哪个主机的哪个端口上; User-Agent: 声明用户的操作系统和浏览器版本信息;