These are a few references I was able to find that might help you here.
Force.com Sites Best Practices
Because Force.com Sites are directly served from customers’ Salesforce organization, Force.com Sites availability is directly related to their Salesforce org’s availability and up time. For all major releases, customers’ Salesforce orgs and Force.com Sites will be unavailable during the org’s release maintenance window. During the maintenance window, Sites end users will see a Force.com branded maintenance page when they try to access the site via HTTP.
You should work with your customer to ensure they have a communication strategy for informing end users, as well as any other Salesforce stakeholders, of the release maintenance windows and related Force.com Sites unavailability.
The same is also stated in the Force.com Sites Implementation Guide.
NOTE: I am pretty confident the same will apply to custom Apex REST services as well.
Returns the read write mode set for an organization during Salesforce.com upgrades and downtimes
The following answer seems to contradict the docs on this, its from a Salesforce employee though, so worth a look, When does System.ApplicationReadWriteMode apply and what is five minute upgrade?.
Current info from the PMs: What USED to happen was that there would be a few minutes downtime, then several hours in read-only mode. That changed with Winter '12; now, the instance will be unavailable for up to five minutes (most instances less than one minute) and then it's live with the new release. System.ApplicationReadWriteMode is no longer used to support releases.
Batch jobs queued before a Salesforce service maintenance downtime remain in the queue. After service downtime ends and when system resources become available, the queued batch jobs are executed. If a batch job was running when downtime occurred, the batch execution is rolled back and restarted after the service comes back up.
Apex jobs scheduled to run during a Salesforce service maintenance downtime will be scheduled to run after the service comes back up, when system resources become available. If a scheduled Apex job was running when downtime occurred, the job is rolled back and scheduled again after the service comes back up. Note that after major service upgrades, there might be longer delays than usual for starting scheduled Apex jobs because of system usage spikes.