计算机基础和web相关知识点

计算机基础

一、 操作系统

1. 什么是内存泄漏?什么是内存溢出?二者有什么区别?

内存溢出(OutOfMemory-OOM):指你的应用的内存已经不能满足正常使用了,堆栈已经达到系统设置的最大值,进而导致崩溃,这是一种结果描述。

内存泄漏(Memory Leak):指你的应用使用资源之后没有及时释放,导致应用内存中持有了不需要的资源,这是一种状态描述。

1. 什么是局域网,广域网?

一、局域网

局域网(Local Area Network),简称 LAN,是指在某一区域内由多台计算机互联成的计算机组。“某一区域”指的是同一办公室、同一建筑物、同一公司和同一学校等,一般是方圆几千米以内。局域网可以实现文件

管理、应用软件共享、打印机共享、扫描仪共享、工作组内的日程安排、电子邮件和传真通信服务等功能。局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算机组成。

二、广域网

广域网(Wide Area Network),简称 WAN,是一种跨越大的、地域性的计算机网络的集合。通常跨越省、市,甚至一个国家。广域网包括大大小小不同的子网,子网可以是局域网,也可以是小型的广域网。

2. 10M 兆宽带是什么意思?理论下载速度是多少?

首先我们要搞懂其中的区别,运营商说的 10M,完整的单位应该是 10Mbps(bps:比特率),而我们讲的下载速度单位是 MB,虽然都念兆,但是不一样的。

它们之间的换算关系是:1MB=8×1Mbps,换个方式看:1Mbps÷8=128KB,也就是说,运营商称的 10M宽带,实际速度是 10Mbps÷8=1280KB,约 1.25MB。

3. 什么是 IP 地址?

IP 地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是 IP Address的缩写。IP 地址是 IP 协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

4. OSI 七层网络模型的划分?

5. TCP 和 UDP 有什么不同?

 

TCP

UDP

是否连接

面向连接

面向非连接

传输可靠性

可靠

不可靠

应用场合

数据量大

数据量少

速度

数据顺序

保证

不保证

 

 

 

6. HTTP 属于哪一层的协议?

HTTP 协议属于应用层协议

7. HTTP 和 HTTPS 的区别?

  1. 明文传输,数据都是未加密的,安全性较差,S(SSL+) 数据传输过程是加密的,安全性较好。
  • HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。
  1. 页面响应速度比 S 快,主要是因为 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。
  1. 和 s 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。
  1. 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 比 HTTP 要更耗费服务器资源。

8. cookies 和 session 的区别?

区别

cookiesession 都是用来保存用户状态信息的一种方法或手段

二者主要区别是:

        1.保存位置:cookie保存在客户端,session 保存在服务端

        2.安 全 性:cookie 安全性差,session 安全性高

        3.生命周期:在不设置条件的情况下两者都是在浏览器关闭后消失

        (可在客户端设置cookie的存活时间,也可在服务端设置session的存活时间)

         二者关系--session 是通过cookie来实现的 

注:如果客户端禁用了cookie session将无法工作(解决方案:重新URL,就是在URL后加上 ;JSESSIONID=<%=session.getId()%>

9. HTTP 的 get 请求和 post 请求的区别?

(1) 在客户端,Get 方式在通过 URL 提交数据,数据在 URL 中可以看到;POST 方式,数据放置在HTML HEADER 内提交。

(2) GET 方式提交的数据最多只能有 1024 字节,而 POST 则没有此限制。

(3) 安全性问题。正如在(1)中提到,使用 Get 的时候,参数会显示在地址栏上,而 Post 不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用 get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 post 为好。

(4)安全的和幂等的。所谓安全的意味着该操作用于获取信息而非修改信息。幂等的意味着对同一 URL的多个请求应该返回同样的结果

10 HTTPS 的工作原理

我们都知道 HTTPS 能够加密信息,以免敏感信息被第三方获取,所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用 HTTPS 协议。

1、客户端发起 HTTPS 请求

这个没什么好说的,就是用户在浏览器里输入一个 https 网址,然后连接到 server 的 443 端口。

2、服务端的配置

采用 HTTPS 协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请,区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面(startssl 就是个不错的选择,有 1 年的免费服务)。

这套证书其实就是一对公钥和私钥,如果对公钥和私钥不太理解,可以想象成一把钥匙和一个锁头,只是全世界只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。

3、传送证书

这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等等。

4、客户端解析证书

这部分工作是有客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。

如果证书没有问题,那么就生成一个随机值,然后用证书对该随机值进行加密,就好像上面说的,把随机值用锁头锁起来,这样除非有钥匙,不然看不到被锁住的内容。

5、传送加密信息

这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。

6、服务端解密信息

服务端用私钥解密后,得到了客户端传过来的随机值(私钥),然后把内容通过该值进行对称加密,所谓对称加密就是,将信息和私钥通过某种算法混合在一起,这样除非知道私钥,不然无法获取内容,而正好客户端和服务端都知道这个私钥,所以只要加密算法够彪悍,私钥够复杂,数据就够安全。

7、传输加密后的信息

这部分信息是服务段用私钥加密后的信息,可以在客户端被还原。

8、客户端解密信息

客户端用之前生成的私钥解密服务段传过来的信息,于是获取了解密后的内容,整个过程第三方即使监听到了数据,也束手无策。

11 在浏览器地址栏键入URL,按下回车之后会经历以下流程:

1、浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址;

2、解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立TCP连接;

3、浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器;

4、服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器;

5、释放 TCP连接;

6、浏览器将该 html 文本并显示内容;

12 HTTP之状态码

状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别:

1xx:指示信息--表示请求已接收,继续处理

2xx:成功--表示请求已被成功接收、理解、接受

3xx:重定向--要完成请求必须进行更进一步的操作

4xx:客户端错误--请求有语法错误或请求无法实现

5xx:服务器端错误--服务器未能实现合法的请求

常见状态码:

200 OK                        //客户端请求成功

400 Bad Request               //客户端请求有语法错误,不能被服务器所理解

401 Unauthorized              //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用

403 Forbidden                 //服务器收到请求,但是拒绝提供服务 4

04 Not Found                 //请求资源不存在,eg:输入了错误的URL

500 Internal Server Error     //服务器发生不可预期的错误

503 Server Unavailable        //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

更多状态码http://www.runoob.com/http/http-status-codes.html

猜你喜欢

转载自blog.csdn.net/yipianfeng_ye/article/details/102928781