# Backend1
## Basics
- `Request` v.s. `Response`

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

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

<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

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