通过curl 来对比http状态码301和302

简介: 通过curl 来对比http状态码301和302

概述

curl

使用命令行工具发送请求,一个 HTTP 请求客户端(实际上它也可以做 FTP/SCP/TELNET 协议的事情)。可类比于浏览器中的 fetch

curl 不加参数直接发送get请求

  • --head
  • --head 发送 HEAD 请求
  • --include
  • 打印request Header reponse Body


curl https://jsonplaceholder.typicode.com/todos/1 -i

1686893482358.jpg

  • --request
  • 指定请求方法,如 POST 等。
  • --verbose
  • 查看发送报文及 TLS handshake 的详细信息
  • --location
  • --location,追踪重定向。
# 重定向两次后请求到数据
curl --location http://zhihu.com
# 可使用 --head,查看到三次响应
curl --head --location http://zhihu.com

浏览器请求:http://zhihu.com 会重定向至:https://www.zhihu.com/signin?next=%2F说明肯定发生了重定向

直接curl http://zhihu.com 返回301 也说明发生了重定向 我们详细看下执行curl --head --location http://zhihu.com发生了什么

第一次响应永久重定向 301 重定向至 https://www.zhihu.com

1686893592538.jpg

第二次响应暂时重定向302 重定向至 https://www.zhihu.com/signin?next=%2F

image.jpeg

第三次响应 200 成功

1686893632049.jpg

301 & 302

这里我们看到了请求 http://zhihu.com 返回301 永久重定向

301 301 Moved Permanently 说明请求的资源已经被移动到了由 Location 头部指定的 url 上,是固定的不会再改变。搜索引擎会根据该响应修正。

请求https://www.zhihu.com 返回302 临时重定向

HTTP 302 Found 重定向状态码表明请求的资源被暂时的移动到了由该 HTTP 响应的响应头 Location 指定的 URL 上。浏览器会重定向到这个 URL,但是搜索引擎不会对该资源的链接进行更新

适用场景

301适合永久重定向

301比较常用的场景是使用域名跳转。

302用来做临时跳转

比如未登陆的用户访问用户中心重定向到登录页面。

访问404页面会重新定向到首页。



虎妞先生
+关注
目录
打赏
0
0
0
0
3
分享
相关文章
Curl访问Kerberos SPNEGO保护的HTTP资源
最后,记住,虽然Kerberos的魔法强大且久经考验,但它仍需你谨慎掌握。SPNEGO的舞步看似复杂,但一旦跳起来,你会发现自己在安全和便捷的旋律中翩翩起舞。而Curl,这一灵活敏捷的小工具,它的确有能力成为你施展这些魔法的得力助手。
42 14
|
4天前
HTTP协议中常见的状态码 ?
HTTP协议状态码分为1xx、2xx、3xx、4xx、5xx五类。常见状态码包括:101(切换协议)、200(请求成功)、302(重定向)、401(未认证)、404(资源未找到)、500(服务器错误)。
30 0
Django全栈实战:HTTP状态码与业务状态码的分层设计与实战应用
HTTP状态码是服务器响应请求的3位数字代码,分为1xx(信息)、2xx(成功)、3xx(重定向)、4xx(客户端错误)、5xx(服务器错误)。业务状态码则用于描述具体业务逻辑结果,常在响应体中返回。二者在前后端交互中有不同用途和处理方式。本文还介绍了如何在Django项目中设计并使用业务状态码。
64 0
HTTP常见的请求方法、响应状态码、接口规范介绍
本文详细介绍了HTTP常见的请求方法、响应状态码和接口规范。通过理解和掌握这些内容,开发者可以更好地设计和实现W
669 83
使用curl命令在服务器上执行HTTP请求
总的来说,curl是一个非常强大的工具,它可以让你在命令行中发送各种类型的HTTP请求。通过学习和实践,你可以掌握这个工具,使你的工作更加高效。
216 30
HTTP/HTTPS协议(请求响应模型、状态码)
本文简要介绍了HTTP与HTTPS协议的基础知识。HTTP是一种无状态的超文本传输协议,基于TCP/IP,常用80端口,通过请求-响应模型实现客户端与服务器间的通信;HTTPS为HTTP的安全版本,基于SSL/TLS加密技术,使用443端口,确保数据传输的安全性。文中还详细描述了HTTP请求方法(如GET、POST)、请求与响应头字段、状态码分类及意义,并对比了两者在请求-响应模型中的安全性差异。
257 20
|
4月前
|
API
掌握 HTTP 请求的艺术:理解 cURL GET 语法
掌握 cURL GET 请求的语法和使用方法是 Web 开发和测试中的基本技能。通过灵活运用 cURL 提供的各种选项,可以高效地与 API 进行交互、调试网络请求,并自动化日常任务。希望本文能帮助读者更好地理解和使用 cURL,提高工作效率和代码质量。
173 7
|
9月前
|
深入了解HTTP状态码
深入了解HTTP状态码
335 64
|
7月前
【网路原理】——HTTP状态码和Postman使用
状态码(200,404,403,405,500,504,302),Postman下载和使用构造请求
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问