http请求

09 web应用

℡╲_俬逩灬. 提交于 2019-12-06 10:08:59
09 web应用 网页对象:HTML文件、JPEG图片、视频文件、动态脚本等 基本HTML文件:包含对其他对象引用的链接 对象的寻址(addressing) URL(Uniform Resoure Locator):统一资源定位器 Scheme: //host:port/path www(万维网缩写) 万维网并不等同互联网,万维网只是互联网所能提供的服务其中之一,是靠着互联网运行的一项服务。 万维网应用遵循超文本传输协议 HTTP (HyperText Transfer Protocol); HTTP版本:  1.0: RFC 1945  1.1: RFC 2068 使用TCP传输服务  服务器在 80端口 等待客户的请求  浏览器发起到服务器的 TCP连接 (创建套接字Socket)  服务器接受来自浏览器的TCP连接  浏览器(HTTP客户端)与Web服务器(HTTP服务器)交换HTTP消息  关闭TCP连接 无状态 (stateless):服务器不维护任何有关客户端过去所发请求的信息 HTTP连接的两种类型 非持久性连接(NonpersistentHTTP)  每个TCP连接最多允许传输一个对象  HTTP 1.0版本使用非持久性连接 持久性连接(Persistent HTTP)  每个TCP连接允许传输多个对象  HTTP 1.1版本默认使用持久性连接

6.4 Zuul的真正威力:过滤器

萝らか妹 提交于 2019-12-06 09:57:39
虽然通过Zuul网关代理所有请求确实可以简化服务调用,但是在想要编写应用于所有流经网关的服务调用的自定义逻辑时, Zuul的真正威力才发挥出来。在大多数情况下,这种自定义逻辑用于强制执行一组一致的应用程序策略,如安全性、日志记录和对所有服务的跟踪。 这些应用程序策略被认为是横切关注点,因为开发人员希望将它们应用于应用程序中的所有服务,而无需修改每个服务来实现它们。通过这种方式,Zuul过滤器可以按照与J2EE servlet过滤器或Spring Aspect类似的方式来使用。这种方式可以拦截大量行为,并且在原始编码人员意识不到变化的情况下,对调用的行为进行装饰或更改。servlet过滤器或Spring Aspect被本地化为特定的服务,而使用Zuul和Zuul过滤器允许开发人员为通过Zuul路由的所有服务实现横切关注点。 Zuul允许开发人员使用Zuul网关内的过滤器构建自定义逻辑。过滤器可用于实现每个服务请求在执行时都会经过的业务逻辑链。 Zuul支持以下3种类型的过滤器。 前置过滤器——前置过滤器在Zuul将实际请求发送到目的地之前被调用。前置过滤器通常执行确保服务具有一致的消息格式(例如,关键的HTTP首部是否设置妥当)的任务,或者充当看门人,确保调用 证(他们的身份与他们声称的一致)和授权(他们可以做他们请求做的)。 后置过滤器—

Android复习强化笔记(二)

跟風遠走 提交于 2019-12-06 09:51:09
一:String、StringBuffer和StringBuilder之间的区别 String类型与StringBuffer类型主要性能区别其实在于String是不可变的对象,因此在每次改变String对象的时候其实都等于生成一个新的String对象,然后将新指针指向新的String对象。 StringBuffer是一个可变对象,但对它进行修改的时候不会像String那样重新建立对象。(线程安全) StringBuilder是一个可变对象,它跟StringBuffer相比不是线程安全的,一般在单个线程操作的时候,速度比StringBuffer快得多。(线程非安全) StringBuffer支持并发操作,线程安全,适合在多线程中使用;StringBuilder不支持并发操作,线程不安全,不适合在多线程中使用。 二:WebView http://www.open-open.com/lib/view/open1431569835951.html 基本使用: 1:在XML布局中添加WebView控件 2:在Manifest文件中添加权限:<uses-permission android:name="android.permission.INTERNET"/> 3:在java代码中获得该WebView的一个引用,同时使用loadUrl()加载一个网址 如:webView.loadUrl(

HTTP状态代码含义

戏子无情 提交于 2019-12-06 09:49:27
状态代码(也称作错误代码),指为服务器所接收每个请求(网页点击)分配的 3 位数代码。多数有效网页点击都有状态代码 200("正常")。如果"网页未找到"则会生产常见的404错误。了解各种状态代码的含义可以更迅速的发现问题,找到问题,解决问题。可以很大程度上的提高工作效率。下面是一些常见的状态代码。 1xx(临时响应)   用于表示临时响应并需要请求者执行操作才能继续的状态代码。 代码 说明   100(继续) 请求者应当继续提出请求。服务器返回此代码则意味着,服务器已收到了请求的第一部分,现正在等待接收其余部分。   101(切换协议) 请求者已要求服务器切换协议,服务器已确认并准备进行切换。 2xx(成功)   用于表示服务器已成功处理了请求的状态代码。 代码 说明   200(成功) 服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。如果您的 robots.txt 文件显示为此状态,那么,这表示 Googlebot 已成功检索到该文件。   201(已创建) 请求成功且服务器已创建了新的资源。   202(已接受) 服务器已接受了请求,但尚未对其进行处理。   203(非授权信息) 服务器已成功处理了请求,但返回了可能来自另一来源的信息。   204(无内容) 服务器成功处理了请求,但未返回任何内容。   205(重置内容) 服务器成功处理了请求,但未返回任何内容

HTTP是什么

蹲街弑〆低调 提交于 2019-12-06 09:34:11
HTTP 是什么? HTTP 解决了什么?为什么出现? 假设只有 TCP,没有应用层: 客户端、服务器开发人员制定接口需要定好发送、接收数据的格式。比如服务器执行成功返回 1,执行失败返回 0 等。但是其他服务器的接口格式不一定就是这样,可能返回的执行结果是字符串。所以客户端针对每个系统的接口都需要分别写发送、解析数据的方法。 而 HTTP 就是为了解决这类问题,在应用层给客户端、服务端制定了一个规范。 ​ HTTP/1.1 是什么?跟 1.0 有什么区别? HTTP 是基于 TCP 的协议,所以连接必须有三次握手、四次挥手。 在 HTTP/1.0 ,每次做 HTTP 请求,都需要建立、关闭 TCP 连接,即每发送 HTTP 请求就要三次握手、四次挥手。 这样比如打开一个网页,请求 HTML、CSS、JS 等就需要好几个甚至几十个 TCP 连接,所以性能低。这种每次请求就要一个 TCP 连接、返回再关闭 TCP 连接的,叫 短连接 。 而 HTTP/1.1 为了解决该问题,让多个 HTTP 请求共用一个 TCP 连接,从而减少了不必要的网络请求。 客户端在请求 HTTP header 里设置 Connection: keep-alive,并且服务器返回时也在其 HTTP header 设置 Connection: keep-alive,则使用的 TCP 连接就会继续给其他 HTTP

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

被刻印的时光 ゝ 提交于 2019-12-06 08:44:54
本文出自: https://www.cnblogs.com/shanyou/archive/2012/05/06/2486134.html 使用ASP.NET/PHP/JSP 或者javascript都会用到http的不同状态,一些常见的状态码为: 200 – 服务器成功返回网页 404 – 请求的网页不存在 503 – 服务不可用 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。 代码 说明 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。 2xx (成功) 表示成功处理了请求的状态代码。 代码 说明 200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。 201 (已创建) 请求成功并且服务器创建了新的资源。 202 (已接受) 服务器已接受请求,但尚未处理。 203 (非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源。 204 (无内容) 服务器成功处理了请求,但没有返回任何内容。 205 (重置内容) 服务器成功处理了请求,但没有返回任何内容。 206 (部分内容) 服务器成功处理了部分 GET 请求。 3xx (重定向) 表示要完成请求,需要进一步操作。 通常

http协议

让人想犯罪 __ 提交于 2019-12-06 07:44:05
HTTP协议 超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的 一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为 了提供一种发布和接收HTML页面的方法 HTTP请求 (1)请求行 请求方式: POST、GET 请求的资源: /DemoEE/form.html 协议版本: HTTP/1.1 HTTP/1.0,发送请求,创建一次连接,获得一个web资源,连接断开。 HTTP/1.1,发送请求,创建一次连接,获得多个web资源,保持连接。 (2)请求头 请求头是客户端发送给服务器端的一些信息,使用键值对表示 key:value (3)请求体 HTTP响应 (1)响应行 Http协议 状态码: 常用的状态码如下: 200 :请求成功。 302 :请求重定向。 304 :请求资源没有改变,访问本地缓存。 404 :请求资源不存在。通常是用户路径编写错误,也可能是服务器资源已删除。 500 :服务器内部错误。通常程序抛异常。 状态信息:状态信息是根据状态码变化而变化的 (2)响应头 响应也都是键值对形式,服务器端将信息以键值对的形式返回给客户端 (3)响应体 响应体是服务器回写给客户端的页面正文,浏览器将正文加载到内存,然后解析渲染 显示页面内容 来源: https://www.cnblogs.com

[转帖]BurpSuite简介

核能气质少年 提交于 2019-12-06 07:32:58
BurpSuite简介 https://bbs.ichunqiu.com/thread-54760-1-1.html BurpSuite ,这是一个辅助渗透的工具,可以给我们带来许多便利。Burp 给我们提供了简单的 HTTP 的抓包改包,数据枚举模块,以及各种安全漏洞的手动式扫描与爬虫式扫描,还有很多经常需要使用的小工具。 1、介绍: (教程仅用于信息防御技术教学 请勿用于其他用途) 好啦开始学习BurpSuite,这是一个辅助渗透的工具,可以给我们带来许多便利。 Burp Suite社区版 官方下载地址: https://portswigger.net/burp/communitydownload ( Burp Suite版本介绍) 版本 付费说明 功能介绍 社区版 免费 适合业余爱好者及研究人员 提供基础的手动工具 专业版 (Professional) $349 每年 提供 Web 漏洞扫描器 提供高级的手动工具 提供基础的手动工具 Burp 给我们提供了简单的 HTTP 的抓包改包,数据枚举模块,以及各种安全漏洞的手动式扫描与爬虫式扫描,还有很多经常需要使用的小工具。它的主要模块 Proxy 、 Scanner 、 Spider 等都设计了接口可以很方便的使用 Java 、 Python 或者是 Javascript 进行编写扩展。 Burpsuite2.1+汉化包 链接:

HTTP访问控制(CORS)踩坑小记

廉价感情. 提交于 2019-12-06 07:04:43
前几天在帮后端排查一个cors的问题的时候发现的一些小坑特此记录 ** cors的本质是出于安全原因,浏览器限制从脚本内发起的跨源HTTP请求。 例如,XMLHttpRequest和Fetch API遵循同源策略。 这意味着使用这些API的Web应用程序只能从加载应用程序的同一个域请求HTTP资源,除非使用CORS头文件。 跨域并非一定是浏览器限制了跨站请求,也有可能是跨站请求可以正常发起,但是返回结果被浏览器拦截了。最好的例子是 CSRF 跨站攻击原理,请求是发送到了后端服务器无论是否跨域!注意:有些浏览器不允许从 HTTPS 的域跨域访问 HTTP,比如 Chrome 和 Firefox,这些浏览器在请求还未发出的时候就会拦截请求。 ** 本case场景描述如下: 用户在a.com域名下跨域访问b.com域名下的api接口,使用了XMLHttpRequest的跨域头请求。域名b.com也允许了可以跨域 Access-Control-Allow-Origin 但是很奇怪在访问b.com的接口时有些api能访问成功,有些api访问失败。排查发现访问失败的api都是需要用户的登录态的。但是用户已经在b.com登录过了。把XMLHttpRequest请求换成jsonp请求则都可以请求成功(这好像是废话)。。。由此推测XMLHttpRequest 添加cors头的时候没有把b.com的

Feign原理 (图解)

社会主义新天地 提交于 2019-12-06 06:35:27
疯狂创客圈 Java 高并发【 亿级流量聊天室实战】实战系列 【 博客园总入口 】 疯狂创客圈 正在 进行分布式和高并发基础原理 的研习,进行已经发布一些基础性的文章: 一、 版本1 :springcloud + zookeeper 秒杀 以及有关Springcloud 几篇 核心、重要的文章 : 一、 Springcloud 配置, 史上最全 一文全懂 二、 Feign Ribbon Hystrix 三者关系 , 史上最全 深度解析 三、 SpringCloud gateway 详解 , 史上最全 四、 常识纠错:Feign 默认不用 短连接 1SpringCloud 中 Feign 核心原理 如果不了解 SpringCloud 中 Feign 核心原理,不会真正的了解 SpringCloud 的性能优化和配置优化,也就不可能做到真正掌握 SpringCloud。 本章从Feign 远程调用的重要组件开始,图文并茂的介绍 Feigh 远程调用的执行流程、Feign 本地 JDK Proxy 实例的创建流程,彻底的为大家解读 SpringCloud 的核心知识。使得广大的工程师不光做到知其然,更能知其所以然。 1.1 简介:Feign远程调用的基本流程 Feign远程调用,核心就是通过一系列的封装和处理,将以JAVA注解的方式定义的远程调用API接口,最终转换成HTTP的请求形式