http请求

Express服务器开发

二次信任 提交于 2019-12-17 06:30:58
作者 | Jeskson 来源 | 达达前端小酒馆 Express服务器开发 创建Express应用程序,Express路由,pug视图模板的使用 Express简介: 让我们来创建Express应用程序,Express是一个Node.js Web应用框架,它很强大,可以为用户创建各种Web应用和HTTP工具,使用Express框架可以搭建一个完整功能的网站。 Express框架的优点: 可以用中间件来响应HTTP请求,可以定义路由表用于执行不同的HTTP请求,可以向模板传参数来动态渲染HTML页面。 命令行安装Express框架: cnpm install express --save Express框架安装在node_modules目录中,然后需要一起安装如下模块: body-parser是node.js的中间件,可以处理JSON,Raw,Text,URL编码的数据,cookie-parser是一个解析Cookie的中间件,然后通过req.cookies可以获取传过来的Cookie,并转为对象。 multer是node.js的中间件,用于处理enctype="multipart/form-data"的表单数据。 cnpm install body-parser --save cnpm install cookie-parse --save cnpm install multer

HTTP请求方法 GET POST【总结】

删除回忆录丶 提交于 2019-12-17 03:34:58
HTTP 8种请求方法概述 HTTP/1.1协议中共定义了八种方法(有时也叫“动作”),分别为: get,post,put, options,head,delete,trace,connect ,来表明对Request-URI指定的资源的不同操作方式,具体介绍如下: OPTIONS:返回服务器针对特定资源 所支持的HTTP请求方法 ,也可以利用向Web服务器发送’*’的请求来测试服务器的功能性。 HEAD:向服务器索要 与GET请求相一致的响应 ,只不过 响应体将不会被返回 。这一方法可以 在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息 。 GET :【查】向特定的资源发出请求。 POST :【改】向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的创建和/或已有资源的修改。 PUT :【增】 向指定资源位置 上传其最新内容 。 如果URI不存在,则要求服务器根据请求创建资源;如果存在,服务器就接受请求内容,并修改URI的原始版本。 DELETE :【删】请求服务器 删除 Request-URI所标识的资源。 TRACE: 回显 服务器收到的请求,主要用于测试或诊断。 CONNECT:HTTP/1.1协议中 预留 给能够将连接改为管道方式的代理服务器。把请求连接转换到透明的 TCP/IP 通道。

ajax请求过程

亡梦爱人 提交于 2019-12-17 02:48:26
1.什么是ajax AJAX=Asynchronous JavaScript and XML =====>异步的javascript和xml AJAX是在不重新加载整个页面的情况下与服务器交换数据并更新部分网页的艺术,是一种用于创建快速动态网页的技术。 XMLHttpRequest 是AJAX的基础,现代所有浏览器均支持XMLHttpRequest对象(IE5、IE6使用ActiveXObject)。 2.创建ajax实例 创建XMLHttpRequest对象的语法: var httpObj=new XMLHttpRequest(); 3.向服务器发送请求:使用XMLHttpRequest 对象的 open() 和 send() 方法: httpObj.open(method,url,async); httpObj.send(); send(string )将请求发送到服务器,string仅用于POST请求 method:请求的类型;GET或POST URL:文件在服务器上的位置 async:true(异步)false:(同步)默认是异步 为了避免get到的是缓存的结果,请向 URL 添加一个唯一的 ID: httpObj.open("GET","demo_get.asp?t=" + Math.random(),true); httpObj.send(); 如果需要像 HTML

anyproxy-初识使用

核能气质少年 提交于 2019-12-16 23:56:25
简介 anyproxy是一款可以高度定制的代理服务器,基于nodejs。 特征 支持https明文代理 支持低网速模拟 支持二次开发,可以用javascript控制代理的全部流程,搭建前端个性化调试环境 提供web版界面,观测请求情况 设计 anyproxy把http通信过程中的各个阶段进行抽离,分解成三个阶段: 收到来自客户端请求之后,允许开发者直接从本地提供返回 在转发请求到服务器前,允许开发者对发送的请求进行修改 在收到服务器响应之后,允许开发者对响应内容进行修改,再返回给客户端 对于上述每个阶段,anyproxy都提供了API接口,引入开发者编写自己的规则代码,实时干预通信过程,以此满足各类自定义需求。 具体地,我们提供的接口包括: 收到用户请求之后 shouldUseLocalResponse ,是否在本地直接发送响应(不再向服务器发出请求) dealLocalResponse 如果shouldUseLocalResponse返回true,会调用这个函数来获取本地响应内容(异步接口) 向服务端发出请求之前 replaceRequestProtocol 替换向服务器发出的请求协议,支持http和https的替换 replaceRequestOption 替换向服务器发出的请求参数,即nodeJS中的 request option replaceRequestData

用nginx实现https请求转http请求(转)

萝らか妹 提交于 2019-12-16 19:15:26
转自: https://www.cnblogs.com/magotzis/p/9456695.html 接到项目需求需要将一些https请求利用nginx代理到http接口上,因此要在本地上搭环境进行测试,现在将该过程记录一下。 生成证书 1. 使用openssl生成密钥privkey.pem: openssl genrsa -out privkey.pem 1024/2038 2. 使用密钥生成证书server.pem: openssl req -new -x509 -key privkey.pem -out server.pem -days 365 证书信息可以随便填或者留空,只有Common Name要根据你的域名填写。如xxx.com,或使用*.xxx.com匹配二级域名。 配置ngnix 由于我本地的Spring boot项目是跑在8080端口的,因此在ngnix配置上我还做了一层80到8080端口到转换。 完整ngnix配置如下。 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker

思考Http请求方式Get与Post

你。 提交于 2019-12-16 15:51:55
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 问题 在开发项目之前,首先尽快熟悉项目中现有的组件,比如分页怎么使用,接口参数怎么定义等等,其目的是让自己写的代码不超出了框架的约束,不然有可能出现重复造轮子情况。 今天,我也步入项目团队中,强烈的感觉框架的不足,比如分页组件功能足,Web接口定义请求方式全部使用Post请求等问题。当自己静下来的时候,我在想是不是太较真了,为什么好多开发者都不按现有的规范来。比如Web接口全使用POST请求,开始寻找有力说服自己的答案。 分析 为了比较有说服力,本人还是选择W3C定义,它是这么定义的 Get:是从指定的资源请求数据 Post:向指定的资源提交要被处理的数据 GET 方式的一些解释: GET 请求可被缓存 GET 请求保留在浏览器历史记录中 GET 请求可被收藏为书签 GET 请求不应在处理敏感数据时使用 GET 请求有长度限制 GET 请求只应当用于取回数据 注:查询字符串(名称/值对)是在 GET 请求的 URL 中发送 POST 方式的一些解释: POST 请求不会被缓存 POST 请求不会保留在浏览器历史记录中 POST 不能被收藏为书签 POST 请求对数据长度没有要求 注:查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送 W3C对 GET 与 POST 全面解释与比较 总结

HTTP协议

大憨熊 提交于 2019-12-16 15:51:51
当输入www.google.com页面做了哪些事情 域名解析 域名解析顺序为:浏览器自身DNS缓存 --> OS自身的DNS缓存 --> 读取host文件 --> 本地域名服务器 --> 权限域名服务器 --> 根域名服务器。如果有且没有过期则结束本次域名解析,解析成功之后进行后续操作。 TCP3次握手协议 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接. 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; SYN:同步序列编号(Synchronize Sequence Numbers) 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(连接)状态,完成三次握手. 建立连接后,发送http请求 浏览器得到http请求的内容发送给服务器,服务器响应http请求生成html文件 浏览器接收响应的html文件,解析、整理相关的资源文件,最后渲染页面显示给用户 什么是HTTP(Hyper Text Transport Protocol

HTTP 方法:GET 对比 POST

柔情痞子 提交于 2019-12-16 15:50:00
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 参考W3C:http://www.w3school.com.cn/tags/html_ref_httpmethods.asp 在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。 GET - 从指定的资源请求数据。 POST - 向指定的资源提交要被处理的数据 GET 方法 请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的: /test/demo_form.asp?name1=value1&name2=value2 有关 GET 请求的其他一些注释: GET 请求可被缓存 GET 请求保留在浏览器历史记录中 GET 请求可被收藏为书签 GET 请求不应在处理敏感数据时使用 GET 请求有长度限制 GET 请求只应当用于取回数据 POST 方法 请注意,查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的: POST /test/demo_form.asp HTTP/1.1 Host: w3schools.com name1=value1&name2=value2 有关 POST 请求的其他一些注释: POST 请求不会被缓存 POST 请求不会保留在浏览器历史记录中 POST 不能被收藏为书签 POST 请求对数据长度没有要求 **

spring mvc2

旧巷老猫 提交于 2019-12-16 14:58:55
web拦截方式 springconfig.xml <!--不拦截静态资源--> <mvc:default-servlet-handler/> /拦截所有不包含jsp ,包括今天资源,css,js,图片 /*拦截所有(真拦截) web.xml <!-- 配置SpringMVC前端控制器 --> <servlet> <servlet-name>spring_mvc_test</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/springconfig.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>spring_mvc_test</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> @RequestMapping 通过@RequestMapping注解可以定义不同的处理器映射规则。

Flask-REST接口开发 + marshmallow

半世苍凉 提交于 2019-12-16 13:46:47
Flask-REST接口开发 + marshmallow REST是Representational State Transfer三个单词的缩写,由Roy Fielding于2000年论文中提出,它代表着分布式服务的架构风格。 后端负责数据编造,而前端则负责数据渲染,前端静态页面调用指定api获取到有固定格式的数据,再将数据展示出来,这样呈现给用户的就是一个”动态“的过程。 REST设计原则 1 客户端-服务器:通过将用户UI与数据存储分开,我们可以简化服务器组件来提高跨多个平台的用户界面的可移植性并提高可伸缩性。 它可以表现成前后端分离的思想。 2 无状态:从客户端到服务器的每个请求都必须包含理解请求所需的所有信息,并且不能利用服务器上任何存储的上下文。 这表示你应该尽可能的避免使用session,由客户端自己标识会话状态。(token) 3 规范接口:REST接口约束定义:资源识别; 请求动作; 响应信息; 它表示通过uri标出你要操作的资源,通过请求动作(http method)标识要执行的操作,通过返回的状态码来表示这次请求的执行结果。 4 可缓存: 缓存约束要求将对请求的响应中的数据隐式或显式标记为可缓存或不可缓存。如果响应是可缓存的,则客户端缓存有权重用该响应数据以用于以后的等效请求。 它表示get请求响应头中应该表示有是否可缓存的头(Cache-Control)