London's first Asian-origin mayor Sadiq Khan said the British government should apologise for a colonial-era massacre in Indiainfo-icon as he visited the site on Wednesday.

 The 1919 Jallianwala Bagh massacre, in which British troops opened fire on thousands of unarmed protesters in the city of Amritsar, remains an enduring scar of British colonial rule over the subcontinent.

The then British prime minister David Cameron described it as deeply shameful when he visited the memorial in the northern state of Punjab during a 2013 trip to India, but stopped short of an apology.

 Writing in the visitors' book, Khan said it had been "incredibly moving" to see the site of the massacre, calling it a tragedy that should never be forgotten.

"It is time for the British government to finally apologise," he wrote. "Our thoughts are with all those who died."

 Colonial-era records show about 400 people died when soldiers opened fire on men, women and children in the enclosed area, but Indian figures put the toll at closer to 1,000.

In 1997, Queen Elizabeth II laid a wreath at Jallianwala Bagh during a tour of India. But her gaffe-prone husband Prince Philip stole the headlines by reportedly saying that the Indian estimates for the death count were "vastly exaggerated".

Khan, the son of a Pakistani immigrant bus driver in London, also laid a wreath at a memorial to the victims.

Earlier in the day he visited the Golden Temple, the most revered place for the Sikh religioninfo-icon, where he covered his head with a white cloth and sat cross-legged on the floor to eat at the community kitchen.

Khan, who represents Britaininfo-icon's opposition Labour party, later entered Pakistaninfo-icon via the Wagah border crossing between the two countries.