Secure Socket Layer (SSL) was first proposed and used by Netscape to transmit sensitive data over the internet by encapsulating it in a session on top of the TCP layer. SSL aims to authenticate parties, ensure data integrity, and maintain data privacy. Certain websites can only be accessed through SSL-enabled client software. SSL establishes an association between a client and server by authenticating them and then exchanging and encrypting data using suitable algorithms to keep the information secret. SSL has two layers - the record protocol, which handles data encryption, integrity, and encapsulation, and several subprotocols like the alert, change cipher spec, and handshake protocols, which initiate and negotiate secure sessions.