前端http的系列问题

一、get和post的区别:

1.get参数在地址栏上显示,相对post来说不安全;
2.url有长度限制,所以get请求参数有理论长度限制,post没有;
3.get请求参数格式只有‘name=value&name=value’形式的字符串,但是post有多种参数格式;
实质上没有本质区别

post请求参数的四种格式:

1.application/x-www-form-urlencoded
2.multipart/form-data
3.application/json
4.text/xml

二、同源策略

实际上是一个安全策略。所谓的同源指的是协议、域名、端口号完全一致;

三、跨域

跨域实际上是由于浏览器的同源策略,为了防止跨站脚本攻击,禁止浏览器通过脚本访问非同源数据;
解决手段本质上是服务器允许,如果是协议和域名造成的跨域,前端无法解决,本质都是服务器端的支持。

vue中跨域的解决方法;

1.服务器代理请求;
	
2.跨域资源共享CORS。需要浏览器和服务器同时支持,浏览器一旦发现跨域,会自动附加一些头信息;
	优势:
		1.在服务器端进行控制,可自定义规则;
		2.支持各种请求;
	缺点:
		会产生额外的请求;
3.JSONP;
	最早的解决方案,利用script标签可以完成跨域的原理实现;
	缺点:
		1.需要服务器的支持;
		2.只能发起get请求

四、在地址栏输入 URL 敲下回车后发生了什么?

1.URL解析
2.DNS查询
3.TCP连接
4.HTTP请求
5.响应请求,返回数据
6.页面渲染

浏览器根据请求的url交给DNS域名解析,获取到域名对应的目标服务器IP地址;建立TCP连接之后,浏览器向服务器发起http请求;服务器响应请求,返回请求数据给浏览器,浏览器对加载到的资源进行语法解析,建立相应的数据结构,操作dom进行页面渲染。

五、TCP三次握手和四次挥手?

通俗来说,三次握手主要是为了让客户端与服务端确认自己是否具有收发消息的能力;四次挥手是让双方都知道对方要断开连接;

六、什么是HTTP? HTTP 和 HTTPS 的区别?

HTTP是超文本传输协议,是实现网络通信的一种规范;
HTTPS是HTTP协议的安全版本;
区别:
1.HTTP协议的数据传输是明文的,是不安全的,HTTPS使用了SSL/TLS协议进行了加密处理,相对更安全
2.HTTP 和 HTTPS 使用连接方式不同,默认端口也不一样,HTTP是80,HTTPS是443
3.HTTPS 由于需要设计加密以及多次握手,性能方面不如 HTTP
4.HTTPS需要SSL,SSL 证书需要钱,功能越强大的证书费用越高

七、如何理解CDN?实现原理?

CDN内容分发网络,具体来说,CDN就是采用更多的缓存服务器(CDN边缘节点),布放在用		
户访问相对集中的地区或网络中。当用户访问网站时,利用全局负载技术,将用户的访问指向距
离最近的缓存服务器上,由缓存服务器响应用户请求。

简单来说,CDN就是根据用户位置分配最近的资源;

大家可能觉得,这个不就是“镜像服务器”嘛?其实不一样。镜像服务器是源内容服务器的完整复制。而CDN,是部分内容的缓存,智能程度更高。
CDN=更智能的镜像+缓存+流量导流。
CDN并不是只能缓存视频内容,它还可以对网站的静态资源(例如各类型图片、html、css、js等)进行分发,对移动应用APP的静态内容(例如安装包apk文件、APP内的图片视频等)进行分发。

八、http常见的状态码?

1 表示消息
	100,接受的请求正在处理
2 表示成功
	2xx,成功处理了请求的状态码
	200,服务器已成功处理了请求
3 表示重定向
	3xx表示要完成请求,需要进一步操作。
	301,永久性重定向,资源已被分配了新的url
	302,临时性重定向,资源被临时分配了新的url
	303,资源存在另一url,用get方法获取资源
	304,自从上次请求后,请求网页未修改过???
4 表示请求错误
	400,服务器不理解请求的语法
	401,发送的请求需要有http认证的认证信息
	403,服务器拒绝请求
	404,服务器找不到请求网页
5 表示服务器错误
	500,服务器遇到错误,无法完成请求
	503,服务器处于停机维护或超负载,无法处理请求

九、TCP和UDP的区别:

1.tcp面向连接(打电话前要先拨号建立连接),udp是无连接的(发送数据之前不需要建立连接);
2.tcp提供可靠的服务(通过tcp连接传送的数据无差别,不丢失,不重复,按序到达),udp尽最大努力交付,不保证可靠交付;
3.tcp面向字节流,把数据看成一连串无结构的字节流,udp面向报文;
4.tcp连接点到点,udp一对一,一对多,多对一和多对多通信;
5.tcp首部开销20字节,udp首部开销小,8字节;
6.tcp的逻辑通信信道是全双工的可靠信道,udp是不可靠信道;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 我可以回答这个问题HTTP返回码中,4xx系列的状态码通常表示客户端错误,例如404表示请求的资源不存在,400表示请求参数错误等等。因此,如果前端在请求时出现了这些状态码,通常是前端代码有问题,需要进行调试和修复。 ### 回答2: HTTP返回码是指在前后端通信过程中,服务器给出的响应状态码。根据HTTP协议规范,常见的HTTP返回码主要分为以下几类,并且有些情况下可能与前端有关,导致前端出现bug。 1. 4xx客户端错误:这类返回码表示请求出现问题,常见的有400、401、403、404等。其中,400表示请求错误,可能是由于前端发送了错误的请求参数或格式不正确;401表示未授权,表明前端未提供有效的身份认证信息;403表示禁止访问,前端请求了没有权限的资源;404表示资源未找到,可能是前端请求了不存在的接口或页面。 2. 5xx服务器错误:这类返回码表示服务器出现问题,常见的有500、503等。500表示服务器内部错误,前端在请求时可能发送了错误的数据或发生了其他的问题;503表示服务不可用,可能是由于服务器负载过大或维护等原因导致无法提供服务。 以上仅是一些常见的情况,实际上前端bug可能还涉及其他HTTP返回码,具体分析还需具体问题具体分析。为了避免前端bug,需要仔细检查请求参数、验证用户身份、处理服务器错误等。除了HTTP返回码,前端还需要关注其他错误信息,如接口返回的错误码、异常抛出的错误信息等。在开发过程中,前端和后端应该进行良好的沟通和协作,及时发现和修复bug,以提供更好的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值