网络层HTTP面试题

1、跨域的方式有哪些?各有什么特点?

       1、JSONP

                没有被同源策略限制到、像img的src, link的href、script的src

                只能get请求,需要与后端商量好

        

    function addScriptTag(src) {
      var script = document.createElement("script")
      script.setAttribute('type','text/javascript')
      script.src = src
      document.appendChild(script)
    }

    
    // 回调函数
    function endFn(res) {
      console.log(res.message);
    }

    // 前后端商量好,后端如果传数据的话,返回`endFn({message:'hello'})`

        2、postMessage   

  •        a窗口向b窗口发送数据,先把data转为json格式,在发送。提前设置好messge监听
    • b窗口进行message监听,监听到了以同样的方式返回数据,
    • a窗口监听到message,在进行一系列操作

         

        3、CORS

        通过自定义请求头来让服务器和浏览器之间进行沟通

        简单请求

              请求方法是: POST   GET HEAD

               请求头只有 AcceptAcceptLanguageContentTypeContentLanguageLast-Event-Id

       非简单请求        

                浏览器先发送一个header头为option的请求进行预检

                预检的格式                        

  •             Origin
  •             Access-Control-Request-Method
  •             Access-Control-Request-Header

     4、nginx代理跨域        

  •         nginx模拟一个虚拟服务器,因为服务器与服务器之间是不存在跨域的,
    • 发送数据时 ,客户端->nginx->服务端
    • 返回数据时,服务端->nginx->客户端

2、讲一下三次握手和四次挥手?以及为什么是三次? 为什么是四次?

3、HTTP和HTTPS的区别?

4、讲讲HTTP的缓存?

缓存就是把一些没有必要重新获取的数据,存放起来,以便下次直接使用。

 

 

 

 

5、TCP和UDP有什么区别?

        TCP是面像连接的,可以通过三次握手四次挥手,错误会重传

        UDP不面向连接,没有连接会速度快点,失败就失败了

6、浏览器输入URL后都经历了什么?

        输入URL之后,首先进入的将域名进行DNS解析,然后通过服务器的负载均衡,分配给你一个解析后的IP,  TCP连接,  然后发送HTTP请求,然后通过三次握手连接,拿到服务器的内容,将dom渲染成dom tree css渲染成css tree, 然后生成渲染树,进行回流和重绘,然后显示。

7、什么是CDN?

        缓存,加节点渲染,会就近分配服务器返回资源

8、什么是xss?什么是CSRF?

        xss脚本攻击, 输入框,爬虫,, 解决方案: 反扒,数据造假、验证码

        csrf跨站请求伪造,即拿着网站A的信息,去请求网站B的内容,所以请求要携带token验证

9、HTTP常见状态码?

http常见状态码

405:客户端请求的额方法被禁止

408:服务器等待客户端发送的请求时间过长,超时

200:服务器成功处理了请求

400:客户端发送了一个错误的请求

404:未找到资源

500:服务器内部出现错误

501:服务器遇到错误,使其无法对请求提供服务

1XX :代表服务器收到了请求
301:永久重定向
302: 临时重定向
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值