天天看点

JavaWeb开发基本概念两种体系结构Web Server 与 Web ClientHTTP,HTML,URLHTTP工作步骤

Java Web应用程序用于创建动态网站

Java通过servlet和jsp提供对web应用程序的支持

两种体系结构

C/S(Client/Server),客户端服务器体系结构

JavaWeb开发基本概念两种体系结构Web Server 与 Web ClientHTTP,HTML,URLHTTP工作步骤

B/S(Browser/Server),浏览器服务器体系结构

JavaWeb开发基本概念两种体系结构Web Server 与 Web ClientHTTP,HTML,URLHTTP工作步骤
  1. 开发维护成本: C/S开发维护成本高于B/S,因为需要对客户机上的每个软件进行升级维护,而B/S只需要维护服务器程序即可
  2. 客户端负载: C/S负载大, 因为客户端不仅负责与用户交互,而且需要向服务端发送请求等,B/S将事务逻辑处理都放在了服务器,客户端只负责显示。
  3. 安全性: C/S安全性高,B/S由于使用人数多,不固定,安全性低
  4. 作用范围: C/S适用于局域网,B/S适用于广域网

Web Server 与 Web Client

Web服务器是一种可以处理客户端请求并将响应发送回客户端的软件,它在某些物理计算机上运行,并在特定端口上侦听客户端请求。如Apache,Tomcat等。

Web客户端是一种与服务器通信的软件。一些使用最广泛的Web客户端是Firefox,Google Chrome,Safari等。当我们通过

URL

向服务器请求某些内容时,Web客户端会负责创建请求并将其发送到服务器,然后解析服务器响应并将其呈现给用户。

HTTP,HTML,URL

HTTP与HTML

Web服务器和Web客户端是两个单独的软件,因此需要使用某种通用语言和通用的通信协议进行通信。

HTML(超文本标记语言)

是服务器和客户端之间的通用语言。

HTTP(超文本传输协议)

是服务器和客户端之间的通信协议,

HTTP:

  • 工作于C/S架构上,从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器(客户端)。
  • 基于TCP/IP通信协议

常用传输协议:

  • http 超文本传输协议,除了传递文本,还可以传递媒体资源文件(或者流文件)及XML格式数据,默认端口号80
  • https 更加安全的http,一般涉及支付的网站都要采用https协议(多的s:ssl 加密传输),默认端口号443
  • ftp 文件传输协议(一般应用于把本地资源上传到服务器端),默认端口号21

URL

URL,Universal Resource Locator统一资源定位符,用于定位服务器和资源。网络上的每一种资源都有自己独特的地址。拿个假URL示例:

  • https://space.bilibili.com:443/20692606/favlist?fid=80026506&ftype=create

  • https://

    – 通信协议
  • space.bilibili.com

    – 域名,由DNS服务器负责解析为IP地址
  • :443

    – 端口号的取值范围0~65535,用端口号来区分同一台服务器上的不同项目
  • /20692606/favlist

    – 请求资源路径名称
  • ?fid=80026506&ftype=create

    – 问号传参信息
  • #zhenyu

    – HASH值,也能充当信息传输的方式,锚点定位,基于HASH实现路由管控(不同的HASH值,展示不同的组件和模块)

HTTP工作步骤

在浏览器输入URL之后

  1. 浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址;
  2. 解析出 IP 地址后,根据该 IP 地址和端口号,和服务器建立TCP套接字连接;
  3. 浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP三次握手的

    第三个

    报文的数据发送给服务器,一个请求报文由请求行、请求头部、空行和请求数据4部分组成;
  4. Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。
  5. 释放 TCP 连接,若connection 模式为close,则服务器主动关闭 TCP 连接,客户端被动关闭连接; 若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求;
  6. 客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。

HTTP报文

请求报文由请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。

JavaWeb开发基本概念两种体系结构Web Server 与 Web ClientHTTP,HTML,URLHTTP工作步骤

响应报文也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。

JavaWeb开发基本概念两种体系结构Web Server 与 Web ClientHTTP,HTML,URLHTTP工作步骤

继续阅读