2020-12-29
http常见状态码的含义
200---OK/请求已经正常处理完毕
301---/请求永久重定向
302---/请求临时重定向
304---/请求被重定向到客户端本地缓存
400---/客户端请求存在语法错误
401---/客户端请求没有经过授权
403---/客户端的请求被服务器拒绝,一般为客户端没有访问权限
404---/客户端请求的URL在服务端不存在
500---/服务端永久错误
503---/服务端发生临时错误
HTTP协议详解
超文本传输协议,是一种建立在TCP上的无状态的连接
工作流程:客户端发送一个http请求,表明客户端想要访问的资源和动作,服务端收到请求后,开始处理请求。根据请求作出相应的动作访问服务器资源,最后通过发送http响应把结果返回给客户端。
每个请求开始到响应结束成为事务,当一个事务结束后还会在服务端添加一条日志。
(现在大多数http协议版本为http/1.1)
-
http请求
含义:客户端网服务端发送请求动作,告知服务器自己的要求
http请求由状态行、请求头、请求正文
组成
状态行:包括请求方式Method、资源路径URL、协议版本Version
请求头:包括访问的域名、用户代理、Cookie等信息
请求正文:请求的数据
(Method包括GET(获取)、POST(修改)、PUT(上传)、DELETE(删除),其中GET方式仅为获取服务器资源,因此请求正文可以忽略不写) -
http响应
含义:服务器收到客户端发来的请求后,根据http请求中的动作要求,服务器做出具体的动作,将结果回应给客户端。
http响应由状态行、响应头、响应正文
组成
状态行:包括协议版本Version、状态码Status Code、回应短语
响应头:包括搭建服务器的软件、发送响应的时间、回应数据的格式等信息
响应正文:响应的具体数据
http响应模型
- 单进程I/O模型
服务端开启一个进程,一个进程仅能处理一个请求,并且对请求 顺序处理 - 多进程I/O模型
服务端并行开启多个进程,一个进程处理一个请求,这样服务端就能同时处理多个请求了 - 复用I/O模型
服务端开启一个进程,但一个进程又同时开启多个线程,一个线程处理一个请求,线程间并发执行,以此实现同时处理多个请求 - 复用多线程I/O模型
服务端并行开启多个进程,每个进程开启多个线程,这样服务端就能同时处理更多的请求(进程总数 x 每个进程开启的线程总数)
HTTP请求报文格式

HTTP响应报文格式

网友评论