DAY21刷面试题

本文探讨了HTTP的GET和POST方法的区别,包括缓存、参数传递和安全性。详细介绍了浏览器对GET方法中URL长度的限制,以及常见HTTP请求方式。还涉及DNS协议和解析过程,以及浏览器内核的种类。此外,文章讨论了Vue.js的路由模式、组件执行顺序、SSR(服务端渲染)以及Vue性能优化策略。
摘要由CSDN通过智能技术生成

GET和POST的区别

可缓存/不可缓存
get请求是幂等的,用于对服务器资源不会产生影响的场景(请求一个网页的资源),get请求的数据是可以缓存的;
post请求不幂等,用于对服务器资源会产生影响的情景,查询对数据有副作用(注册用户这一类),是不可缓存的。
传参
get传参,参数在url中
post传参,参数在请求体中
安全性
get较为不安全;
post较为安全;
准确的说两者都不安全,都是明文传输的,在路过公网的时候都会被访问到,不管是url还是header还是body,都会被访问到,要想做到安全,就需要使用https。
参数长度
get参数长度有限,是比较小的;
post传参长度不受限制。
发送数据
post传参发送两个请求包,一个是请求头一个是请求体,请求头发送后服务器进行验证,验证通过就会给客户端发送一个100-continue的状态码,然后就会发送请求体。
字符编码
get在url上传输的时候只允许ASCII编码。

浏览器和服务器对GET方法中URK长度限制的范围

IE浏览器URL最大限制为2083个字符
Firefox浏览器URL最大限制为65536个字符
Safari浏览器URL最大限制为80000个字符
Opera浏览器URL最大限制为190000个字符
Google浏览器URL最大限制为8182个字符

主流的服务器对get方法中url的长度限制范围:

  • Apache (Server):能接受最大url长度为8192个字符。
  • Microsoft Internet Information Server(IIS):能接受最大url的长度为16384个字符。

所以说浏览器URL最长不能超过2083个字符才能在所有浏览器和服务器正常工作。

常见的HTTP请求方式

  • GET:向服务器获取数据
  • POST:将实体提交到指定的资源,通常会造成服务器资源修改
  • PUT:上传文件,更新数据
  • DELETE:删除服务器上的对象
  • HEAD:获取报文首部,与GET对比,不返回报文主体部分
  • OPTIONS:询问支持的请求方法,用来跨域请求
  • CONNECT:要求在与代理服务器通信时建立隧道,使用隧道进行TCP通信
  • TRACE:显示服务器收到的请求,主要用于测试或者诊断

DNS协议

DNS是域名系统系统的缩写,提供的是一种主机名到IP地址的转换服务,是一个由分层的DNS服务器组成的分布式数据库,定义了主机如何查询到这个分布式数据库的方式的应用层协议。能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

DNS服务器解析域名的过程

  • 首先在浏览器的缓存中查找对应的IP地址,查到直接返回,查不到下一步
  • 将请求发送给本地DNS服务器,在本地域名服务器缓存中查询,查到返回,查不到下一步
  • 本地DNS服务器想根域名服务器发送请求,根域名服务器会返回一个所查询的顶级域名服务器地址
  • 本地DNS服务器向顶级域名服务器发送请求,接受请求的服务器查询自己的缓存,如果有记录,就返回查询结果,如果没有就
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值