1、http和https
http:超文本传输协议 端口80
https:安全可靠的超文本传输协议 端口443
2、常用web服务器有哪些
- nginx
- apache
- IIS (IIS是Windows上的web服务器)
3、http常见请求方法
- GET
- POST
- PUT
- DELETE
4、常见状态码
200:OK,请求成功
301:永久重定向
302:临时重定向
304:请求资源未修改(缓存)
400:客户端请求语法错误
401:要求用户身份认证
403:权限拒绝
404:未找到
500:服务器内部错误
501:服务器不支持请求功能
502:bad gateway
503:被限流
504:网关超时
505:服务器不支持请求的http协议的版本
5、用nginx作什么?
- 作为web服务器,解析静态请求
- 作为负载均衡反向代理服务器
6、为什么选择nginx(nginx的优势在哪里)?
1. 高并发、高性能
2. 高可靠---可以7*24小时不间断运行
3. 可扩展性强---模块化设计,添加模块非常的平稳
4. 热部署---可以在不停机的情况下升级nginx
5. BSD许可证---nginx开源,可以根据需求定制修改源代码
7、nginx如何实现高并发和高性能?
通过IO多路复用
IO多路复用:只使用一个线程来处理请求
使用epoll模型
通过异步非阻塞的方式
8、什么是epoll模型
进化过程:select--->poll--->epoll
select:只能监视1024个链接,线程不安全
poll:超过1024个链接,线程不安全
epoll:超级1024个链接,线程安全
9、nginx的一些命令
nginx -s reload # 修改配置后重新加载生效,不会停止nginx服务
nginx -s stop # 快速停止nginx
nginx -s quit # 正常停止nginx
nginx -t # 测试当前配置文件是否正确
10、curl的一些参数
-I:返回响应头而不获取响应体
-v:返回更详细的信息包括请求头、响应头和响应体
11、什么是虚拟主机?
可以实现一台主机对外提供多个web服务
如何做虚拟主机?
基于ip
基于域名
基于端口
12、什么是反向代理,什么是正向代理?
反向代理:代理的是服务器,客户端不知道提供服务的服务器是哪个
正向代理:代理的是客户端,服务器不知道请求的客户端是哪个
13、nginx反向代理参数
proxy_pass : #真实后端服务器的地址,可以是ip也可以是域名和url地址
proxy_set_header: #重新定义或者添加发往后端服务器的请求头
proxy_set_header X-Real-IP $remote_addr; #只记录连接服务器的上一个ip地址信息。
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #通过这个选项可以记录真正客户端机器的ip地址
14、负载均衡算法
轮询、加权轮询
ip_hash:请求分配到服务器后,该ip发出的请求会固定在这个服务器处理。有说法说它不属于负载均衡,可以做会话保持
url_hash
fair:智能的负载均衡算法,根据响应时间长短进行智能的负载均衡
15、反向代理服务有哪些,nginx工作在第几层
反向代理服务 软件: nginx lvs haproxy
硬件: f5
nginx工作在4、7层,一般用作7层服务
4层一般用lvs
16、nginx会话保持
1.ip_hash
2.基于cookie:使用第三方sticky模块
17、nginx动静分离概念
动态页面和静态页面分开解析,加快网站的解析速度,降低单个服务器压力
18、nginx配置文件location前缀的优先级
= 精准匹配
^~ 匹配url路径,支持正则
~ 模糊匹配,支持正则
/ 通用匹配,任何请求都会匹配到
会先匹配优先级最高的,哪怕优先级最高的在最下面
19、nginx重写rewrite的flag标记:
last 表示完成rewrite,默认为last。
break 本条规则匹配完成后,终止匹配,不再匹配后面的规则
redirect 返回302临时重定向
permanent 返回301永久重定向
20、使用过哪些nginx模块
ngx_http_proxy_module 代理模块
ngx_http_upstream_module 负载模块
nginx_upstream_check_module 负载检查模块(第三方模块)
ngx_http_log_module 日志模块
ngx_http_rewrite_module 重写(重定向)模块
ngx_http_limit_req_module 限流模块
http_access_module 基于IP的访问控制
http_auth_basic_module 基于用户的信任登录
ngx_http_stub_status_module 基本的监控功能
21、nginx限流用到哪些指令
limit_req_zone和limit_req
limit_req_zone:设置zone区,处理速度,key
如:limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;
limit_req:应用zone区
如:limit_req zone=mylimit;
22、SSL/TLS
ssl:Secure Sockets Layer 安全套接层
tls:Transport Layer Security 传输层安全
ssl/tls位于tcp之上和http之下
SSL协议提供的服务主要有:
身份认证和数据加密,保证数据完整性
CA 机构 (CA证书)
证书主要有三大功能:加密、签名、身份验证。