首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

跟我一起探索 HTTP- 重定向

永久重定向将在更改站点 URL 后,保留现有的链接/书签、上传文件时表示进度页面等。 原理 HTTP 协议中,重定向操作由服务器向请求发送特殊重定向响应而触发。...重定向响应包含以 3 开头状态码,以及 Location 标头,其保存着重定向 URL。 浏览器接收到重定向时,它们会立刻加载 Location 标头中提供URL。...搜索引擎和其他爬虫不会记录新、临时 URL创建、更新或者删除资源时候,临时重定向也可以用于显示临时性进度页面。...优先级 由于存在上述三种 URL 重定向机制,那么多种方法同时设定情况下,哪种方法会首先起作用呢? HTTP 协议重定向机制永远最先触发——它们甚至没有传输页面的情况下就已经存在。.../,URL任何文件或目录也将重定向URL(https://example.com/some-page 将重定向至 https://www.example.com/some-page)。

36850

HTTP中重定向

原理 HTTP 协议中,重定向操作由服务器通过发送特殊响应(即 redirects)而触发。HTTP 协议重定向响应状态码为 3xx 。...浏览器接收到重定向响应时候,会采用该响应提供 URL ,并立即进行加载;大多数情况下,除了会有一小部分性能损失之外,重定向操作对于用户来说是不可见。 ?...搜索引擎不会记录该新、临时链接。创建、更新或者删除资源时候,临时重定向也可以用于显示临时性进度页面。 特殊重定向 除了上述两种常见重定向之外,还有两种特殊重定向。...优先级 由于存在上述三种 URL 重定向机制,那么多种方法同时设定情况下,哪种方法会首先起作用呢?...优先级顺序如下: 1.HTTP 协议重定向机制永远最先触发,即便是没有传送任何页面——也就没有页面被(客户端)读取——情况下。

1.7K30
您找到你想要的搜索结果了吗?
是的
没有找到

Linux网络-HTTP协议

q=java”表示传递搜索参数java,即该应用url表示搜索java方面的内容 片段标识符 也叫做哈希值,通常以#开始,表示定位页面某个位置(或者说定位页面的锚点,熟悉前端的人应该知道锚点是指页面某个部分...id),这部分内容不传到服务器端,而是用于前端页面定位显示 2、urlencode和urldecode 概念及介绍: 像 / ?...传参;POST方法是通过正文传参 POST方法通过正文传参能传递更多参数,而url长度是有限,所以GET方式传参有限 POST方法传参更加私密,因为GET方法会将参数回显url当中,POST方法正文中不会被别人轻易看到...临时重定向演示: 进行临时重定向时需要用到Location字段,Location字段是HTTP报头当中一个属性信息,该字段表明了你所要重定向目标网站 构建临时重定向http响应代码: /...: HTTP实际上是一种无状态协议,HTTP每次请求/响应之间是没有任何关系,但你使用浏览器时候发现并不是这样 当你登录一次能某网站账号后,再将网站关了甚至是重启电脑,再次网站时并没有要求你再次输入账号和密码

1.5K20

HTTP状态码大全

在这里location可以重定向到任意URL,既然是浏览器重新发出了请求,则就没有什么request传递概念了。客户浏览器路径栏显示是其重定向路径,客户可以观察地址变化。...203 Non-Authoritative Information 服务器已成功处理了请求,但返回实体头部元信息不是原始服务器上有效的确定集合,而是来自本地或者第三拷贝。...与204响应一样,该响应也被禁止包含任何消息体,且以消息头后第一个空行结束。 206 Partial Content 服务器已经成功处理了部分 GET 请求。...这些状态码适用于任何请求方法。浏览器应当向用户显示任何包含在此类错误响应实体内容。...鉴于 PUT,DELETE 方法会对服务器上资源进行写操作,因而绝大部分网页服务器都不支持或者默认配置下不允许上述请求方法,对于此类请求均会返回405错误。

1.3K40

HTTP认知(请求与响应

当服务端有机会发送100 Continue响应之前就收到部分或全部实体,结束请求之后则可跳过100 Continue响应,只发送一个最终状态码。...响应实体主体部分中 应该包含各种引用了已创建资源 URL,Location 首部包含 则是最具体引用。服务器必须在发送这个状态码之前创建好对象。...204 No Content :响应报文中包含若干首部和一个状态行,但没有实体主体部分。主 要用于浏览器不转为显示新文档情况下,对其进行更新(比如刷新一个表单页面)。...206 Partial Content :成功执行了一个部分或 Range(范围)请求。客 户端可以通过一些特殊首部来获取部分或某个范围内文档——这 个状态码就说明范围请求成功了。...303 See Other:告知客户端应该用另一个 URL 来获取资源。新 URL 位于响应报文 Location 首部。其主要目的是允许 POST 请求响应将客户端定向某个资源上去。

59350

关于HTTP报文请求方法和状态响应

行程最后一站服务器会弹出一TRACE响应,并在响应主体中携带它收到原始请求报文。...,因为资源有语法错误运行部成功,无法响应,不是资源不存在; 2.1 200~299--成功状态码 200:OK 成功,请求所有数据通过响应报文entity-body部分发送;原因短语为OK; 201...服务器必须在发送这个状态码之前创建好对象; 202:Accepted 请求已被接受,但服务器还未对其执行任何动作。不能保证服务器会完成这个请求;这只是意味着接受请求时,他看起来是有效。...主要用于浏览器不转为显示新文档情况下,对其进行更新(比如刷新一个表单页面); 205:Rest Content 另一个主要用于浏览器代码。...其主要目的是允许POST请求响应将客户端定向某个资源上去; 304:Not Modified 客户端发出了条件式请求,但服务器上资源未曾发生改变,则通过通过此响应状态码通知客户端(带有这个状态码响应不应该包含实体主体部分

1.3K30

HTTP 状态码

~~ 状态码分类 五大类 可以通过三位数字代码对不同状态码进行分类 200 299 之间状态码表示成功 300 399 之间代码表示资源已经被移走了 400 499 之间代码表示客户端请求出错了...状态码目的是对这样情况进行优化:HTTP 客户端应用程序有一个实体主体部分要发送给服务器,但希望发送之前查看一下服务器是否会接受这个实体。...响应实体主体部分中应该包含引用了已创建资源URL,Location首部包含则是最具体引擎。...服务器必须在发送这个状态码之前创建好对象 202 Accepted 请求已被接受,服务器还未对其执行任何动作。不能保证服务器会完成这个请求;接受请求时,它看起来是有效。...客户端可以通过一些特殊首部来获取部分或某个范围内文档 300 ~ 399,重定向状态码 重定向状态码要么告知客户端使用替代位置来访问他们所感兴趣资源,要么就提供一个替代响应而不是资源内容。

2.5K00

程序员必须掌握HTTP基本知识

所以引入了 Content: keep-alive,要求就是只要任何不提出断开,那么就一直连接 管线化 以往,请求需要得到回应后才能继续下一请求,这样其实一点也不高效。...分块传输 当文件较大时,可以分割为多个部分分时传送,让浏览器一块一块显示页面 获取部分内容 "获取部分内容")获取部分内容 当某个内容下载到一半失败时,重新下载往往从头开始,所以引入可以指定范围...,并且返回了响应报文内容 204 表示成功处理请求,但是并没有什么资源可以返回,利用这个可以做一些数据修改,添加数据请求 206 表示成功处理部分内容请求,返回请求所指定报文内容 3XX 301...永久重定向,将请求 URI 资源永久重定向某个指定资源位置 302 临时重定向,可能重定向资源还会再次改变 303 上面两种状态码明文上规定重定向时不允许改变请求方法,但是实际使用时大家都不怎么遵守...服务端必须正确解析上一步客服端发送 Finshed 报文,因为里面包含了从连接开始这一步之前所有报文整体校验值,如果服务端成功解析说明密钥交换成功,服务端就会发送 Change Cipher Spec

20630

JavaWeb之Request对象和Response对象详解

作用:整个请求链中共享数据,最常用Servlet中处理好数据要交给Jsp显示,此时参数就可以放置Request域中带过去。...forward之前输入response缓冲区中数据,如果已经被发送到了客户端,forward将失败,抛出异常 forward之前输入response缓冲区中数据,但是还没有发送到客户端...一个Servlet中进行多次forward也是不行,因为第一次forward结束,response已经被提交了,没有机会再forward了 总之,一原则,一次请求只能有一次响应,...方法还可以重定向同一个站点上其他应用程序中资源,甚至是使用绝对URL重定向其他站点资源。...调用HttpServletResponse.sendRedirect方法重定向访问过程结束后,浏览器地址栏中显示URL会发生改变,由初始URL地址变成重定向目标URL;调用RequestDispatcher.forward

86330

http报文详解

http1.0之前,并不要求在请求行和响应行中包含http协议版本,现在应该没有web服务使用http1.0之前协议了,我们平时几乎也见不到http1.0协议。...它目的是对这样情况进行优化:HTTP 客户端应用程序有一个实体主体部分要发送给服务器,但希望发送之前查看一下服务器是否会接受这个实体。...如果服务器收到了一带有值为 100 Continue Expect 首部请求,它会用 100 Continue 响应或一错误码来进行响应。...服务器必须在发送这个状态码之前创建好对象 202 Accepted 请求已被接受,但服务器还未对其执行任何动作。不能保证服务器会完成这个请求;这只是意味着接受请求时,它看起来是有效。...在对那些包含了重定向状态码非 HEAD 请求进行响应时,最好要包含一个实体,并在实体中包含描述信息和指向(多个)重定向 URL 链接。下表列出了已定义重定向状态码。

62710

ASP.NET Core 6框架揭秘实例演示:重定向N种实现方式

(正则表达式),后者(“baz/1”)表示重定向目标地址模板,占位符“1”表示进行正则匹配时产生首段捕获内容(前缀“foo/”后面的部分)。...如下面的代码片段所示,RewriteOptions对象被创建后,我们调用它另一个AddRewrite扩展方法注册了一服务端重定向URL重写)规则,原始请求路径正则表达式和重定向路径均保持不变。...图3 IIS重定向规则 由于发送两个请求分别采用客户端和服务端重定向方式导向新地址,所以浏览器针对前者显示重定向地址,对于后者则显示原始地址。...我们项目根目录下添加了一个名为rewrite.config配置文件,并在其中定义了如下两重定向规则。...图4Apache mod­_rewrite重定向规则 如下所示是整个过程涉及三次报文交换。我们可以看出第一次请求得到响应状态码正式我们规则中显式设置307。

41750

谈谈基于OAuth 2.0第三认证

如果当前用户尚未登录但Windows Live Services,他会被自动重定向登录页面。尚未对客户端应用进行授权情况下,如左图所示授权页面会显示出来。...取得登录用户授权之后,授权服务器会返回一个重定向响应,而请求提供redirect_uri参数值直接作为重定向地址。由授权服务器生成Authorization Code就以查询字符串(?...特性AuthenticateAsync方法会率先被执行,但是Access Token和Authorization Code均不存在于当前请求之中,所以并不会执行任何操作。...接下来ChallengeAsync方法被执行,浏览器被重定向Windows Live Connect授权页面(如果当前用户尚未登录到Windows Live Connect,在此之前会先被重定向登录页面...取得了用户授权情况下,授权服务器会生成一个Authorization Code,并将其作为查询字符串附加到请求提供重定向地址,然对针对这个URL实施重定向

1.1K90

HttpServletResponse response详解

也就是说,响应数据没有输出8KB之前,数据都是存放在缓冲区中,而不会立刻发送到客户端。当Servlet执行结束后,服务器才会去刷新流,使缓冲区中数据发送到客户端。...重定向是服务器通知浏览器去访问另一个地址,即再发出另一个请求。 5.2 完成重定向 响应码为200表示响应成功,而响应码为302表示重定向。所以完成重定向第一步就是设置响应码为302。...因为重定向是通知浏览器再第二个请求,所以浏览器需要知道第二个请求URL,所以完成重定向第二步是设置Location头,指定第二个请求URL地址。...客户端浏览器解析响应码为302后,就知道服务器让它重定向,所以它会马上获取响应头Location,然发出第二个请求。...5.4 重定向小结 l 重定向是两次请求; l 重定向URL可以是其他应用,不局限于当前应用; l 重定向响应头为302,并且必须要有Location响应头; l 重定向就不要再使用response.getWriter

3.3K20

雅虎前端优化35军规

把背景图片都整合到一张图片中,然后用CSSbackground-image和background-position属性来定位要显示部分。   ...行内图片 Base64编码用data: URL模式来把图片嵌入页面。这样会增加HTML文件大小,把行内图片放在(缓存)样式表中是个好办法,而且成功避免了页面变“重”。...DNS查找完成之前,浏览器无法从主机名下载任何东西。   DNS查找被缓存起来更高效,由用户ISP(网络服务提供商)或者本地网络存在一个特殊缓存服务器上,但还可以缓存在个人用户计算机上。...必须通知浏览器,应该继续使用之前缓存通讯录响应,还是去请求一个新。可以通过给通讯录Ajax URL里添加一个表明用户通讯录最后修改时间时间戳来实现,例如&t=1190241612。...另一面,如果JavaScript和CSS在外部文件中,并且已经被浏览器缓存起来了,那么我们就成功地把HTML文档变小了,而且还没有增加HTTP请求数。

1.6K21

前端性能优化

减少DNS查询 用户输入URL以后,浏览器首先要查询域名(hostname)对应服务器IP地址,一般需要耗费20-120毫秒时间。DNS查询完成之前,浏览器无法从服务器下载任何数据。...原则是把组件分散24个主机名下,这是同时减少DNS查找和允许高并发下载折中方案。 3. 避免重定向 HTTP重定向通过301/302状态码实现。...客户端收到服务器重定向响应后,会根据响应头中Location地址再次发送请求。重定向会影响用户体验,尤其是多次重定向时,用户一段时间内看不到任何内容,只看到浏览器进度一直刷新。...最浪费重定向经常发生、而且很容易被忽略:URL 末尾应该添加/但未添加。...必须通知浏览器,应该继续使用之前缓存资源响应,还是去请求一个新。可以通过给资源Ajax URL里添加一个表明用户资源最后修改时间时间戳来实现。

2K41

学习提升之HTTP状态码详解

Header列出协议 3.2 2XX 成功状态码 2xx 响应结果表示从客户端发来请求服务器端被正常处理了。...206 Partial Content(部分内容) 部分请求成功 3.3 3XX 重定向状态码 3XX 响应结果表明浏览器需要执行某些特殊处理以完成请求。...之前改域名做SEO优化时候经常会碰到301重定向。 状态码 状态消息 含义 300 Multiple Choices(多项选择) 客户端请求了实际指向多个资源URL。...比如,客户端是浏览器的话,发出请求返回204响应,那么浏览器显示页面不会发生更新。...3.11 304 Not Modified 该状态码表示客户端发送附带条件请求时,服务器端允许请求访问资源,但未满足条件情况。304状态码返回时,不包含任何响应主题部分

1.2K60

「HTTP」协议概述

缺少记忆状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送数据量增大。另一面,服务器不需要先前信息时它应答就较快。 HTTP协议之URL 什么是URL?...用来重定向接收方非请求URL位置来完成请求或标识新资源 Location: http://www.zcmhi.com/archives/94.html Pragma 包括实现特定指令,它可应用到响应链上任何接收方...203 服务器已成功处理了请求,但返回实体头部元信息不是原始服务器上有效的确定集合,而是来自本地或者第三拷贝。当前信息可能是原始版本子集或者超集。...鉴于 PUT,DELETE 方法会对服务器上资源进行写操作,因而绝大部分网页服务器都不支持或者默认配置下不允许上述请求方法,对于此类请求均会返回405错误。...例如,采用版本检查环境下,某次 PUT 提交对特定资源修改请求所附带版本信息与之前某个(第三)请求向冲突,那么此时服务器就应该返回一个409错误,告知用户请求无法完成。

40510

HTTP请求响应报文&&相关状态码&&GET_POST请求方法 总结

14 15 203 服务器已成功处理了请求,但返回实体头部元信息不是原始服务器上有效的确定集合,而是来自本地或者第三拷贝。当前信息可能是原始版本子集或者超集。...与204响应一样,该响应也被禁止包含任何消息体,且以消息头后第一个空行结束。 20 21 206 服务器已经成功处理了部分 GET 请求。...鉴于 PUT,DELETE 方法会对服务器上资源进行写操作,因而绝大部分网页服务器都不支持或者默认配置下不允许上述请求方法,对于此类请求均会返回405错误。...例如,采用版本检查环境下,某次 PUT 提交对特定资源修改请求所附带版本信息与之前某个(第三)请求向冲突,那么此时服务器就应该返回一个409错误,告知用户请求无法完成。...重定向URI “黑洞”,例如每次重定向把旧 URI 作为新 URI 部分,导致若干次重定向后 URI 超长。   客户端正在尝试利用某些服务器中存在安全漏洞攻击服务器。

2.2K21

Http协议状态码总结

head部分 put 向服务器发送一个文件(资源) trace 目的服务器响应请求时候,会在主体中带上原始请求报文,用于客户端对比防火墙、代理、网关等对数据做改变 options 请求服务器告知...203 non-authoritative information 服务器成功处理请求,但返回实体头部元信息不是来自原始服务器上有效的确定集合,而是来自本地或第三拷贝。...,根据头元信息重定向 301 Moved Permanently 永久重定向重定向URL应该在响应head中location上,如果没有重定向URL应该也包含在响应体中;如果不是get和head...(大部分浏览器) 304 not modified 客户端发送一个带条件get请求,返回304表示缓存 305 use proxy 指定资源指定代理上,location上包含代理所在url上 307...server error 服务器内部错误 501 not implemented 客户端请求超出服务器能力范围(如:服务器不能支持客户端请求方法) 502 bad gateway 作用代理网关使用服务器从请求响应下一链路上收到了一响应

93650

nginx location配置

rewrite rewrite参数用来将客户端请求重定向一个新地址。...如果rewrite部分内容没有看懂,可以搞懂nginxrewrite模块查看更详细介绍。 index index用于指定网站起始页面,默认值index index.html;。...index参数只是用来指定文件路径,nginx根据index参数查找文件是否存在,如果存在就用文件路径拼接成新url,nginx内部重定向这个新url,来获取到起始页面资源。...这个例子很好说明nginx内部会将初始页文件路径生成一个新url,nginx内部重定向这个新url请求初始页文件。...url,然后nginx内部重定向这个文件资源;如果不存在,就判断/data/test/index.php文件是否存在,如果不存在就返回403,如果存在,就使用这个文件路径来生成新文件url,然后nginx

3.5K31
领券