碰到url限制了

原创 2007年10月10日 17:05:00

以前做嘅的一个项目,今日客户打电话来话有个操作冇反应了,一检查原来喺因为浏览器对url长度嘅限制,url超过2K后浏览器就忽略操作,唔作任何反应。测试果阵剩系得200条数据,冇发现呢个问题,而家客户单次处理就有600几条数据,问题就暴露出来。

谂过用cookies或form,cookies同样有限制,而用form有好多地方要改比较麻烦,而且.Net跨页面传递好鬼麻烦,最后用鸟食轩嘅方法,加咗个模态窗口,将数据ID先传递到模态窗口,由模态窗口变成session后转入处理页面,由页面还原参数。而且咁做仲有一个好处,就喺可避免原页面提交向服务器端postback大量数据、减少咗带宽占用、提高速度。

<script runat="server">
    
'通过本页面将数据提交变成session,可避免原页面提交向服务器端postback大量数据(form、state),提高速度
    Protected Sub Page_Load(ByVal sender As ObjectByVal e As System.EventArgs) Handles Me.Load
        CheckLogin()

        Response.Write("<table cellpadding=0 cellspacing=0 border=0 width='100%' height='100%'><tr><td align='center' valign='middle'>")
        Response.Write(
"<img src='images/loading.gif' align='middle' /><label style='font-size:14px;'>正在处理操作请求,请稍候……</label>")
        Response.Write(
"</td></tr></table>")
        Response.Flush()
        
        
Dim SessionName As String = "NEWCERTTRAN_ID"
        
If Session(SessionName) IsNot Nothing Then Session.Remove(SessionName)
        
        
If Page.IsPostBack Then
            
If CheckParam() Then
                Session.Add(SessionName, HiddenField1.Value)
                ClientScript.RegisterStartupScript(Page.GetType, 
"ret""<script>window.returnValue=1;window.close();<" + "/script>")
            
Else
                Response.Write(
"<s" + "cript>alert('参数无效!');window.close();<" + "/script>")
                Response.End()
            
End If
        
End If
    
End Sub

    
    
Private Function CheckParam() As Boolean
        
If HiddenField1.Value = "" Then Return False
        
Dim check As String() = HiddenField1.Value.Split(",")
        
Dim i As Integer
        
For i = 0 To check.Length - 1
            
If Not IsNumeric(check(i)) Then Return False
        
Next
        
Return True
    
End Function

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    
<link href="css/red.css" rel="stylesheet" type="text/css" />
    
<base target="_self" />
    
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    
<META HTTP-EQUIV="Expires" CONTENT="-1">
    
<script language="javascript">
    
function aff()
    {
      var e 
= document.getElementById("HiddenField1");
      
if (!e)
      {
        alert(
"内容控件丢失,请刷新页面再执行最后一步操作。");
        window.close();
      }
      
else
      {
        var v 
= window.dialogArguments;
        
if (!v)
        {
          alert(
"参数错误!");
          window.close();
        }
        
else
        {
          e.value 
= v;
          document.getElementById(
"form1").submit();
        }
      }
    }
    
</script>
    
<title>请稍候</title>
</head>
<body onload="aff()">
    
<form id="form1" runat="server">
        
<asp:HiddenField ID="HiddenField1" runat="server" />
    
</form>
</body>
</html>

HTTP中的URL长度限制

转自:http://www.cnblogs.com/lengyuhong/archive/2012/02/04/2330130.html   由于之前的一个web项目中,要用...
  • csCrazybing
  • csCrazybing
  • 2016年12月27日 14:30
  • 2324

HTTP中的URL长度限制

由于之前的一个web项目中,要用get方法去获取数据,但结果时常报错,经过仔细排查才发现原来url长度超过了限制,通过缩短url和发送多次请求的方法解决了该问题,之后在网上查了些资料,发现这个问题还是...
  • xjbclz
  • xjbclz
  • 2016年09月20日 18:42
  • 2518

IE的URL的最大长度限制和如何解决URL最大长度的限制

做Web开发时经常涉及到页面之间的转跳,页面之间的转跳就会涉及到页面之间参数的传递,通过URL传递参数是常用的方法之一,但是微软说:"Maximum URL length is 2,083 chara...
  • u013277135
  • u013277135
  • 2014年04月19日 16:27
  • 6698

URL最大长度问题

原文:http://www.cnblogs.com/henryhappier/archive/2010/10/09/1846554.html 另外两个方案参考 原文:http://www....
  • xiazetong
  • xiazetong
  • 2013年06月17日 10:56
  • 1038

URL路径长度问题

各浏览器与各Web Server对URL均有长度的限制如下: 在http协议中,其实并没有对url长度作出限制,往往url的最大长度和用户浏览器和Web服务器有关,不一样的浏览器,能接受的最大长...
  • xxssyyyyssxx
  • xxssyyyyssxx
  • 2016年08月17日 17:41
  • 677

设置Apache访问限制,针对6种不同情况设置

禁止访问某些文件/目录 增加Files选项来控制,比如要不允许访问 .inc 扩展名的文件,保护php类库: 复制内容到剪贴板 代码: 步骤阅读 2 禁止访问某些指定的...
  • ninjya_luck
  • ninjya_luck
  • 2014年03月21日 15:19
  • 1422

浏览器对URL长度的限制

各浏览器与各Web Server对URL均有长度的限制如下: 在http协议中,其实并没有对url长度作出限制,往往url的最大长度和用户浏览器和Web服务器有关,不一样的浏览器,能接受的最大长...
  • skjack2010
  • skjack2010
  • 2013年12月31日 14:22
  • 475

HTTP URL最大长度

HTTP RFC2616协议没有规定URL的最大长度,但规定服务器如果不能处理太长的URL,就得返回414状态码(Request-URI Too Long)。HTTP RFC2616协议指出,某些旧的...
  • woxueliuyun
  • woxueliuyun
  • 2014年12月11日 14:53
  • 7768

Get/POST方法提交的长度限制

1.    Get方法长度限制Http Get方法提交的数据大小长度并没有限制,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。如:IE对URL长度的限制是2083...
  • toto1297488504
  • toto1297488504
  • 2015年07月16日 10:58
  • 4714

iptables对请求的URL作IP访问控制

服务器运行环境是Tomcat,现在要实现的目的是,只允许特定的IP访问某个目录, 一种方法是在tomcat配置文件server.conf中,使用RemoteAddrValve对虚拟主机做访问控制。 ...
  • killmice
  • killmice
  • 2016年12月27日 11:11
  • 1101
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:碰到url限制了
举报原因:
原因补充:

(最多只允许输入30个字)