diff options
Diffstat (limited to 'html/processed-views/server-client-contract.md')
| -rw-r--r-- | html/processed-views/server-client-contract.md | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/html/processed-views/server-client-contract.md b/html/processed-views/server-client-contract.md deleted file mode 100644 index 325e6e5..0000000 --- a/html/processed-views/server-client-contract.md +++ /dev/null @@ -1,59 +0,0 @@ -## Server-Client contract - -Servers can serve content in 2 major formats: text/html and json (and links to many more content types) - -Clients/browsers can handle content in many more ways; they can just passive render the content or they -can grow their proccessing and logic to become a smart engine or heavy application. - -These 2 factors need to cooperate smoothly. So, it is necessary to pre-define: -- what a server serves -- what a borwser/client procceses - -This contract: -- allows development sharing in separate teams -- sets clear rules for each development group -- helps developing an ecosystem of reliable tools that can be reused and extended -- helps to detect malfunctions and apply fixes and optimizations -- makes the project manageable and scalable - - ---- - - -## The Contract - -A cotract is recommended to include as less as possible rules; - -Of course there might be page-types that need special handling; Such pages are - -- product pages - -- product categories pages - - - -### Rule #1: Default rule - - -On the server side: - -- Server serves main content in html format; all non-user-based content is constucted and served in html format - -On the client side: - -- Client/browser requests the user-based content via ajax; (*still to be determinid the format of the replies*) - - - -### Product Pages - - -apache: -serves product -> product: { id, title, prices:{ s1:{..}, s2:{..}, ... }, images:{...} } - -browser: -check cookie(store) = s# --> use product.prices.s# to draw prices - - ---- |
