From 68fc9e55e538e03f94509731ab41a0c8cf96710f Mon Sep 17 00:00:00 2001 From: George Halkiadakis Date: Mon, 17 Apr 2023 12:12:22 +0300 Subject: setup a real server environment (apache DocumentRoot=/var/www/public) --- html/processed-views/server-client-contract.md | 59 -------------------------- 1 file changed, 59 deletions(-) delete mode 100644 html/processed-views/server-client-contract.md (limited to 'html/processed-views/server-client-contract.md') 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 - - ---- -- cgit v1.2.3