WEB请求过程
一、B/S架构
1.1 BS结构的好处
B/S架构,也就是浏览器/服务器架构,是一种网络架构模式。其主要优点包括:总体拥有成本低,因为客户端无需安装任何专门的软件,只要有能上网的电脑就能使用;维护方便,只需要改变网页,即可实现所有用户的同步更新;分布性强,可以随时随地进行查询、浏览等业务处理;开发简单,具有很好的扩展性。此外,B/S架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。然而,B/S架构在跨浏览器上的表现、表现力、速度和安全性上可能需要花费更多的设计成本。
1.2 B/S架构是如何完成交互的
在B/S架构中,客户端的主要应用软件是浏览器,而系统功能实现的核心部分则集中在服务器上。用户依赖浏览器与服务器交互来完成业务操作。这种交互模式主要包括以下步骤:
-
1、用户通过浏览器向服务器发送请求:用户可以在浏览器的地址栏输入网址或者通过超链接点击访问服务器上的特定资源,如文本、数据、图片、动画、视频点播和声音等信息。
-
2、服务器接收到请求后进行处理:服务器接收到用户的请求后,会根据请求的类型和路径等信息,对请求进行处理。这个处理过程可能包括查询数据库、执行业务逻辑等操作。
-
3、服务器将处理结果返回给浏览器:一旦服务器完成处理,它将把结果(通常是HTML页面)返回给浏览器。
-
4、浏览器解析并显示结果:浏览器接收到服务器返回的结果后,会对其进行解析,并将解析后的结果显示给用户。
此外,为了提高项目的易用性,增强系统与用户的交互功能,B/S架构的项目一般还会使用弹出页面来为用户提供操作或数据选择帮助信息。例如,当用户输入一个编码中某些字符时,可以弹出包含所有包含这些字符的编码信息的页面,从而帮助用户选择一个精确的编码。
1.3 B/S网络架构的核心HTTP
HTTP(HyperText Transfer Protocol)全称超文本传输协议,是一种建立在TCP上的无状态连接。它是互联网的基础协议,用于客户端与服务器之间的通信,规定了客户端和服务器之间的通信格式,包括请求与响应的格式。工作流程通常是客户端发送一个HTTP请求,服务端收到请求开始处理,处理结束返回给客户端结果,客户端对结果进行处理并展示。
HTTP解析是指对HTTP协议传输过程中的请求和响应报文进行解析,以便于理解其内容。这个过程需要实现以下操作:首先,读取HTTP报头提供的各种属性。然后,对这些属性值进行分析,从中获取内容编码和字符集编码。接着,将报头数据和内容进行分离。在这个过程中,还需要判断内容是否为文本还是二进制,如果是二进制的则不进行处理。最后,如果内容是文本,需要按照报头中提供的内容编码和字符集对其进行解码。
1.3.1 HTTP请求头
HTTP请求头是客户端发送给服务器的附加信息,允许传递更多关于请求的详细信息。一个HTTP请求头由它的名称(不区分大小写)后跟随一个冒号(:ÿ