---
# System prepended metadata

title: Backend1

---

# 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)