1.改变url的地址: location.href='b.html', form表单提交(get, post), iframe, a标签
ajax的形式
2.完整的数据请求过程
http协议的tcp三次握手,确保服务端和客户端建立联系
连接成功发送数据给服务端,叫作报文。报文分为两个部分:1请求头Request Headers2请求主体Request Payload
报文发送完成,tcp四次挥手,确保两者都断开连接
3 Response叫作响应主体
Response Headers响应头部
具体
报文:
请求首部:(一般放一些验证信息)
起始行: 请求方式, 请求地址, http协议的版本号
User-Agent: 代理, 浏览器代理发送请求
[注意]: 请求头部一般会存放一些用户的验证信息.
请求主体:
发送的数据, get请求没有(拼在url), post请求才有
响应头部(不能改的)
起始行: http协议版本号, 状态码
Date: 服务器当前时间
Server: 服务器信息
Content-Type: 文本类型
响应主体
服务端向客户端返回的数据
一、get、post的优缺点
get请求
1、安全性很低,传送信息会在url上面显示,
2、get传输的信息量是有限的,
3、一般用于请求数据,
4、get请求会有缓存问题
post请求
1、相对安全一些,但是全送信息还是可以在body里面找到,
2、理论上post传输是没有容量限制的,
3、post 一般用于设置数据
4、post没有缓存问题
二、ajax请求数据 和 服务端渲染 优缺点
ajax的优点:
1.无刷新更新数据:Ajax最大的优点就是能在不刷新整个页面的情况下维持与服务器通信
2.异步与服务器通信:使用异步的方式与服务器通信,不打断用户的操作
3.前端与后端负载均衡:将一些后端的工作移到前端,减少服务器与带宽的负担
4.基于规范被广泛支持:不需要下载浏览器插件或者小程序,但需要客户允许JavaScript在浏览器上执行。
5.界面与应用分离:Ajax使得界面与应用分离,也就是数据与呈现分离
ajax的缺点:
1.Ajax干掉了Back与History功能,即对浏览器机制的破坏
在动态更新页面的情况下,用户无法回到前一页的页面状态,因为浏览器仅能记忆历史纪录中的静态页面
2.安全问题
AJAX技术给用户带来很好的用户体验的同时也对IT企业带来了新的安全威胁,Ajax技术就如同对企业数据建立了
一个直接通道。这使得开发者在不经意间会暴露比以前更多的数据和服务器逻辑。
3.对搜索引擎支持较弱
4.破坏程序的异常处理机制
5.违背URL与资源定位的初衷
6.不能很好地支持移动设备
7.客户端肥大,太多客户段代码造成开发上的成本
服务器端渲染的优缺点是怎样的?
优点:
1、前端耗时少。因为后端拼接完了html,浏览器只需要直接渲染出来。
2、有利于SEO。因为在后端有完整的html页面,所以爬虫更容易爬取获得信息,更有利于seo。
3、无需占用客户端资源。即解析模板的工作完全交由后端来做,客户端只要解析标准的html页面即可,
这样对于客户端的资源占用更少,尤其是移动端,也可以更省电。
4、后端生成静态化文件。即生成缓存片段,这样就可以减少数据库查询浪费的时间了,且对于数据变化不大的页面非
常高效 。
缺点:
1、不利于前后端分离,开发效率低。使用服务器端渲染,则无法进行分工合作,则对于前端复杂度高的项目,
不利于项目高效开发。另外,如果是服务器端渲染,则前端一般就是写一个静态html文件,然后后端再修改为模板,
这样是非常低效的,并且还常常需要前后端共同完成修改的动作; 或者是前端直接完成html模板,然后交由后端。
另外,如果后端改了模板,前端还需要根据改动的模板再调节css,这样使得前后端联调的时间增加。
2、占用服务器端资源。即服务器端完成html模板的解析,如果请求较多,会对服务器造成一定的访问压力。
而如果使用前端渲染,就是把这些解析的压力分摊了前端,而这里确实完全交给了一个服务器。
三、http 缓存机制(了解)
四。ajax:
动态获取网页信息
ajax和服务端渲染的区别
ajax
不用刷新页面就可以获取数据
减少服务器的压力, 获取数据后, 在客户端进行解析
服务端渲染
必须刷新页面
减少了http请求次数, 首次加载的速度要快一点
有利于seo优化
网友评论