1.http协议
1.0.Web
Web指的是World Wide Web,也称为万维网,是一种基于互联网的信息系统,由全球数百万个网站组成。它允许用户通过使用网页浏览器访问和交互信息,例如阅读新闻、购物、发送和接收电子邮件、社交媒体等。
Web使用超文本标记语言(HTML)等标准化语言来展示和交互信息,同时还使用统一资源定位符(URL)和超文本传输协议(HTTP)等协议来进行访问和传输。
1.1.HTTP超文本传输协议
HTTP是指超文本传输协议(Hyper Text Transfer Protocol),它是一种用于在Web浏览器和Web服务器之间传输数据的协议。HTTP是一个应用层协议,它定义了在客户端和服务器之间传输数据的标准格式和规则。HTTP是无状态的协议,这意味着每个请求和响应都是独立的,服务器不会保留有关先前请求的任何信息。
HTTP协议适用于Web应用程序中各种类型的数据传输,这些数据包括HTML文档、图像、样式表、脚本等。
在HTTP请求和响应中,数据被分为头部和主体。HTTP头包含有关请求或响应的信息,例如HTTP方法、请求目标、主体长度、内容类型等。主体通常包含实际的数据。
除了普通的HTTP协议,还有一些扩展的HTTP协议,例如HTTPS(安全HTTP)和SPDY(用于加速Web请求-响应通信的协议)。HTTPS使用加密技术来保护数据传输的安全,SPDY则通过压缩和复用数据来提高性能。
重点 :
- 使用最广泛
- 传递html(广义的包括HTML, CSS, JavaScript等)
- 是一种请求 request / 响应 response 模式的 协议
- 是无关状态的协议
- 是OSI/RM分层中的应用层协议, 它通常运行在
TCP协议
之上
1.2.B/S架构与C/S架构
1.2.1.C/S架构
C/S架构是指客户机 Client 和服务器 Server 结构。
它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。明显特点是使用时要先安装客户端程序并经常性升级。
1.2.2.B/S架构
B/S结构即浏览器 Browser 和服务器 Server 结构。
在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现。
是对C/S结构的一种变化或者改进的结构。
1.2.3.两种架构的比较
数据安全性比较 : C/S 结构软件的数据是分布存放的; B/S结构数据集中存放于总部的数据库服务器
数据一致性比较 : C/S 结构必须同步数据才能使用数据; B/S结构不存在数据一致性的问题
数据实时性比较 : C/S 结构不可能随时随地看到当前业务的发生情况; B/S结构实时看到当前发生的所有业务
数据溯源性比较 : C/S 结构在总部不可能查到各分支机构的原始单据; B/S结构可以直接追溯到各级分支机构
服务响应及时性比较 : C/S 结构必须暂停一切业务进行更新; B/S结构总部服务器上更新则全部应用程序更新
网络应用限制比较 : C/S 结构仅适用于局域网内部用户或宽带用户; B/S结构适用于任何网络结构
从开发项目的投入比较 : C/S结构要针对不同的环境开发不同客户端程序; B/S结构只针对浏览器开发
互联网的主流应用是B/S架构
1.3.请求-响应模式
在HTTP协议中,客户端与服务器之间进行通信时,数据传输通常遵循请求/响应模式,即客户端向服务器发送一个请求(request),然后服务器发送一个响应(response)回来。这种模式被称为“请求-响应循环”。
1.3.1.Request请求
HTTP请求(request)是指客户端向服务器发送的信息。请求通常由一个动词(比如GET或POST)和一个请求URI(Uniform Resource Identifier,统一资源标识符)组成。请求可能包含头部和主体两部分。头部包含一些元数据信息,例如请求的方法、目标资源、使用的协议等。主体则包含请求的实际内容,例如Web表单中用户输入的数据等。
1.3.2.Response响应
HTTP响应(response)是服务器向客户端发送的信息。响应通常由一个状态码、一个状态文本和一个响应头部组成。状态码指示服务器是否成功处理了请求,例如200表示请求成功,404表示请求的资源不存在等。状态文本提供了一些简短的描述信息。响应头部则包含有关响应的元数据,例如服务器使用的HTTP版本、响应的内容类型、响应内容长度等。响应主体则包含服务器实际返回的数据,例如HTML页面、图像、音频等。
在HTTP请求/响应模式中,客户端向服务器发送请求后,服务器将根据请求处理并返回相应的响应。客户端端可以通过解析响应数据来进行后续的处理和呈现。
1.3.3.响应状态码分类
1xx | 提示信息–表示请求已接收,继续处理. |
---|---|
2xx | 成功–表示请求已成功被接收,理解,接受. |
3xx | 重定向–要完成请求必须进行更进一步的操作. |
4xx | 客户端错误–请求有语法错误或请求无法实现. |
5xx | 服务端错误–服务端未能实现合法的请求. |
其中常见的状态码
200 | OK | 请求成功。一般用于GET与POST请求 |
---|---|---|
304 | Not Modified | 未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源 |
400 | Bad Request | 客户端请求的语法错误,服务器无法理解 |
404 | Not Found | 服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面 |
500 | Internal Server Error | 服务器内部错误,无法完成请求 |
503 | Service Unavailable | 由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中 |