SSL создает безопасное соединение между двумя точками. В нашем сценарии между клиентом и сервером. После некоторого начального согласования клиент шифрует свои сообщения так, чтобы их мог расшифровать только сервер. И сервер делает то же самое со своими ответами или собственными вопросами. Используя SSL между этими двумя конечными точками, никто, кроме клиента и сервера, не может читать сообщения.
Это важно, поскольку сообщение, отправленное между клиентом и сервером, фактически просматривается гораздо большим количеством машин / процессов между ними. Таким образом, десятки других процессов могут видеть сообщение, и если сообщение не зашифровано, это означает, что все эти процессы могут точно знать, что находится в сообщении. Когда клиент и сервер обмениваются данными через SSL, другие процессы по-прежнему видят сообщения, но не могут их расшифровать.
На ваши конкретные вопросы: клиент открывает безопасное соединение с сервером. И клиент, и сервер должны поддерживать это. Если вы пишете собственный сервер, это означает, что вам нужно убедиться, что он имеет сертификат SSL. В наши дни очень распространенное место, где можно получить их бесплатно, - это letsencrypt.org .