type
status
date
slug
summary
tags
category
icon
password

HTTP重定向

HTTP重定向是一种服务器响应客户端请求的方式,它告诉客户端去访问另一个URL。当服务器发送一个重定向响应时,它会返回一个特定的状态码(如301或302),并在响应头中包含Location字段,指示新的URL位置。客户端收到这个响应后,通常会自动发起对新URL的请求。
port: 4514:
  • 指定了开发服务器的端口号为 4514。当你启动开发服务器时,项目会在 http://localhost:4514https://localhost:4514 运行。
proxy: {}:
  • proxy 是一个代理选项,用于将本地请求转发到其他服务器,通常用于开发时避免跨域问题。
  • 通过这些代理配置,当客户端请求这些路径时,开发服务器会把请求转发到相应的目标服务器(即 target 所定义的服务器)。
changeOrigin: true:
  • 代理服务器会将 Host 头修改为目标服务器的地址,以确保请求正确地被目标服务器处理。
代理服务器解决跨域问题:
  • 在本地开发环境中,前端代码可能运行在 localhost(例如,http://localhost:4514)。如果这段前端代码要请求一个外部 API(例如,https://dekt.bupt.edu.cn/api),直接请求会触发浏览器的同源策略,从而被阻止。
  • 设置代理服务器:
    • 前端并不直接请求外部 API,而是先向本地开发服务器(如 localhost:4514)发送请求。
    • 代理服务器接收到前端的请求后,会将这个请求转发到实际的目标服务器(如 https://dekt.bupt.edu.cn/api)。代理服务器充当一个中间人,它和外部服务器通信,而浏览器看到的只是和本地开发服务器通信,因此没有跨域限制。
  • 当 changeOrigin 设置为 true 时,代理服务器在转发请求时会修改请求头中的 Host 字段。目标服务器(如 https://dekt.bupt.edu.cn)会看到请求的 Host 为它自己的域名,从而认为这是一个直接发给它的请求。
  • 结果:请求看起来像是直接从目标服务器自身发来的,而不是从另一个源(localhost:4514)发来的。因此,目标服务器不会触发同源策略的检查,也不需要额外处理 CORS 请求。
    • 通过这种代理,浏览器只与本地服务器交互,不触发跨域限制,同时通过修改 Host,让远程服务器正确处理请求,避免 CORS 配置复杂化。
 
gns3的配置JS/TS
  • Giscus