网络协议是计算机之间为了实现网络通信而达成的一种“约定”或者”规则“,有了这种”约定“,不同厂商的生产设备,以及不同操作系统组成的计算机之间,就可以实现通信。 HTTP协议 是超文本传输协议的缩写。...HTTP协议通常承载于TCP协议之上,在HTTP和TCP之间添加一个安全协议层(SSL或TSL),这个时候,就成了我们常说的HTTPS。...默认HTTP的端口号为80 HTTPS的端口号为443 为什么HTTPS安全? 因为网络请求需要中间有很多的服务器路由器的转发。中间的节点都可能篡改信息,而如果使用HTTPS,密钥在你和终点站才有。...保障了传输过程的安全性 总结HTTPS和HTTP的区别 HTTPS是HTTP协议的安全版本,HTTP协议的数据传输是明文的,是不安全的,HTTPS使用了SSL/TLS协议进行了加密处理。...http和https使用连接方式不同,默认端口也不一样,http是80,https是443。 答案:错误的是 B. http,https 默认的端口都是 80 端口
(D)通过在请求中包含授权码和重定向URI,客户端从令牌端点获取访问令牌。...4.1.2.1 错误响应(Error Response) 如果由于缺失、无效、不匹配重定向URI和客户端标识符,授权服务器应该通知资源所有者错误,不能自动的重定向用户代理到无效的重定向...server_error(服务器错误):授权服务器遇到意外情况,阻止它执行请求(因为当重定向时,一个500内部错误Http状态码不能返回给客户端,所以这个错误码是必须的。)。 ...error_uri(错误URI):可选。带有错误信息的且可读的Web页面,用于向客户端开发人员提供关于错误的附加信息。 state(状态):可选。...4.2.2.1 错误响应(Error Response) 如果由于缺失、无效、不匹配重定向URI和客户端标识符,授权服务器应该通知资源所有者错误,不能自动的重定向用户代理到无效的重定向
Nginx往往是构建微服务中必不可缺的一部分,从本文中你可以习得如何使用Nginx作为API网关。 HTTP API是现代应用架构的核心。...HTTP API提供了一套通用的接口,这使得在任意的应用规模下,我们都可以借助HTTP API从一个基本的微服务开始构建出一个具有完备功能的整体。...该配置将暴露所有由API网关发布的API,入口位于https://api.example.com/,用TLS协议加密保护。注意这里使用的配置文件是针对HTTPS的——并没有使用明文传输的HTTP。...精确定义 API的定义有两种方法——宽松的或者精确的。每个API最适合的方法取决于API的安全要求以及后端服务是否需要处理无效的URI。...其中的map指令接受了两个参数。第一个参数定义了寻找API秘钥的位置,这里我们通过获取客户端HTTP请求头中的apikey作为变量$http_api_key接收。
无论应用程序的规模如何,HTTP API都提供了一个通用接口,从单用途微服务到无所不包的整体。...请注意,此配置纯粹是HTTPS - 没有明文HTTP侦听器。我们希望API客户端知道正确的入口点并默认进行HTTPS连接。...第27到30行处理日志记录默认值和错误处理,并在响应中讨论错误部分如下。 单服务与微服务API后端 一些API可以在单个后端实现,但是出于弹性或负载平衡的原因,我们通常期望存在多个API。...每种API最合适的方法取决于API的安全要求以及后端服务是否需要处理无效的URI。...这具有保护后端服务免于格式错误的客户端请求的优点,代价是正常表达式匹配的一些小额外开销。有了这个配置,NGINX Plus接受一些URI并拒绝其他URI无效: ?
HTTP 响应状态码 响应状态码,即 Response Status Code,表示服务器的响应状态,如 200 代表服务器正常响应,404 代表页面未找到,500 代表服务器内部发生错误。...客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源 305 使用代理 所请求的资源必须通过代理访问 306 已经被废弃的HTTP状态码 307 临时重定向 与...416 请求范围不符 页面无法提供请求的范围 417 未满足期望值 服务器未满足期望请求标头字段的要求 500 服务器内部错误 服务器内部错误,无法完成请求 501 未实现 服务器不支持请求的功能...,无法完成请求 502 错误网关 作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应 503 服务不可用 由于超载或系统维护,服务器暂时的无法处理客户端的请求。...延时的长度可包含在服务器的Retry-After头信息中 504 网关超时 充当网关或代理的服务器,未及时从远端服务器获取请求 505 HTTP 版本不支持 服务器不支持请求的HTTP协议的版本,无法完成处理
303 See Other 服务器正在将用户代理重定向到其他资源,如Location标头字段中的URI所示,该资源旨在提供对原始请求的间接响应。...4×× Client Error 400 Bad Request 由于某些东西被认为是客户端错误(例如,格式错误的请求语法,无效的请求消息框架或欺骗性的请求路由),服务器无法或不会处理该请求。...417 Expectation Failed 至少一台入站服务器无法满足请求的Expect标头字段1中给出的期望。...418 I’m a teapot 任何尝试用茶壶冲泡咖啡的尝试都将导致错误代码“ 418我是茶壶”。生成的实体主体可能短而结实。...421 Misdirected Request 该请求被定向到不能产生响应的服务器。这可以由未配置为对请求URI中包含的方案和权限的组合产生响应的服务器发送。
那么服务器是如何通知客户端,操作是成功还是失败?或者有其他的一些情况呢? 答案就是通过HTTP状态码。 HTTP状态码是作为服务器对客户端HTTP请求的响应。...417 Expectation Failed 服务器无法满足Expect请求头中的期望。...502错误表明你正在访问的服务器是一个网关或代理服务器,而它在处理请求时从上游服务器或辅助服务器接收到了无效的响应。...504错误与502错误相似,但区别在于502错误表明无效响应,而504错误是由于响应超时。...304 Not Modified 表示服务器上的资源未修改,这意味着客户端缓存的版本仍然是最新的,因此不需要重新下载资源,所以客户端只需访问缓存获取数据就行了。
一、HTTP和HTTPS的基本概念 HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效...(3)HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。...然后当用户从http的入口进入访问页面时,页面就是http,如果用户是从https的入口进入访问页面,页面即是https的。...417(未满足期望值) 服务器未满足“期望”请求标头字段的要求。 5xx(服务器错误) 500(服务器内部错误) 服务器遇到错误,无法完成相应请求。...501(尚未实施) 服务器不具备完成相应请求的功能。例如,当服务器无法识别请求方法时,可能便会返回此代码 502(错误网关) 服务器作为网关或代理,从上游服务器收到了无效的响应。
该应用程序交换访问令牌的授权代码 最后,应用程序使用授权代码通过向授权服务器的令牌端点发出 HTTPS POST 请求来获取访问令牌。...通过在查询字符串中使用附加参数重定向回提供的重定向 URL 来指示错误。总会有一个错误参数,重定向也可能包括error_description和error_uri。...重定向网址无效 如果提供的重定向 URL 无效,授权服务器将不会重定向到它。相反,它可能会向用户显示一条描述问题的消息。...unsupported_response_type: 授权服务器不支持通过该方式获取授权码。 invalid_scope: 请求的范围无效、未知或格式错误。...此外,服务器可能包括参数error_description和error_uri有关错误的附加信息。
需要精确地设置成从客户端接收到的值。 错误响应 如果终端用户拒绝了访问请求,或者由于除了缺少或无效重定向URI之外的其它原因而导致请求失败, error_description 可选参数。...提供额外信息的一段人类可读的文字,用来帮助理解和解决发生的错误。 error_uri 可选参数。指明了一个人类可读的网页URI,带有关于错误的信息,用来为终端用户提供与错误有关的额外信息。...invalid_grant 提供的访问许可是无效的、过期的或已撤销的(例如,无效的断言,过期的授权令牌,错误的终端用户密码证书,或者不匹配的授权码和重定向URI)。...提供额外信息的一段人类可读的文字,用来帮助理解和解决发生的错误。 error_uri 可选参数。指明了一个人类可读的网页URI,带有关于错误的信息,用来为终端用户提供与错误有关的额外信息。...提供额外信息的一段人类可读的文字,用来帮助理解和解决发生的错误。 error_uri 可选参数。指明了一个人类可读的网页URI,带有关于错误的信息,用来为终端用户提供与错误有关的额外信息。
HTTP状态码是一种标准化的机制,用于服务器向客户端传达请求处理的结果。这些状态码是在HTTP协议中定义的,由三位数字代码组成。...308永久转移请求和以后的请求都应该被另一个URI地址重新发送。307、308和302、301有相同的表现,但不允许HTTP方法改变状态码类型说明400错误请求服务器不理解请求的语法。...416请求范围不符合要求如果页面无法提供请求的范围,则服务器会返回此状态代码。417未满足期望值服务器未满足"期望"请求标头字段的要求。...418我是一个茶壶这个代码是在1998年作为传统的IETF April Fools‘ jokes被定义的在RFC2324,超文本咖啡罐控制协议,但是并没有被实际的HTTP服务器实现。...497HTTP到HTTPS(Nginx)当原始HTTP请求发送到HTTPS端口时使用,用于在日志中与4XX和错误页面的重定向进行区分。
具体的HTTP方法和方法含义如下:GET(SELECT):从服务器取出资源(一项或多项)。POST(CREATE):在服务器新建一个资源。...PUT(UPDATE):在服务器更新资源(客户端提供完整资源数据)。PATCH(UPDATE):在服务器更新资源(客户端提供需要修改的资源数据)。DELETE(DELETE):从服务器删除资源。...版本号以字符'v'开头,比如:v1、v2/v1/users/v2/users8、提供清晰的错误信息: 在响应中包含清晰、详细的错误信息,帮助客户端理解问题的原因和解决方案。...字段进行内容协商,以确定客户端期望的表示形式和服务器返回的表示形式。...以下是一些关于URI书写的常见规范:使用小写字母: 建议使用小写字母,因为URI是区分大小写的。。
203 非权威信息 表示实体标头中返回的元信息不是原始服务器可用的最终集,而是从本地或第三方副本收集的。呈现的集合可能是原始版本的子集或超集。 204 无内容 服务器已完成请求,但不需要返回响应正文。...307临时重定向 指示客户端使用先前请求中使用的相同方法从另一个 URI 获取请求的资源。它与302 Found之前请求中使用的相同 HTTP 方法类似,但有一个例外。...417 期望失败 Expect服务器无法满足请求头字段指示的期望。 418 我是一个茶壶(RFC 2324) 它被定义为 April 的笑话,预计不会由实际的 HTTP 服务器实现。...451 因法律原因不可用 用户代理请求的资源无法合法提供。 499 客户端关闭请求(Nginx) 当 HTTP 服务器正在处理其请求时,客户端关闭了连接,使服务器无法发回 HTTP 标头。...502错误的网关 服务器在作为网关获取处理请求所需的响应时收到无效响应。 503服务不可用 服务器尚未准备好处理请求。 504网关超时 服务器充当网关,无法及时获得请求的响应。
什么是HTTP报文? HTTP报文是HTTP协议在客户端和服务端之间传送的数据块。 HTTP报文由哪三部分组成?...方法 描述 是否包含主体 GET 从服务端获取指定信息 否 POST 向服务端发送待处理的数据 是 HEAD 从服务端获取指定信息的头部 否 PUT 向服务端发送数据并替换服务端上指定的数据 是 OPTIONS...400 Bad Request 客户端发出的是错误请求,服务器无法理解。...414 Request URI Too Large 客户端发送的请求URI比服务端能够或者期望处理的要长时,使用此状态码。...501 Not Implemented 服务端不支持客户端的请求,无法完成请求。 502 Bad Gateway 作为网关或代理的服务器,从远端服务端接收到了一个无效的请求。
由于与拦截 HTTPS 请求相比,Attack者可以通过更多方式从 HTTP 重定向中窃取数据,因此与授权代码流相比,使用此选项的风险更大。...从授权服务器的角度来看,在它创建访问令牌并发送 HTTP 重定向时,它无法知道重定向是否成功以及正确的应用程序是否收到了访问令牌。这有点像将访问令牌抛向空中,祈祷应用程序能够捕捉到它。...另一种错误是用户拒绝请求(单击“拒绝”按钮)。 如果请求的语法有问题,例如redirect_uriorclient_id无效,那么重要的是不要重定向用户,而应该直接显示错误消息。...当重定向回应用程序以指示错误时,服务器将以下参数添加到重定向 URL: error 以下列表中的单个 ASCII 错误代码: invalid_request– 请求缺少参数、包含无效参数、多次包含参数或无效...unsupported_response_type– 服务器不支持使用此方法获取授权代码,例如,如果授权服务器从未实现隐式授权类型。 invalid_scope– 请求的范围无效或未知。
通常,这表示服务器提供了请求的网页。 HTTP Status 201 (已创建) -> 请求成功并且服务器创建了新的资源。...HTTP Status 414 (请求的 URI 过长) 请求的 URI(通常为网址)过长,服务器无法处理。...HTTP Status 417 (未满足期望值) ->服务器未满足”期望”请求标头字段的要求。...这些错误可能是服务器本身的错误,而不是请求出错。 代码详细及说明: HTTP Status 500 (服务器内部错误) ->服务器遇到错误,无法完成请求。...HTTP Status 502 (错误网关) ->服务器作为网关或代理,从上游服务器收到无效响应。 HTTP Status 503 (服务不可用) -> 服务器目前无法使用(由于超载或停机维护)。
因此了解Http状态码的含义对于开发是很有帮助的,这里我收集了并总结了一些状态码的含义。 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。...414 (请求的 URI 过长) 请求的 URI(通常为网址)过长,服务器无法处理。 415 (不支持的媒体类型) 请求的格式不受请求页面的支持。...416 (请求范围不符合要求) 如果页面无法提供请求的范围,则服务器会返回此状态代码。 417 (未满足期望值) 服务器未满足”期望”请求标头字段的要求。...5xx(服务器错误) 这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。 500 (服务器内部错误) 服务器遇到错误,无法完成请求。...- 应用程序无效 HTTP 500-15 - 不允许请求 global.asa 501 (尚未实施) 服务器不具备完成请求的功能。
令牌端点是应用程序发出请求以获取用户访问令牌的地方。本节介绍如何验证令牌请求以及如何返回适当的响应和错误。...然后,该服务必须验证请求中提供的授权码是否已发给已识别的客户端。最后,服务必须确保存在的重定向 URI 参数与用于请求授权代码的重定向 URI 相匹配。...invalid_grant– 授权代码(或密码授予类型的用户密码)无效或已过期。如果授权授予中提供的重定向 URL 与此访问令牌请求中提供的 URL 不匹配,这也是您将返回的错误。...返回错误响应时有两个可选参数,error_description和error_uri. 这些旨在为开发人员提供有关错误的更多信息,而不是为了向最终用户显示。...参数error_description只能是ASCII字符,最多只能是一两句话描述错误的情况。这error_uri是链接到您的 API 文档以获取有关如何更正遇到的特定错误的信息的好地方。
HTTP 定义 HTTP(超文本传输协议) 是 客户端 与 服务端 之间信息交流的 桥梁。...5.支持内容协商 HTTP 请求/响应交互模型 HTTP 常用请求方法 GET 方法 1.GET 方法 是 客户端 向服务端 获取资源时使用的,资源类型有图片,音频,HTML..... 2.服务器在处理...3.当用GET请求获取数据量较大时,可能会出现传输过程中断情况,HTTP协议提供了断点续传机制,通过GET 方法获取资源时可以指定获取的起始点。...,从远程服务器接收到了一个无效的响应 503 Service Unavailable 由于超载或系统维护,服务器暂时的无法处理客户端的请求。...延时的长度可包含在服务器的Retry-After头信息中 504 Gateway Time-out 充当网关或代理的服务器,未及时从远端服务器获取请求 505 HTTP Version not supported
3.HTTP 是 一种通用的 , 无状态的应用层协议,基于标准客户机/服务器模型。...5.支持内容协商 HTTP 请求/响应交互模型 HTTP 常用请求方法 GET 方法 1.GET 方法 是 客户端 向服务端 获取资源时使用的,资源类型有图片,音频,HTML..... 2.服务器在处理...3.当用GET请求获取数据量较大时,可能会出现传输过程中断情况,HTTP协议提供了断点续传机制,通过GET 方法获取资源时可以指定获取的起始点。...,从远程服务器接收到了一个无效的响应 503 Service Unavailable 由于超载或系统维护,服务器暂时的无法处理客户端的请求。...延时的长度可包含在服务器的Retry-After头信息中 504 Gateway Time-out 充当网关或代理的服务器,未及时从远端服务器获取请求 505 HTTP Version not supported
领取专属 10元无门槛券
手把手带您无忧上云