Transfering a drupal site from localhost to online and viceversa I am about to finish my first Drupal site and I wish to upload it on the server. However, I am going to add content when the site is online but every time I make a change online I would like to add that change to the site on localhost (changes in content, new module additions, etc.). What is the least time consuming way to achieve this?
With .html sites it is very easy because you only need to have the .html file saved offline and online and that it is. What things do I need to consider with a Drupal site? I would like to always have the exact same files, modules, content, configuration on the online version and the offline version of my site.

Thanks in advance.
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.