Java教程

Java Web概述

本文主要是介绍Java Web概述,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

JavaWeb概念

JavaWEB 是指所有通过 Java 语言编写可以通过浏览器访问的程序的总称。

什么是web应用? Web应用即网站中的程序。

常用软件体系结构

  1. C/S 客户端/服务器(Client/Server)
    例如QQ;
    需要编写服务器端程序,以及客户端程序,例如我们安装的就是QQ的客户端程序;
    缺点:软件更新时需要同时更新客户端和服务器端两端,比较麻烦;
    优点:安全性比较好。

  2. 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协议
即超文本传输协议,用于定义 服务器于浏览器之间交换山上的过程以及数据本身的格式的协议。

特点:

  1. 支持B/S及C/S模式

  2. 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。
    由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

  3. 灵活:HTTP允许传输任意类型的数据。
    正在传输的类型由Content-Type加以标记。

  4. 无状态:HTTP协议是无状态协议。
    无状态是指协议对于事务处理没有记忆能力。
    缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。
    另一方面,在服务器不需要先前信息时它的应答就较快。

HTTP1.0和HTTP 1.1
HTTP协议的客户端有服务器的交互过程中需要经过建立连接,发送请求信息,回送响应信息,关闭连接四个步骤。

  1. HTTP1.0使用非持续连接:限制每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接。
  2. 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部分为响应正文。
这篇关于Java Web概述的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!