Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is a url query parameter valid if it has no value?

People also ask

How do I know if a URL has a parameter query?

To check if a url has query parameters, call the indexOf() method on the url, passing it a question mark, and check if the result is not equal to -1 , e.g. url. indexOf('? ') !== -1 .

What does exclude URL query parameters mean?

This option affects how page information appears in your reports. Exclude URL Query Parameters: Any query parameters or unique session IDs (e.g., sessionid or vid) that appear in your URLs that you do not want to see in your reports. Enter as a comma-separated list. This setting is case sensitive.

Are URL parameters always strings?

Yes, URL query string params are of type string. It's up to you to convert them to and from the type you need.

Is query parameter optional?

As query parameters are not a fixed part of a path, they can be optional and can have default values.


  • Valid to the URI RFC
  • Likely acceptable to your server-side framework/code

The URI RFC doesn't mandate a format for the query string. Although it is recognized that the query string will often carry name-value pairs, it is not required to (e.g. it will often contain another URI).

3.4. Query

The query component contains non-hierarchical data that, along with data in the path component (Section 3.3), serves to identify a resource within the scope of the URI's scheme and naming authority (if any). ...

... However, as query components are often used to carry identifying information in the form of "key=value" pairs and one frequently used value is a reference to another URI, ...

HTML establishes that a form submitted via HTTP GET should encode the form values as name-value pairs in the form "?key1=value1&key2=value2..." (properly encoded). Parsing of the query string is up to the server-side code (e.g. Java servlet engine).

You don't identify what server-side framework you use, if any, but it is possible that your server-side framework may assume the query string will always be in name-value pairs and it may choke on a query string that is not in that format (e.g. ?bar). If its your own custom code parsing the query string, you simply have to ensure you handle that query string format. If its a framework, you'll need to consult your documentation or simply test it to see how it is handled.


They're perfectly valid. You could consider them to be the equivalent of the big muscled guy standing silently behind the mob messenger. The guy doesn't have a name and doesn't speak, but his mere presence conveys information.


"The "http" scheme is used to locate network resources via the HTTP protocol. This section defines the scheme-specific syntax and semantics for http URLs." http://www.w3.org/Protocols/rfc2616/rfc2616.html

http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]] 

So yes, anything is valid after a question mark. Your server may interpret differently, but anecdotally, you can see some languages treat that as a boolean value which is true if listed.


Yes, it is valid.

If one simply want to check if the parameter exists or not, this is one way to do so.