gpt4 book ai didi

javascript - URL 被 chop 为 255 个字符

转载 作者:搜寻专家 更新时间:2023-11-01 04:11:52 24 4
gpt4 key购买 nike

我有一个 JavaScript 小部件,它通过在 DOM 中创建标签与我的 Rails 应用程序通信。每隔一段时间,我就会在我的服务器日志中看到格式错误的请求,其中 URL 被 chop 为 255 个字符:

http://myapplication.example/mycontroller/1/myaction?hostname=www.mycustomer.example&request[param_a]=3&request[param_b]=1&request[param_c]=0&request[param_d]=0&request[param_e]=3&request[param_f]=1&request[param_g]=4&request[param_h]=0&request[param_i]=5&request

从 Google 和 Stackoverflow (What is the maximum length of a URL in different browsers?) 看来,255 个字符似乎不是 URL 的有效限制。

这是我知道的:

  • 这是一个偶发问题,不会发生在所有请求上
  • 发生这种情况时,URL 被 chop 为 255 个字符
  • 发生此错误时,用户代理不会记录在回溯中

这是我不知道的:

  • 此错误发生在什么类型的浏览器上?也许一些移动浏览器...

从根本上解决此问题的最佳方法是什么?

最佳答案

解决根本原因的最佳方法是不要将其设为 GET 请求,而是将其设为 POST 请求。

据我所知,查询字符串的长度没有设置限制,所以真正的限制无处不在。我知道 4000 是某些 Web 服务器的限制(不记得它是 IIS 还是 Apache,是否可以更改),但很可能某些浏览器的限制要小得多。您没有获得用户代理的事实可能会强调它是移动浏览器、爬虫或其他应用程序,而不是真正的浏览器。

POST 请求有点复杂,但它们可以携带更大的“有效负载”,并且可以在服务器端进行配置。

关于javascript - URL 被 chop 为 255 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2381792/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com