前后端通信和HTTP协议知识点

前后端通信涉及浏览器与服务器间的数据交互,主要通过HTTP协议进行。GET用于获取数据,POST用于创建数据,PUT和DELETE对应数据的更新和删除。RESTful接口设计利用HTTP方法的语义,使API更加清晰。HTTP状态码表示服务器对请求的处理结果,如200表示成功,404表示请求资源未找到。

前后端通信概念

前后端通信是前端和后端数据交互的过程,也是浏览器和服务器之间数据交互的过程

后端向前端发送数据:访问页面

前端向后端发送数据:用户注册

前后端通信过程:浏览器主动发送一个请求(携带数据)给服务器,而服务器接收到请求后,一般会按照请求给出一个响应,也就是回应浏览器的请求,那么在响应的过程中,(如果服务器有数据要写到前端的话,也会随着这个响应一起发送到前端)

前端:浏览器端

客户端:只要能和服务器通信的就叫客户端 (命令行工具: 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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值