1.HTTP常用的状态码和含义?
总体来说:
- 1xx:信息状态码
- 2xx:成功状态码
- 3xx:重定向
- 4xx:客户端错误
- 5xx:服务器错误
详细状态码及其含义:
- 101:切换请求协议
- 200:请求成功
- 206:请求成功,数据包含请求的数据区间
- 301:永久重定向,会缓存
- 302:临时重定向,不会缓存
- 400:客户端请求语法错误
- 403:无访问权限
- 500:服务器错误
2.HTTP常用的请求方式和用途?
- GET:对服务器资源的简单请求
- POST:用于发送包含用户提交数据的请求
- PUT:向服务器提交数据,以修改数据
- HEAD:请求页面的首部,获取资源的元信息
- DELETE:删除服务器上的资源
- CONNECT:基于ssl隧道的基于代理的请求
- OPTIONS:返回所有可用方法,常用于跨域
- TRACE:追踪请求-响应的传输路径
3.请简单说一下常用的端口以及对应的服务?
- 21:ftp被动端口
- 22:ssh端口
- 25:SMTP端口
- 53:DNS服务器
- 80:HTTP协议
- 110:POP3端口
- 443:HTTPS协议
- 1080:Sockets代理
- 1433:SqlServer数据库
- 1521:Oracle数据库
- 3306:Mysql数据库
- 6379:Redis数据库
- 27017:Mongdb数据库
4.说一说计算机网络的体系结构?
按照不同的划分形式可以分成7层(理论),5层(教学),4层(实际)
- 应用层
- 传输层
- 网络层
- 网络接口层
5.如何理解HTTP协议是无状态的?
同一个客户端向服务器发送多次请求,这些请求之间没有关联。
服务器被动的接收客户端请求,服务器并不辨别客户端的身份,或者说服务器不记住客户端的信息,所以是无状态的。
6.Cookie和Session的区别?
Cookie和Session都是会话机制。主要区别如下:
Session | Cookie | |
---|---|---|
存放类型 | 服务器 | 客户端 |
存储数据类型 | 任意数据类型 | ASCII |
安全性 | 较高 | 较低 |
存储空间大小 | 大 | 小 |
有效期 | 较短、超时或者客户端关闭都会失效 | 可以设置存储时间 |
7.URI和URL的区别?
URI,全称是Uniform Resource Identified(统一资源标志符),在一个域名中可以唯一识别一个资源。
URL,全称是Uniform Resource Location,中文翻译是统一资源定位符,在一个网络中可以唯一识别一个资源。
8.ICMP协议的功能?
ICMP协议,是一种面向无连接的协议,用于传输出错报告控制信息。
比如常用的ping命令,就基于ICMP协议。
9.简述TCP的三次握手?
A—-请求连接—->B
A<—-收到,确认连接—-B
A—-我也收到,开始连接—–>B
10.简述TCP的四次挥手?
A—-我没啥要说的了—->B
A<—-知道了—-B(A结束,且B知道)
A<—-我说完了—-B
A—-知道了—->B(B结束,且A知道)
11.简述CSRF攻击?
CSRF全称:Cross—Site Request Forgery(跨站点请求伪造)
它使用的是“会话机制”(cookie或session)的漏洞进行侵入的。
假设你当前浏览器和A网站存在会话机制,那么你通常可以直接对A站(假设bank.example.com)进行一些请求操作,假设http://bank.example/withdraw?account=bob&amount=1000000&for=bob2可以把bob的资金转给bob2,那么存在一个B站(攻击者),通过隐藏的js让你的浏览器发送了上述指令,那么你(bob)的金钱(1000000)就转移到了攻击者(bob2)账户上。
目前防御 CSRF 攻击主要有三种策略:验证 HTTP Referer 字段;在请求地址中添加 token 并验证;在 HTTP 头中自定义属性并验证。
12.简述HTTP1.0、1.1、2.0的区别?
http1.0默认是短连接、从1.1开始默认是长连接、2.0版本开始多路复用
- HTTP1.0:默认使用短连接,每次请求都需要建立一个TCP连接。它可以设置
Connection: keep-alive
这个字段,强制开启长连接。 - HTTP1.1:默认使用长连接,一个TCP可以传输多个请求,直到客户端终止连接
- HTTP2.0:头信息和数据体都是二进制;在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序一一对应;报头压缩,HTTP协议不带有状态,每次请求都必须附上所有信息。Http/2.0引入了头信息压缩机制,使用gzip或compress压缩后再发送;服务端推送,允许服务器未经请求,主动向客户端发送资源
13.简述XSS攻击?
XSS 即(Cross Site Scripting)中文名称为:跨站脚本攻击。XSS的重点不在于跨站点,而在于脚本的执行。那么XSS的原理是:
恶意攻击者在web页面中会插入一些恶意的script代码。当用户浏览该页面的时候,那么嵌入到web页面中script代码会执行,因此会达到恶意攻击用户的目的。那么XSS攻击最主要有如下分类:反射型、存储型、及 DOM-based型。 反射性和DOM-baseed型可以归类为非持久性XSS攻击。存储型可以归类为持久性XSS攻击。
最简单的XSS攻击, 例如:用户在你的网站评论上写:
<script>
alter("hello");
</script>
那么,任何访问该页面的用户在打开页面时都会弹出一个hello。
本篇完,还有疑问?留下评论吧