# Backend1 ## Basics - `Request` v.s. `Response` ![](https://i.imgur.com/6LXEc5e.png) <p style="padding-left: 5px">HTTP <a href="https://medium.com/@rohitpatil97/http-request-http-response-context-and-headers-part-iii-5c37bd4cb06b">(Photo credit)</a> </p> > How does the **Client** send request? - HTTP - `GET` - Simple requests for information - Should only retrieve data - Should not result in modification of data - `POST` - Modify the underlying data - Create new resources - `PUT` - Modify the underlying data - update existing data - `DELETE` - Remove existing resources - CRUD > What's their corresponding HTTP request method respectively? - `CREATE` `READ` `UPDATE` `DELETE` > Will you click to see page 2 of google search result? - SEO (Search Engine Optimization) > What is **Render**? ## Move a bit forward <div style="margin-bottom: 10px; background-color: rgba(172,218,226,255); padding: 12px 20px 1px; border-radius: 4px; border: rgb(37, 150, 190) 1px solid;"> Let's learn about: **SPA** **SSR** **SSG** </div> #### SPA (Single Page Application) ![](https://i.imgur.com/yeAhs0o.png) <p style="padding-left:5px">SPA <a href="https://docs.microsoft.com/en-us/archive/msdn-magazine/2013/november/asp-net-single-page-applications-build-modern-responsive-web-apps-with-asp-net">(Photo credit)</a> </p> - load JS application on a **single** page - SEO problem - complex stuff used to be done by server - Ex: Gmail #### SSR (Server Side Render) ![](https://i.imgur.com/xYQN9H2.png) <p style="padding-left:5px">SSR <a href="https://w3ctech.com/topic/2005">(Photo credit)</a> </p> - complete html file from server side - Ex: Google > Q: Is the time to load elements (SPA) really slower than reload the page (SSR)? - Is Nuxt a kind of SSR or SPA? > Q: What will the result be for SPA and SSR respectively? - Scenario - click to page1 -> backward -> click to page2 - Render -> result? ## API ![](https://i.imgur.com/UOvMVQC.png) <p style="padding-left:5px">API <a href="https://blog.calameo.com/2744/api-quick-guide/">(Photo credit)</a> </p> - Application Programming Interface - Client --- API --- Server - CRUD - What kind of action you imagine will be needed during (req, res)? - RESTful API ## Database - SQL - NoSQL ## NodeJS - [Download](https://nodejs.org/en/download/) - [NodeJS Learning](/m4S3eZMCRyOeHu-nnrBAzg)