If browsers stopped allowing the ability for users to view code, I think that would be a step in the right direction.
How is it related to copying the content ?
If you mean copying the text , then someone can simply select the text, and do a copy n paste.
If you mean copying the whole page, including its layout, then, this is certainly not achieved by viewing the HTML source code of the page. Instead an automatic process will be involved. With a robot, fetching the page, and eventually extracting its content.
From the moment the content is viewable, it's reproducible. You can even extract the textual content of an image, using OCR technologies.
Now, there are some tricks to limit some forms of scrapping.
- you can block the access to your pages, when the IP address comes from a DataCenter. You can also restrict the access to IP which belongs to the countries you target.
- you can populate your page asynchronously. A piece of Javascript, fetching the content from your server and injecting it into the page. In that case, a "view source" , will show only the javascript code, that you can obstruct. However, the Devtool, included in all web browsers, will show the rendered HTML code, after the insertions. Also, most of scarpers will use bots which can render the Javascript, but most of these bots will also run from an IP address which belongs to the DataCenter.
- you can check if the favicon has been retrieved by the IP , before serving the content. All browsers seem to automatically retrieve the favicon, when a page is visited. This fetching comes after the download of the page, so you would need to asynchronously populate the page, and wait to detect the favicon fetching (or if it has already been fetched, from previous visited pages). Most bots do not retrieve the favicon. Bots writers, will know what to do now :-)
- you an also test if the browser accessing the page, is supporting the latest technologies, since lot of bots are a bit outdated (but with chromium code, it's easy to make a bot which is perfectly emulating a human visit). For example, reject all connections which are not http/2, all connections which are not supporting brotli compression, you can test if the browser is supporting webp image, etc... the lack of supporting the latest technologies, is a hint that the request might not come from a human.
But I am drifting away, and only considering blocking automatic scraping. You will never be able to prevent a human, to manually copy the content of your HTML pages, as far as I know.