Google Web Authについての疑問です。Webサービス上でOAuthを使いユーザー認証を行いユーザー情報を取得する仕組みがありますが、Googleサービスから返されるトークンの意味がきちんと理解できていません。

Google Sign-In for server-side appsのフロー図

上記は、Google Sign-In for server-side appsのフロー図を抜粋したものです。
OAuthの認証は自分でもコードを書いたことがあり、基本的な仕組みは理解しているつもりです。そこからアプリケーション側へ返されるトークン2種類とコードの意味や取り扱いがよくわかりません。

具体的にわからないのは以下の3点です。

  1. access_token、id_token、one-time codeはどういうもので、それぞれはどう違うのか?
  2. 上記の3つの値はどの程度のセキュリティのもとで扱われるべきなのか?例えば、アプリケーション側のサーバーがSSL(https)を使用していない場合(つまり、図中のClient→Serverの通信が暗号化されていない場合)でもこの値をやりとりすることは問題とならないのか?
  3. ログインした後もServerを通じて継続的にAPIを呼びたい場合、上記の3つの値を保存するなどして対応するものなのか?それとも、Client側からServerにリクエストをするたびにどれかの値を渡してあげるものなのか?

項目数が多くなってしまったのですが、一部だけでもご教授いただければ幸いです。よろしくお願い致します。