Comments (1)
URL normalisation
How URL normalization works
URL normalization modifies separators, encoded elements, and literal bytes in incoming URLs so that they conform to a consistent formatting standard.
For example, consider a firewall rule that blocks requests whose URLs match www.example.com/hello. The rule would not block a request containing an encoded element — www.example.com/%68ello. Normalizing incoming URLs on the Cloudflare global network helps simplify firewall rules expressions that use URLs.
The URL normalization performed according to RFC 3986 is as follows:
The following unreserved characters are percent decoded:
Alphabetical characters: a-z, A-Z (decoded from %41-%5A and %61-%7A)
Digit characters: 0-9 (decoded from %30-%39)
hyphen - (%2D), period . (%2E), underscore _ (%5F), and tilde ~ (%7E)
These reserved characters are not encoded or decoded: : / ? # [ ] @ ! $ & ' ( ) * + , ; =
Other characters, for example literal byte values, are percent encoded.
Percent encoded representations are converted to upper case.
URL paths are normalized according to the Remove Dot Segments protocol.
In addition to the rules defined in RFC 3986, Cloudflare can apply the following extra normalization techniques:
Normalize back slashes () into forward slashes (/).
Merge successive forward slashes (for example, // will be normalized to /).
The performed URL normalization varies according to the configured settings.
from fastfpc.
Related Issues (7)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fastfpc.