HTTP协议

http协议是万维网的基石。

请求

分为四部分

  1. 请求行

POST /XXX HTTP/1.1

  1. 请求头

Host:baidu.com
User-Agent:curl/7.61.1
Accept: /

  1. 回车

回车是必须的 用来隔开请求头和请求体

  1. 请求体/ 消息体

{“username”:”hasson”}

响应

  1. 状态行

Http/1.1 301 Moved Permanently

  1. 响应头

Content-Type: text/html
Content-Length:193
Location:https://google.com

  1. 回车

  2. 响应体/消息体

一般为html或json
<!DOCTYPE html>



HTTP的复杂性

  • HTTP复杂就复杂在它有很多请求头和响应头

比如 请求体的内容为JSON 那么请求头就要有Content-Type: application/json
响应体的内容为JSON 那么响应头就要有Content-Type: application/json

  • 每个请求头或响应头功能各不相同,各自有各自的含义

Web框架

功能

  • 更方便地处理HTTP请求与响应
  • 更方便地链接数据库、Redis
  • 更方便的路由

  • 其他:HTML模板

比如要渲染某些页面的时候,他页面的数据是从数据库里面拿的,我们要把数据嵌入到页面里面。
嵌入的方式可以是使用ejs等插件。

理念

web框架除了提供一些功能之外,还会输出一些理念:

  • Web框架的主流思路都是MVC
  • Model处理数据相关逻辑
  • View处理视图相关逻辑,但是前后端分离之后,View就不是很重要了,都交给前端处理。
  • Controller负责其他逻辑
  • 简单来说MVC就是一个模糊的、大概地、可以用在任何网站的一些思路。

架构示意图

image.png