Puppet master communicates with puppet agent via HTTPS (HyperText Transfer Protocol Secure) with client verification. Puppet master provides an HTTP interface. Whenever puppet agent has to make a request or submissions to puppet master it just makes an HTTPS request to one of the endpoints available in the HTTP interface provided by puppet master.