The diagram is erroneous. The webserver serves a page, and the web client fetches all available resource on the page. The cdn can/maybe have https as its transport. Usually you would not utilise server side rendering of the page which would then mean the webserver itself uses the cdn. No the cdn cannot sniff the traffic in the traditional sense, but can, if it wanted, to do whatever javascript and dom manipulation allows it to do. But to do so would risk the ire of the developers and the cdn's reputation.
The diagram should be:
user <- webserver
1.1 user <- webserver ( server side rendering of content ) <- CDN
user <- CDN
^
|---- webservers
The javascript engine on the client does whatever javascript gets loaded.
To elaborate, unfortunately the ascii art is not so clear, user GET/POST request first retrieves a page from the webserver, and the page tells the browser which other resources to obtain. Some of the URI is located on the CDN, others elsewhere. Traditionally javascript libraries are hosted by cdns. But web pages can also be rendered and loaded on the server before being served, so this might be a vector for compromise.