Perm. Contractor rates need to be much higher to be anything worth talking about.
EDIT: Basically, never accept the first offer. Brits rarely negotiate, but I negotiated up my last salary 50% over the initial offer, after going in specifically knowing the top end of the stated salary band was lower than what I'd consider. If you take the initial offer, you're being paid less than your employer was willing to pay. I've never had an offer pulled, in London or elsewhere, over trying to negotiate it. I've declined positions where I didn't get it quite high enough, though.
If you take the initial offer, then you'll be very lucky to get a good deal.
And aim for niches. E.g. PHP devs are dime a dozen. Talk to a recruiter and flat out ask them what skills they get most demand for and highest salaries for now. Just be honest and tell them you're considering what to skill up in. I do backend/devops stuff with AWS and other cloud services etc, and that'd doing ok, but there are other opportunities. And network as much as you can. You'll get your salary up a lot if you're coming in via a suitable recommendation rather than the normal hiring channels.