Closed xhruso00 closed 10 months ago
This behavior was caused by namecheap's force https redirect configuration:
@Mareks-MacBook-Pro-M1 Downloads % curl -vvv 111.eu/ozh+
GET /ozh+ HTTP/1.1 Host: 111.eu User-Agent: curl/8.1.2 Accept: /
< HTTP/1.1 301 Moved Permanently < keep-alive: timeout=5, max=100 < content-type: text/html < content-length: 707 < date: Wed, 03 Jan 2024 09:20:20 GMT < server: LiteSpeed < location: https://111.eu/ozh%2b < x-turbo-charged-by: LiteSpeed < <!DOCTYPE html>
301 Moved Permanently 301
Moved Permanently
The document has been permanently moved.
Other shared webhosting: @Mareks-MacBook-Pro-M1 Downloads % curl -vvv yourls.111.com/K39E2W+
GET /K39E2W+ HTTP/1.1 Host: yourls.111.com User-Agent: curl/8.1.2 Accept: /
< HTTP/1.1 301 Moved Permanently < Date: Wed, 03 Jan 2024 09:23:10 GMT < Server: RANDOM < Location: https://yourls.111.com/K39E2W+ < Content-Length: 243 < Content-Type: text/html; charset=iso-8859-1 < <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
301 Moved Permanently Moved Permanently
The document has moved here.
Code of Conduct
Submission validity
Summary
As of macOS Sonoma/iOS 17 the apple platforms are doing "best effort" to encode characters in malformed URLs (if it doesn't have a protocol such as https/http). https://developer.apple.com/documentation/foundation/nsurl/1572047-urlwithstring
This is causing the stats symbol "+" (plus) to be encoded as %2b on apple platforms in case user manually enters url and types a plus symbol.
The bitly team has updated their behaviour and entering url "bit.ly/45ibdl3+" without protocol will correctly show stats for the URL despite the request being encoded as https://bit.ly/45ibdl3%2b
Motivation
Apple changed behaviour and instead of prepending a protocol they are also trying best effort to encode url (only if protocol wasn't originally there).
Describe the solution
No response