Transfering a drupal site from localhost to online and viceversa
the best way will be to use Git to keep you code updated and Features to keep you configuration up to date.

A good free source code hosting for git is BitBucket. It gives you unlimited private repositories but limited users. Github gives you unlimited users but you pay for private repositories.
Anything you change in code can be hosted in one of those code hostings and you can push it from dev (your local) and pull it from your production environment (live).
Git keeps track of all your changes.


  Git is a free and open source distributed version control system
  designed to handle everything from small to very large projects with
  speed and efficiency.


For site configurations you can use Features 


  the features module enables the capture and management of features in
  Drupal. A feature is a collection of Drupal entities which taken
  together satisfy a certain use-case.


You can use Features module along with:
Strongarm


  Strongarm gives site builders a way to override the default variable
  values that Drupal core and contributed modules ship with. It is not
  an end user tool, but a developer and site builder tool which provides
  an API and a limited UI.
  
  An example of such a variable is site_frontpage. In Drupal this
  defaults to node, which ensures that the front page gets content as
  soon as some exists, but for many Drupal sites this setting is simply
  wrong. Strongarm gives the site builder a place in the equation - an
  opportunity to set the site_frontpage to something that makes sense
  for their site.


and Features Extras


  Features Extra provides faux exportables (via Features) of several
  site-building components


This will be a good way to keep your code and your configuration aligned between two environments.

Second option, if you are not familiar with Git, you can just use an FTP software, download or upload files and then use Backup and Migrate


  Back up and restore your Drupal MySQL database and files or migrate a
  site between environments. Backup and Migrate supports gzip, bzip and
  zip compression as well as automatic scheduled backups.
  
  With Backup and Migrate you can dump some or all of your database
  tables to a file download or save to a file on the server or offsite,
  and to restore from an uploaded or previously saved database dump. You
  can choose which tables and what data to backup and cache data is
  excluded by default.


For your files folder you can use an FTP software.

To synronize nodes, you can use Deployment.


  The Deploy module is designed to allow developers to easily stage
  Drupal content from one site to another. Deploy automatically manages
  dependencies between objects (like node references). It is designed to
  have a rich API which can be easily extended to be used in a variety
  of situations.


Here is the documenentation about the module. Create 2 sandboxes and give a try to it. It also works with features.

For code and configuration sync, I strongly suggest you to use Git and Features.