Java Web概述
作者:互联网
JavaWeb概念
JavaWEB 是指所有通过 Java 语言编写可以通过浏览器访问的程序的总称。
什么是web应用? Web应用即网站中的程序。
常用软件体系结构
-
C/S 客户端/服务器(Client/Server)
例如QQ;
需要编写服务器端程序,以及客户端程序,例如我们安装的就是QQ的客户端程序;
缺点:软件更新时需要同时更新客户端和服务器端两端,比较麻烦;
优点:安全性比较好。 -
B/S 浏览器/服务器(Browser/Server)
优点:只需要编写服务器端程序;
缺点:安全性较差。
JavaWeb技术,所编写的web程序都是基于B/S结构的。
5.web应用程序的资源分类
静态web资源
表现形式:内容是静态的,不同的人在不同的时间来访问时都是相同的内容。HTML、CSS、JS
所需技术:HTML+CSS
动态web资源
表现形式:内容是由程序生成的,不同的人在不同的时间访问的内容很可能是不同的。
所需技术:HTML、CSS、数据库技术、高级语言(Java、C#、PHP)、客户端脚本技术:JavaScript、XML解析
HTTP协议
HTTP协议
即超文本传输协议,用于定义 服务器于浏览器之间交换山上的过程以及数据本身的格式的协议。
特点:
-
支持B/S及C/S模式
-
简单快速:客户向服务器请求服务时,只需传送请求方法和路径。
由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 -
灵活:HTTP允许传输任意类型的数据。
正在传输的类型由Content-Type加以标记。 -
无状态:HTTP协议是无状态协议。
无状态是指协议对于事务处理没有记忆能力。
缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。
另一方面,在服务器不需要先前信息时它的应答就较快。
HTTP1.0和HTTP 1.1
HTTP协议的客户端有服务器的交互过程中需要经过建立连接,发送请求信息,回送响应信息,关闭连接四个步骤。
- HTTP1.0使用非持续连接:限制每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接。
- HTTP 1.1使用持续连接:不必为每个web对象创建一个新的连接,一个连接可以传送多个对象,采用这种方式可以节省传输时间。
因而对于下面代码:
<html>
<body>
<img src="/image01.jpg">
<img src="/image02.jpg">
<img src="/image03.jpg">
</body>
</html>
http1.0需要请求4次和响应4次。
http1.1需要请求4次和响应1次。
HTTP消息
请求消息
请求消息包括以下数据:
请求行、请求头部、空行和请求数据四个部分组成。
//第一部分:请求行
GET / HTTP/1.1
//用来说明请求类型,要访问的资源以及所使用的HTTP版本. GET说明请求类型为GET另一个常用的POST
//后面如果不为空,显示要访问的资源,
//最后一部分说明使用的是HTTP1.1版本。
//第二部分:请求头部,用来说明服务器要使用的附加信息
Host:www.baidu.com
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,ru;q=0.8
Cache-Control: max-age=0
Connection: keep-alive
//从第二行起为请求头部,HOST将指出请求的目的地,也就是请求的哪台服务器/域名
//第三部分:空行,请求头部后面的空行是必须的
//即使第四部分的请求数据为空,也必须有空行。
//第四部分:请求数据也叫主体,可以添加任意的其他数据。
//这个例子的请求数据为空。
响应信息
一般情况下,服务器接收并处理客户端发过来的请求后会返回一个HTTP的响应消息。
HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。
//第一部分
HTTP/1.1 200 OK
//状态行,由HTTP协议版本号, 状态码, 状态消息 三部分组成。
//第一行为状态行,(HTTP/1.1)表明HTTP版本为1.1版本,状态码为200,状态消息为(ok)
//第二部分:消息报头,用来说明客户端要使用的一些附加信息
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
Date: Mon, 13 Jun 2022 13:20:30 GMT
Expires: Mon, 13 Jun 2022 13:20:30 GMT
Server: BWS/1.1
//Date:生成响应的日期和时间;Content-Type:指定了MIME类型的HTML(text/html),编码类型是ISO-8859-1
//第三部分:空行,消息报头后面的空行是必须的
//第四部分:响应正文,服务器返回给客户端的文本信息。
//空行后面的html部分为响应正文。
标签:空行,Web,HTTP,请求,Java,概述,服务器,客户端,1.1 来源: https://www.cnblogs.com/kingwz/p/16372485.html