Web核心介绍以及HTTP简介
Web核心介绍:
首先我们要知道我们是要学习B / S架构 , Browser / Server , 浏览器 / 服务器架构模式 , 它的特点是 : 客户端只需要有浏览器 , 应用程序的逻辑和数据都存储到服务端中 , 浏览器只需要请求服务器获取Web资源 , 服务器把web资源发送给浏览器即可
B / C架构方式的好处:
易于维护升级 , 服务器端升级后 , 客户端无需任何布置就可以使用到新的版本
服务端中要放置很多资源 , 这些资源分为两类:
- 静态资源 : HTML , CSS , JavaScript ,图片等等(负责页面的展现)
- 动态资源 : Servlet , JSP等(负责逻辑处理)
数据库 :
负责存储数据
- 和数据库进行交互的层面我们称之为: dao层
HTTP协议:
定义通信规则
Web服务器 :
负责解析HTTP协议 , 解析请求数据 , 并发送响应数据
HTTP简介:
概念 :
HyperTextTransferProtocol , 超文本传输协议 ,规定了浏览器和服务器之间的数据传输的规则
HTTP协议特点:
- 基于TCP协议 : 面向连接,安全
- 基于请求 — 响应模型 : 一次请求对应一次响应
- HTTP协议是无状态的协议 : 对于事务处理没有记忆能力.每次请求,响应都是独立的
缺点:
多次请求之间不能共享数据 —> 这个就是因为HTTP协议是无状态的协议 , 对于事务处理没有记忆能力,每次请求都是独立的
- 但是我们的实际需求中有很多时候都要多次请求之间有共享数据的功能 , 这个时候我们就要解决多次请求之间不能共享数据的问题 —> 对于Java中会使用会话技术(Cookie,Session)来解决这个问题
- 注意: 其实现在Cookie和Session都已经是快要被淘汰了, 现在比较主流的会话技术是token
优点:
速度快
补充:
-
我们的HTTP请求数据肯定是浏览器向服务器端请求,然后我们的服务器将对应的浏览器请求的数据以HTTP响应数据格式响应给浏览器
-
那么我们的服务器端是如何解析浏览器发来的请求HTTP请求数据的?又是如何发送HTTP响应数据给浏览器的?
- 我们的服务器会接收从浏览器中发送过来的HTTP请求数据以字符串的形式, 然后我们会对应的进行一个对应格式的解析(也即是对应HTTP请求数据的格式作一个格式解析),通过对应格式解析之后我们会执行相应的操作,并将获取到的浏览器想要获取的资源(数据)将这些数据以某种HTTP相应数据格式返回给浏览器
-
我们的服务端(Java程序)中每次都要解析对应的HTTP数据,会很麻烦, 所以我们的某些公司就推出了一些软件,只要我们的服务端程序运行到这些软件提供的环境中,那么将不用再去写解析和相应HTTP数据的代码,它们将这些通用的操作封装好了- --> 这类软件我们就称之为Web服务器
- 常用的Web服务器软件 : Tomcat服务器(Apache公司的产品)
补充二:
-
http是基于tcp的, 因为发送http请求时会先进行tcp三次握手的连接 , http和tcp并不是在一个层中, http在应用层中, tcp和udp在传输层
-
http协议传输数据时是直接传输的, 没有对传输数据进行加密操作, https协议传输数据的时候会对传输数据先加密再发送, 并且发送的时候不会只执行一次验证
-
http协议中传输的数据不可以有中文, 如果有中文就会乱码, 所以如果是中文的数据, 我们使用http协议进行传输的时候就要先进行一个编码, 将中文编码之后再进行一个发送