目录
具体的知识点是记不完的,知道框架,知道框架下具体知识的作用和意义,这样会让人更好的理解记忆。
协议层次
1、HTTP协议常见响应
以下是我认为开发中会用到的客户端以及服务端的响应代码:
面试中很容易遇到这个问题,那如果想不起来有点偏的代码意义,我觉得可以跟面试官解释说,
你知道他是什么方向大概什么问题的错误(直到方向,可能比知道具体知识有用),比如503,如果说不出具体意义,可以说我知道他是服务器端的错误等等。
- 成功响应(2开头)
- 200 OK,客户端资源请求成功;
- 201 Created,创建新资源请求成功;
- 202 Accepted,请求已经接收到,但还未响应;(从英语角度上,个人认为这里是不是应该用received)
- 重定向(3开头)
- 300 Mutiple Choice,被请求的资源有一系列可供选择的回馈信息;
- 301 Moved Permanently,被请求的资源已永久移动到新位置;
- 302 Found,请求的资源在现状临时从不同的URI响应请求;
- 307 Temporary Redirect,请求的资源现状临时从不同的URI响应请求。;
- 308 Permanent Redirect,请求的资源永久移动到另一个URI;
- 客户端响应(4开头)
- 400 Bad Request,服务器看不懂客户端传来的请求;
- 403 FOrbidden,服务器已理解请求但拒绝执行;
- 404 Not Found,请求的资源不存在服务器上;
- 服务端响应(5开头,先客户后服务,先有客户才好服务)
- 500 Internal Server Error,服务器不知道如何是好;
- 501 Not Implemented,此请求方法不被服务器支持且无法被处理;
- 502 Bad Gateway,服务器得到一个错误响应;
- 503 Service Unavailable,服务器不可用没有准备好处理请求;
- 504 Gateway Timeout,服务器作为网关不能及时得到响应;
- 505 HTTP Version Not Supported,服务器不支持请求中所使用的HTTP协议版本;
参考文章:
https://www.cnblogs.com/sddai/p/5649939.html
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status
Linux操作
1、启动过程 + 排查启动故障
启动过程大致分为五步:
- 内核的引导
- 运行 init
- 系统初始化
- 建立终端
- 用户登录系统
- 内核引导:
操作系统 + /boot
- 运行init:
init进程
许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。
init进程的一大任务,就是去运行这些开机启动的程序。
但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。
Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。也就是说,启动时根据"运行级别",确定要运行哪些程序。
- 系统初始化
运行启动脚本,rc启动脚本实际上都是放在/etc/rc.d/init.d/目录下
- 建立终端
rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。
init接下来会打开6个终端,以便用户登录系统。
- 用户登录
一般来说,用户的登录方式有三种:
- (1)命令行登录
- (2)ssh登录
- (3)图形界面登录
详细参考:https://www.runoob.com/linux/linux-system-boot.html