http响应状态码Header常见属性 — Location属性
在介绍http协议的响应格式时,我们便已经提到了状态码的概念,因为http响应状态行中就包含了响应状态码和状态码的描述信息。下面就来详细了解什么是状态码。
目录
一、状态码
1、为什么要有状态码
当我们给服务器发送请求的时候,服务端会根据你的资源路径返回相应的内容。此时就存在多种情况了:
(1) 服务端找到你要的资源,把资源返回给你
(2) 服务端找不到你要的资源
(3) 服务端与客户端的连接断开
... ...
既然存在诸多情况,服务端必须要把自己的处理结果返回给客户端,让客户端知道并及时做出调整,这里的处理结果就是状态码,如 404 (Not Found) 、500 (Bad GateWay) 都是常见的状态码。
2、状态码的分类
状态码大致可以分为以下五大类,4**代表以4开头的状态码,如 404 (Not Found)
(1) 1** :信息性状态码,说明服务端正在处理接收到的请求。
(2) 2** :成功状态码,说明请求处理成功,并返回相应的资源。
(3) 3** :重定向状态码,一般用于网址的更换,比如当我们访问一个网站的时候,由于该网站的URL已经被废弃了,此时服务端会引导我们跳转到一个新的网站。
(4) 4** :客户端错误状态码,最典型的例子就是当服务端找不到我们请求的资源路径时,就会返回404状态码。
(5) 5**:服务端错误状态码,一般是服务端处理请求出错。
3、浏览器如何看待状态码
状态码对浏览器而言没有任何指导意义,我们通过浏览器给服务端发送请求,服务端即便是返回404状态码,浏览器本身也不会有任何提示,我们所看到的页面,是服务端因为找不到资源路径,自己返回一个页面。
二、重定向状态码 3**
1、重定向的分类
3**的状态码是有特殊含义的,分为两种情况,永久重定向、临时重定向。跟其他状态码不同,重定向是需要浏览器给我们提供支持的,浏览器必须3**状态码。服务端响应3**状态码时,服务端会告诉浏览器要跳转到哪个网址,此时就需要用到响应Header的Location属性
(1) 永久重定向
假设我们请求的资源路径是 /old/member,但是这个路径的内容因版本太旧被废弃了,你要的资源被移动到了其他路径 /new/staff ,此时服务器就会把你的请求路径 引导至 现在资源所在的路径。
说的通俗一点,当我们访问一个网站的时候,该网站的URL已经被废弃了,此时我们会跳转到一个新的网站。
(2) 临时重定向
当我们跳转到一个新网站的时候,一旦处理完对应的业务就会回到原本的网站,最典型的例子就是我们美团外卖下单以后,会跳转到支付页面,当支付完成的时候,会回到原本的订单页面。
2、永久重定向验证
(1) Header常见属性 —— Location属性
当浏览器响应的状态码为3**时,我们就需要用到这个属性,这个属性会告诉浏览器接下来要访问哪条资源路径。
-
Location: https://www.百度.com //告诉浏览器,接下来要跳转到百度页面
-
//(也可以是自己服务器上的路径)
(2) 代码测试
为了方便,我们测试的时候直接就重定向到 www.百度.com,其实也可以重定向到自己服务器上的某个资源所在位置。
-
std::string http_response = "http/1.1 301 Permanently moved\n"; //响应状态行
-
http_response = "Location: https://www.百度.com\n"; //重定向跳转位置
-
-
send(sock,http_response.c_str(),http_response.size(),0);
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgekbff
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01