Browsers will now have to resort to removing query parameters to prevent tracking. And websites should really use click-to-enable sharing buttons to prevent Facebook from snooping on everything.
Browsers will now have to resort to removing query parameters to prevent tracking. And websites should really use click-to-enable sharing buttons to prevent Facebook from snooping on everything.
Maybe among the URLs shared on Facebook there are a few whose servers only respond to a fixed amount of parameters, changing their behaviour when additional unused parameters are appended to the query string, but I imagine that the number of such cases is so low it's not even worth considering.
What exactly is Facebook breaking, in your opinion?
Would Facebook also break things if they were instead making an async request to the destination and appending a custom header to it, something like "X-Coming-From-Facebook"?
Extra headers are typically ignored, not only since different clients send different headers since the beginning.
I know multiple systems which however decode the query string and complain about unknown options or don't accept a query string at all for some resources. On the later case it is ignorance on the other case it is intensive input validation.
Notably, most links with GA marketing parameters are under the control of the website owner. Facebook links are not. This makes such a work-around less feasible.
I don't get the part about async requests. What's the scenario?
An incredibly small number of sites might already be using `fbclid` internally, and an even smaller number won't be able to update their sites.
I am totally on board the don't-break-the-web train, but this just doesn't seem like a problem to me. Maybe once stats come out we'll see that it's a bigger issue, but... I kinda doubt it.
I entered: https://pbs.twimg.com/media/Byv5uWSIIAEf38C.jpg
Facebook made: https://pbs.twimg.com/media/Byv5uWSIIAEf38C.jpg?fbclid=IwAR2...
So sure, there may be an argument that the server should ignore that param. But it's absolutely false to say it "isn't breaking anything".
After all, as a developer, it's my site - I choose the URLs (including the query strings) which are valid and acceptable to me.
I wonder how many sites other than Twitter are rejecting requests with unknown query parameters?
I would consider it to be pretty bad practice to treat query params this way, extra query params should be ignored. However, web standards are descriptive, not prescriptive. If enough sites have strict requirements about the number of query params, then it doesn't really matter what good practice is, and Facebook should accommodate this by moving back to cookies or at least make it opt-in or something.
Adding a request parameter absolutely will break things. And they knew this. The only question was what's worse: Not being able to track some people or breaking some of their links. Facebook decided the former is more important to them and their customers.
And even if nothing else brakes, uglifying the URL people are posting is in itself an anti-feature.
That's a new one for me, I need to make sure I remember it in the future. From what I'm seeing online, it's not even necessarily considered bad practice, so... I dunno anymore.
But agreed, Facebook should back this out.
> Facebook should back this out.
They won't. They knew what would happen and did it anyway.