前后端通信&HTTP

前端(浏览器)和后端(服务器)数据交互的过程;
客户端:相对于服务器,能和服务器通信的都叫客户端,例如:浏览器、命令行工具
命令行 curl https://www.imooc.com/

过程

浏览器主动向服务器发送请求,服务器对浏览器做出响应
后向前,例如刷新网页,后端就会发送
前向后,例如注册页面

方式

浏览器访问网页

浏览器地址栏输入网页,按回车

HTMl标签

1)浏览器解析HTMl标签时,遇到特殊标签,会再次向服务器发送请求;
特殊标签:link/img/script/iframe
JSONP跨域原理:遇到script标签会再次向服务器发送请求;
2)另有部分标签,解析时不会向服务器发送请求,用户可使用他们向服务器发送请求,例如a/form
同一个域名下,可最多发送6个请求
提高效率,例如:并发多个域名的请求,精灵图

Ajax&Fetch

HTTP-超文本传输协议

HTTP :HyperText Transfer Protocol
HTML: HyperText Markup Language
超文本:单一文本通过超链接联系起来,变成可无限延申、扩展的超级文本、立体文本

作用

通过HTTP,HTML、CSS、JS、图片、字体、音视频等在服务器和浏览器间传输

过程

在这里插入图片描述

输入网址查询IP,和服务器建立TCP链接;
若IP已被访问过,浏览器会存储,在浏览器IP就能查询到;
若IP未被访问过,则在DNS(域名解析服务器)中查询,速度慢

缓存分类:
内存缓存&硬盘缓存

报文

请求报文:浏览器向服务器发送请求,请求时传输的信息,叫~
响应报文:服务器向浏览器发送响应,响应时传输的信息,叫~

格式

在这里插入图片描述

长链接&短链接
用户代理

方法

增删改查

GET 、POST、DELETE、PUT使用时语义合理更好,但不强制

getpost
有无请求体
携带数据方式请求头请求头、请求体
能携带的数据量与地址长度有关最多几K无限(理论上)
是否可缓存可缓存,因地址会被缓存不会缓存
安全性网址可见控制台里可见

发送密码等敏感信息时不要使用GET,避免直接窥屏或通过历史记录查到密码

RESTful

属于后端
一种接口设计方式-充分利用HTTP的4种方法语义

未按照RESTful接口设计

1)通过ID获取个人信息-GET方法
https://www.imooc.com/api/http/getUser?id=1
2) 注册新用户-POST方法
https://www.imooc.com/api/http/addUser
3)修改用户-POST方法
https://www.imooc.com/api/http/modifyUser
4) 删除用户-POST方法
https://www.imooc.com/api/http/deleteUser

按照RESTful接口设计后

1)通过ID获取个人信息-GET方法
https://www.imooc.com/api/http/user?id=1
2) 注册新用户-POST方法
https://www.imooc.com/api/http/user
3)修改用户-PUT方法
https://www.imooc.com/api/http/user
4) 删除用户-DELETE方法
https://www.imooc.com/api/http/user

HTTP Status Code

表明服务器对请求的处理结果

状态码结果
100~199请求被接受,继续处理(websocket)
200~299成功
300~399重定向
400~499请求错误
500~599服务器错误

301 Moved Permanently
永久性缓存在用户本地
慎用万一定向需要改变,无法清空用户的缓存
302 Moved Temporarily
304 Not Modified,文件没有过期,能用

404 Not Found
500 Internal Server Error

重定向情况:协议从http升级到https
用http://www.imooc.com访问,会跳到https://www.imooc.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值