前端面试题【计算机网络】

1.浏览器输入一个ur|到页面显示经历了哪些步骤(经典问题,必须要知道)

1.用户输入url;

2.浏览器查看缓存:浏览器缓存,操作系统缓存,路由缓存,ISP缓存;

3.DNS域名解析;

4.建立TCP链接;

5.发起HTTP请求;

6.服务器响应请求并返回结果;

7.关闭TCP链接 ;

8.浏览器渲染;

9.JS引擎解析

2.http和https的区别

http:// https://blog.csdn.net/qq_38289815/article/details/80969419

1、HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 SSL 加密传输协议。

2、HTTP 和 HTTPS 使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

3、HTTP 的连接很简单,是无状态的。HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全。(无状态的意思是其数据包的发送、传输和接收都是相互独立的。无连接的意思是指通信双方都不长久的维持对方的任何信息。)

3.跨域原理

由于浏览器的同源策略,(协议、域名、端口号),使得非同源请求的响应会被拦截

4.跨域解决方法(好多个,多说几种)

javascript中实现跨域的方式总结
1、jsonp请求

jsonp的原理是利用<script>标签的跨域特性,可以不受限制地从其他域中加载资源,类似的标签还有<img>,<link>

注意:jsonp只能用于get请求

问题:<img>,<link>标签用于Jsonp请求时与<script>标签的区别
2、CORS跨域资源共享

CORS背后的基本思想,就是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或响应是应该成功还是应该失败。

需要后端的配合,后端设置Access-Control-Origin-响应头告诉浏览器哪些域名可以获得资源

,其中http请求可以分为简单请求和复杂请求
Web Sockets

web sockets原理:在JS创建了web socket之后,会有一个HTTP请求发送到浏览器以发起连接。取得服务器响应后,建立的连接会使用HTTP升级从HTTP协议交换为web sockt协议

本质是因为websockets并不是基于http连接的,而是基于tcp连接的全双工通信协议,因此不受同源策略限制
window.name

window的name属性有个特征:在一个窗口(window)的生命周期内,窗口载入的所有的页面都是共享一个window.name的,每个页面对window.name都有读写的权限,window.name是持久存在一个窗口载入过的所有页面中的,并不会因新页面的载入而进行重置。
window.postMessage

window.postMessages是html5中实现跨域访问的一种新方式,(h5提出的一个api)可以使用它来向其它的window对象发送消息,无论这个window对象是属于同源或不同源

document.domain

这种方式用在主域名相同子域名不同的跨域访问中

5.进程和线程

根本区别:进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位

进程是一个在内存中运行的应用程序。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程,比如在Windows系统中,一个运行的xx.exe就是一个进程。

线程是进程中的一个执行任务(控制单元),负责 当前进程中程序的执行。一个进程至少有一个线程,一个进程可以运行多个线程,多个线程可共享数据。

6.网络的七层协议

物理层

数据链路层

网络层(IP协议)

运输层(tcp,udp)

会话层
表示层

应用层(http,ftp)

7.http缓存

8.GET、POST区别

  • GET提交的数据会放在URL之后,以?分割URL和传输数据,参数间以&相连,如URL?name=test1&id=123456
  • GET是从服务器上获取数据无副作用幂等缓存提交的数据大小有限制(因为浏览器对URL的长度有限制),不安全(如果用户名和密码将出现在URL上)
  • GET产生一个TCP数据包

POST方法是把提交的数据放在HTTP的request body中

POST用于修改服务器上的数据有副作用非幂等不可缓存提交的数据没限制安全(操作对用户不可见)

POST请求headers和body分开发送,产生两个TCP数据包(有些浏览器不会)

注:幂等就是多次执行结果和一次执行结果相同。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值