Better

  • 主页
  • 随笔
所有文章 友链 关于我

Better

  • 主页
  • 随笔

javaee学习 — Web应用开发方法

2020-04-21

首先通过B/S编程模式来了解web应用开发。

下图表现了B/S编程模式中的具体过程,首先浏览器把请求发送给服务器,服务器查询结果,然后结果格式化成响应发送至浏览器,最后浏览器渲染出相应的页面。基本的功能由浏览器内核实现。

image-20200421105538412

在上图中服务器和浏览器的交互是web应用的核心部分,服务器和浏览器都分别有什么作用呢?

Web服务器 :Web服务器接收客户端的请求并将结果返回客户端

Web客户端:Web客户端可以使用户向服务器提出请求,并向用户展现请求的结果。上图中的客户端也就是浏览器。

从上图中,可以发现浏览器主要有3个功能:

  • 格式化请求
  • 与服务器之间通信
  • 展示页面

那么浏览器怎么知道展示给用户什么样的界面?

这就需要HTML去告诉浏览器,浏览器可以把html代码渲染成我们所见到的页面。

那么浏览器怎么获得HTML?

服务器使用HTTP向客户端发送HTML。HTTP是一种通信协议,详见下部分。HTML则是超文本标记语言,可以经浏览器渲染出图片、文件、音频等。

一、 HTTP

接下来就来深入了解http以及他的请求和响应。

HTTP是客户端和浏览器在Web上通信的协议,基于TCP/IP协议。

1.1 HTTP请求

http请求告诉服务器请求的类型,剩余的消息是如何被格式化的。

HTTP请求包括:HTTP方法(执行的动作)、访问的页面URL、 表单参数。

最常用的http方法就是GET 和 POST。

1)GET方法

GET是最简单的请求,它向服务器获取一个资源并将之发回,可以用HTTP GET向服务器发送少量的数据。

下面是一个GET请求的例子。第一行是请求,通过 ? 拼接名值对传递少量参数,但是这些参数会在网址栏中显示出来。

image-20200421111942139
2)POST方法

向服务器请求资源,同时可以发送一些表单数据。

下图是一个POST方法的例子,表单参数放在最下面。

image-20200421145139986

发送数据用POST不用GET的理由

  • 数据大小:GET中的字符量按服务器不同有限制
  • 安全性:用GET发送的数据被附加到URL后面,任何 人可以看到。不适于发送敏感数据

1.2 HTTP响应

HTTP响应包括:状态码(请求是否成功)、 内容类型(text/picture/HTML,etc)、内容 (实际的HTML, image, etc)

如下图就是一个HTTP响应,HTML的实际内容放在下面的里面 。

image-20200421145846244

2 动态web的基本原理

了解HTTP请求和响应原理之后,我们来介绍动态web的基本原理。

image-20200421152055980

1. 用户点击一个URL链接到一个web服务器应用程序,而不是静态页面。

2. Web服务器应用程序“看到”该请求是给一个帮助程序的,所以 web服务器加载并执行该程序。 Web服务器应用程序同时以GET 或POST形式发送参数到帮助程序。

例如后面所要介绍的 servlet 就是一个帮助程序。

3. 帮助程序构建页面并以 HTML发送回服务器。

4. 关闭帮助程序,客户端获得 HTML页面,显示动态内容。

赏

谢谢你请我吃糖果

  • javaee

扫一扫,分享到微信

微信分享二维码
javaee学习 — Servlet
javaee学习 — 容器
© 2020 Better
Hexo Theme Yilia by Litten
  • 所有文章
  • 友链
  • 关于我

tag:

  • css
  • js
  • html
  • Python
  • Numpy
  • Pandas
  • vue
  • uml
  • 框架
  • c++
  • git
  • 工具
  • javaee
  • java
  • leetcode
  • 数据库
  • tensorflow
  • 工具类
  • 网页布局
  • RL
  • more
  • 算法
  • summary
  • 计算机组成原理
  • 软件测试
  • 插件
  • jsp
  • 移动端布局
  • 操作系统
  • 微信小程序
  • 计算机网络
  • hobby
  • 机器学习
  • python

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • 友情链接1
  • 友情链接2
  • 友情链接3
  • 友情链接4
  • 友情链接5
  • 友情链接6
很惭愧

只做了一点微小的工作
谢谢大家