代码之家  ›  专栏  ›  技术社区  ›  nonopolarity

IE的URL长度不能超过2k,但ajax URL呢?URL中是否包含哈希?

  •  2
  • nonopolarity  · 技术社区  · 14 年前

    当IE使用Ajax时,2k长度限制是否仍然适用于URL(或者只针对地址栏上的URL)

    3 回复  |  直到 14 年前
        1
  •  3
  •   i_am_jorf    14 年前

    所有IE请求都通过Wininet。请看一下SDK头文件:

    C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include>findstr /spin /c:"INTERNET_MAX" *.h
    WinInet.h:85:#define INTERNET_MAX_HOST_NAME_LENGTH   256
    WinInet.h:86:#define INTERNET_MAX_USER_NAME_LENGTH   128
    WinInet.h:87:#define INTERNET_MAX_PASSWORD_LENGTH    128
    WinInet.h:88:#define INTERNET_MAX_PORT_NUMBER_LENGTH 5           // INTERNET_PORT is unsigned short
    WinInet.h:89:#define INTERNET_MAX_PORT_NUMBER_VALUE  65535       // maximum unsigned short value
    WinInet.h:90:#define INTERNET_MAX_PATH_LENGTH        2048
    WinInet.h:91:#define INTERNET_MAX_SCHEME_LENGTH      32          // longest protocol name length
    WinInet.h:92:#define INTERNET_MAX_URL_LENGTH         (INTERNET_MAX_SCHEME_LENGTH \
    WinInet.h:94:                                        + INTERNET_MAX_PATH_LENGTH)
    WinInet.h:1712:#define MAX_GOPHER_HOST_NAME        INTERNET_MAX_HOST_NAME_LENGTH
    WinInet.h:1720:                                    + INTERNET_MAX_PORT_NUMBER_LENGTH   \
    Winineti.h:1511:#define URL_LIMIT INTERNET_MAX_URL_LENGTH
    

    所以,是的,长度限制适用。

        2
  •  2
  •   Franci Penov    14 年前

    URL长度限制包括URL的所有部分,包括主机、用户信息、路径、片段和查询参数。该限制适用于任何请求(GET、PUT、POST、DELETE等)。这是一个实际的WinInet限制,而不是IE地址栏限制,因此它也适用于AJAX请求。

        3
  •  1
  •   m0g    14 年前