lectures.alex.balgavy.eu

Lecture notes from university.
git clone git://git.alex.balgavy.eu/lectures.alex.balgavy.eu.git
Log | Files | Refs | Submodules

Architecture of the Web.md (1011B)


      1 +++
      2 title = 'Architecture of the Web'
      3 +++
      4 # Architecture of the Web
      5 - biggest info system ever
      6 - success because flexible & incremental
      7     - layers on top of already functional layers
      8 
      9 REST (Representational State Transfer)
     10 
     11 - key principles
     12     - all sources are resources, uniquely accessible via URI
     13     - clients & servers need to know:
     14 
     15         1. URI of resource
     16         2. Allowed actions (GET, POST, HEAD...)
     17         3. Allowed representations (text/html or others)
     18 
     19     - client doesn't need to kno how server generates representation
     20     - server doesn't need to know how client renders content
     21     - neither have to be aware of intermediate proxies
     22     - there is no HTTP communication state (response doesn't depend on previous request, no side effects)
     23         - delete/put are unsafe but idempotent
     24         - get and similar are safe
     25         - post needs warning, can happen multiple times
     26 - typical HTTP requests
     27     - GET data
     28     - POST (e.g. submit form)
     29     - PUT (update info)
     30     - DELETE