概述
Web相关概念
- 一. 软件架构
- 二. 资源分类
- 三. 网络通信三要素
- 四. Web Server
- 五. HTTP 协议
- 1. 定义
- 2. 请求消息数据格式
- 3. 响应消息数据格式
一. 软件架构
1.Client/Server:客户端/服务器端
2.Browser/Server:浏览器/服务器端
- 优点
- 客户端使用统一的 Browser
- 服务端基于统一的 HTTP
二. 资源分类
1.静态资源:每个用户访问相同的资源,得到的结果相同。被访问后可以直接返回,被浏览器解析。
- HTML、CSS、JavaScript
2.动态资源:每个用户访问相同的资源,得到的结果可能不同。被访问后要先转换为静态资源再返回。
- Servlet / JSP、PHP、ASP
三. 网络通信三要素
1.IP(Internet Protocol):电子设备(计算机)在网络中的唯一标识。
2.端口(port):应用程序在计算机中的唯一标识。取值范围:0~65535
3.传输层协议:规定了数据传输的规则。
- TCP(Transmission Con trol Protocol,传输控制协议):面向连接,安全,三次握手 & 四次挥手,速度慢。
- UDP(User Datagram Protocol,用户数据报协议):无连接,不安全,速度快。
四. Web Server
1.服务器:安装了服务器软件的计算机,性能(硬盘、内存、CPU)比较好。
2.服务器软件:接收用户请求,处理请求,做出响应。
3.Web 服务器软件:部署 Web 项目,让用户通过浏览器来访问,也称为 Web 容器。
4.常见的 Java 相关 Web 服务器软件
- webLogic:Oracle,大型的 JavaEE 服务器,支持所有 JavaEE 规范,收费。
- JavaEE:Java 语言在企业级开发中使用的技术规范的总和,一共规定了13项大的规范。
- webSphere:IBM,同上。
- JBOSS:JBOSS,同上。
- Tomcat:Apache 基金组织,中小型 JavaEE 服务器,仅仅支持少量的JavaEE 规范,开源,免费。
五. HTTP 协议
1. 定义
1.HTTP:Hyper Text Transfer Protocol,超文本传输协议。
2.传输协议:定义了客户端和服务器端通信时发送数据的格式。
3.特点
- 基于 TCP / IP 的高级协议
- 默认端口号:80
- 基于请求 / 响应模型,一次请求对应一次响应。
- 无状态:每次请求之间相互独立,不能交互数据。
4.历史版本
- 1.0:每一次请求响应都会建立新的连接
- 1.1:复用连接
2. 请求消息数据格式
1.请求行
- 格式
请求方式 请求URL 请求协议/版本
GET /login.html HTTP/1.1
- 请求方式:HTTP 有7种请求方式,常用的有 GET、POST。
- GET
- 请求参数在请求行(URL 后)中
- 请求的 URL 长度有限
- 不安全(参数容易暴露)
- POST
- 请求参数在请求体中
- 请求的 URL 长度无限
- 相对安全
2.请求头:客户端浏览器传递给服务器的一些信息
- 格式:请求头名称: 请求头值
- 常见的请求头
User-Agent
:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:69.0) Gecko/20100101 Firefox/69.0,浏览器告诉服务器访问使用的浏览器版本信息。Referer
:http://localhost:8080/login.html,浏览器告诉服务器当前的请求从哪里来。- 作用:防盗链、统计工作
3.请求空行:分割 POST 请求的请求头与请求体
4.请求体(正文):封装 POST 请求的请求参数
5.字符串格式
POST /login.html HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:69.0) Gecko/20100101 Firefox/69.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 12
Connection: keep-alive
Referer: http://localhost:8080/login.html
Upgrade-Insecure-Requests: 1
username=hjplz
3. 响应消息数据格式
1.响应行
- 格式
响应协议/版本 状态码 状态码描述
HTTP/1.1 200 OK
- 状态码:服务器告诉客户端浏览器本次请求和响应的状态,由三位数字组成。
- 1xx:服务器接收客户端消息,但没有完成接收,等待一段时间后发送。
- 2xx:成功。e.g. 200
- 3xx:重定向。e.g. 302(重定向)、304(访问缓存)
- 4xx:客户端错误。e.g. 404(请求路径没有对应的资源)、405(请求方式没有对应的doXXX方法)
- 5xx:服务器端错误。e.g. 500(服务器内部出现异常)
2.响应头
- 格式:响应头名称: 响应头值
- 常见的响应头
Content-Type
:text/html;charset=UTF-8,服务器告诉客户端本次响应体数据格式和编码格式。Content-dispostion
:服务器告诉客户端以什么格式打开响应体数据。in-line
:默认值,在当前页面打开。attachment;filename=xxx
:以附件形式打开响应体,e.g. 文件下载
3.响应空行
4.响应体:传输的数据
5.字符串格式
HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Content-Length: 101
Date: Tue, 24 Sep 2019 12:53:52 GMT
<html>
<head>
<title>$Title$</title>
</head>
<body>
Hello, response.
</body>
</html>
最后
以上就是美丽钢笔为你收集整理的Web相关概念一. 软件架构二. 资源分类三. 网络通信三要素四. Web Server五. HTTP 协议的全部内容,希望文章能够帮你解决Web相关概念一. 软件架构二. 资源分类三. 网络通信三要素四. Web Server五. HTTP 协议所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复