前后端通信概念
前后端通信是前端和后端数据交互的过程,也是浏览器和服务器之间数据交互的过程
后端向前端发送数据:访问页面
前端向后端发送数据:用户注册
前后端通信过程:浏览器主动发送一个请求(携带数据)给服务器,而服务器接收到请求后,一般会按照请求给出一个响应,也就是回应浏览器的请求,那么在响应的过程中,(如果服务器有数据要写到前端的话,也会随着这个响应一起发送到前端)
前端:浏览器端
客户端:只要能和服务器通信的就叫客户端 (命令行工具: curl+网址)
后端:服务器端
前后端通信方式
- 使用浏览器访问网页:浏览器地址栏直接输入网址敲回车即可
- HTML标签:浏览器在解析HTML标签时,遇到特殊标签(img link script iframe)时,会再次向服务器发送请求(用户可以使用这些标签a form表单标签向服务器发送请求)
- ajax和fetch
HTTP超文本传输协议
http请求响应过程:首先浏览器会到自己的缓存中查找之前是否访问过该网站,然后访问过网站之后,有没有在浏览器留下缓存,如果有的话,我们就不用去服务器端请求了,直接使用自己的缓存就可以了,这是浏览器自己的事了。这里的缓存比较复杂的,有的缓存浏览器发现本地有,就直接使用了,那这个时候就不需要与服务器有任何交流了,直接使用缓存就可以了,但是有的时候即使浏览器找到了本地的缓存,但是它要考虑是否过期,那这个时候需要向服务器发送请求询问一下,缓存过没过期能不能用,服务器就会响应告诉浏览器能不能用。没有缓存的话,浏览器会到自己存放ip的地方查询服务器,如果找不到ip的话,得去DNS域名解析服务器里寻找ip(这里的ip相当于服务器的门牌号)
HTTP报文
浏览器向服务器发送请求时,请求本身就是信息,叫请求报文
服务器向浏览器发送响应时传输的信息,叫响应报文
HTTP报文格式
请求包括请求头:起始行+首部和请求体
响应包括响应头:起始行+首部和响应体
GET请求,没有请求体,数据通过请求头携带
POST请求,有请求体,数据通过请求体携带
HTTP方法
浏览器发送请求时采用的方法,和响应无关
GET、POST、PUT、DELETE
GET获取数据:获取资源(文件)
POST创建数据:注册
PUT更新数据:修改个人信息,修改密码
DELETE删除数据:删除一条评论
RESTful接口设计:一种接口设计风格,充分利用HTTP方法的语义
通过用户ID获取个人信息,使用GET方法https://www.imooc.com/api/http/getUser?id=1
后端GET https://www.imooc.com/api/http/user?id=1
注册新用户,使用POST方法https://www.imooc.com/api/http/addUser
后端POST https://www.imooc.com/api/http/user
修改一个用户,使用POST方法https://www.imooc.com/api/http/modifyUser
后端PUT https://www.imooc.com/api/http/user
删除一个用户,使用POST方法https://www.imooc.com/api/http/deleteUser
后端DELETE https://www.imooc.com/api/http/user
GET和POST方法的对比
- 语义:GET获取数据 POST创建数据
- 发送数据:GET通过地址在请求头中携带数据,能携带的数据量和地址的长度有关系,一般最多就几K POST既可以通过地址在请求头中携带数据,也可以通过请求体携带数据 能携带的数据量理论上是无限的
- 缓存:GET可以被缓存,POST不会被缓存
- 安全性:GET和POST都不安全
HTTP状态码
含义:定义服务器对请求的处理结果,是服务器返回的
(websocket常遇见)100~199消息:代表请求已被接受,需要继续处理
200~299成功 200
300~399重定向:301 Moved Permanently 302 Move Temporarily 304 Not Modified
400~499请求错误 404 Not Found
500~599服务器错误 500 Internal Server Error
前后端通信涉及浏览器与服务器间的数据交互,主要通过HTTP协议进行。GET用于获取数据,POST用于创建数据,PUT和DELETE对应数据的更新和删除。RESTful接口设计利用HTTP方法的语义,使API更加清晰。HTTP状态码表示服务器对请求的处理结果,如200表示成功,404表示请求资源未找到。
3308

被折叠的 条评论
为什么被折叠?



