HTTP基本概念
http-hyper text transsfer protocol ,超文本传输协议,是一种建立在TCP上的务状况的状 态连接,整个基本的工作流程是客户端发送一个HTTP请求,说明客户端想要访问的资源和请求的动作,服务端收到请求之后,服务端开始处理请求并根据请求作出相应的动作访问服务器资源,最后通过发送请求,并根据请求做出相应的动作访问服务器资源最后通过发送HTTP响应把结果返回给客户端。之中一个请求的开始带一个相应的结束成为事务,当一个事物结束后还会再服务器端添加一天日志。
HTTP请求
HTTP请求是客户端向服务器 端发送请求动作,告知发武器自己的要求
HTTP请求有装一行,请求头,请求正文三部分组成
状态行:包括请求方式Method,资源路径URL,协议版本VERsion;
请求头:包括一些访问的域名,用户代理,Cookie等信息;
请求方式Method一般有Get。POst。Put,Delete,含义分别是获取,修改,上传,删除,其中Get方式仅仅为获取服务器资源,方式较为简单,因此在请求方式为Get的HTTP请求数据中,请求正文部分可以省略,直接将想要获取添加到URL中。
Hose:www,baidu,com\r\n
HTTP响应
相应数据库格式
服务器收到了客户端发来的HTTP请求后,根据HTTP请求中动作要求,拂去端做出具体的动作。将结果回应给客户端,称为HTTP响应
HTTP响应有三部分组成:状态行。响应头。响应正文;
状态行:包括协议版本Version,状态码Status Code,回应短语
响应头:包括搭建服务器的软件,发送响应时间,回应数据的时间,回应数据的格式等信息
响应正文:就是响应的具体数据
2.2 常见状态码的含义
200---OK/请求已经正常处理完毕
301---/请求永久重定向
302---/请求临时重定向
304---/请求被重定向到客户端本地缓存
400---/客户端请求存在语法错误
401---/客户端请求没有经过授权
403---/客户端的请求被服务器拒绝,一般为客户端没有访问权限
404---/客户端请求的URL在服务端不存在
500---/服务端永久错误
503---/服务端发生临时错误
Http 响应模型服务器
一共有四种模型
(1)单进程I/o 模型 服务器端开企一个进程,一个进程仅能出来一个请求,并且队请求顺序处理
(2)多进程I/o模型,服务端并行开启多个请求,同样的一个进程只能处理一个请求,这样服务器就可以同时处理多个请求
(3)复用I/o模型 服务端开启一个进程,但是呢,同时开启多个线程,一个线程响应一个请求,同样可以达到偶同样处理多个请求,线程间并行执行
(4)复用多线程i/o模型
服务端并行开启多个进程,同时每个进程开启多个线程,这样服务端可以同时处理进程数M*每个进程的线程N个请求。
三,HTTP报文格式
HTTP报文是HTTP应用程序之间传输的数据块,HTTP报文分为HTTP请求报文和HTTP响应报文,但是无论那种报文,他的整体格式是类型的,大致都是由起始,收不。主体三部分组成,起始说明报文的动作,收不说明报文的属性,主体则是报文的数据
HTTP特点:
无状态:协议对客户端没有状态存储,对事物处理没有“记忆”能力,比如访问一个网站需要反复进行登录操作
无连接:HTTP/1.1之前,由于无状态特点,每次请求需要通过TCP三次握手四次挥手,和服务器重新建立连接。比如某个客户机在短时间多次请求同一个资源,服务器并不能区别是否已经响应过用户的请求,所以每次需要重新响应请求,需要耗费不必要的时间和流量。
基于请求和响应:基本的特性,由客户端发起请求,服务端响应
简单快速、灵活
通信使用明文、请求和响应不会对通信方进行确认、无法保护数据的完整性