69
Views
6
Comments
Solved
Pages fail to load with too long parameter
Question
Application Type
Reactive
Service Studio Version
11.53.28 (Build 61664)
Platform Version
11.17.0 (Build 36348)

Hello.

A screen in my app (Screen A) could be passed large number of input parameters, and if the total length of parameter (=URL) reached beyond some point, it behaves a bit weird.

1. When connecting by entering URL directly from browser, or refreshing screen, it shows 404 error.

2. When connecting from other screen (Screen B), it occasionally shows 404 error while most of the time it works fine and shows correct screen.

This is what I get for 404.

(Here's general idea of what's happening)

Why does this happen and how can I avoid it?

(Of course reducing amount of input parameters is a way, but I'd like to know if there's another way.)

Thanks in advance.

2021-01-19 14-07-32
Tom Zhao
Solution

Hi

It is not Outsystems's problem. It is depends on IIS configration, Default is 2048. Please refer to the link bellow.

https://learn.microsoft.com/en-us/iis/configuration/system.webserver/security/requestfiltering/requestlimits/

Also, You can use Factory configration tool to chage thease settings.

Regards,

2021-01-04 08-13-48
Toto
 
MVP

Hi,


Tom's is right, basically there is no limit on the url, it is based on config (IIS)

https://www.sistrix.com/ask-sistrix/technical-seo/site-structure/url-length-how-long-can-a-url-be

But it is recommended to keep it under 2048, specially if you using SEO for your web application.

UserImage.jpg
Shinichiro Endo

Thank you for your answers Tom and Toto.

I understood that it's IIS's configuration that decides how long the URL can be.

And since we cannot configure IIS settings due to policy, we've decided to save those query params in DB and fetch it on destination screen.

Cheers.

2026-01-03 13-44-38
Erwin van Rijsewijk
Champion

Parameters in the url expose information and someone can tamper with. If I have to pass a lot of data, I would store it in a database table with a GUID as key and pass the GUID to the next page.
In that page you can retrieve the data based on the given GUID.

UserImage.jpg
Shinichiro Endo

Thanks to Erwin, I'll try reducing amount of input parameter (and pass GUID instead).

By the way, I'm still curious about behaviour of screens with long URL.

As I mentioned above (1. in the image), connecting from inside OutSystems App won't cause 404 Error for the most of the time, but when you refresh the page, it always shows 404 error(same as 2. in the image).

Now this seems a bit inconsistent to me.

What makes difference between cases 1.(including refreshing page) and 2.? Is there any possible workaround for this?

Regards.

2021-01-19 14-07-32
Tom Zhao
Solution

Hi

It is not Outsystems's problem. It is depends on IIS configration, Default is 2048. Please refer to the link bellow.

https://learn.microsoft.com/en-us/iis/configuration/system.webserver/security/requestfiltering/requestlimits/

Also, You can use Factory configration tool to chage thease settings.

Regards,

2021-01-04 08-13-48
Toto
 
MVP

Hi,


Tom's is right, basically there is no limit on the url, it is based on config (IIS)

https://www.sistrix.com/ask-sistrix/technical-seo/site-structure/url-length-how-long-can-a-url-be

But it is recommended to keep it under 2048, specially if you using SEO for your web application.

UserImage.jpg
Shinichiro Endo

Thank you for your answers Tom and Toto.

I understood that it's IIS's configuration that decides how long the URL can be.

And since we cannot configure IIS settings due to policy, we've decided to save those query params in DB and fetch it on destination screen.

Cheers.

2022-11-30 05-56-49
Vivek Shrivastava

Try to encode the URL before hitting it. 

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.