Web相关概念

mac2022-06-30  31

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. 2003xx:重定向。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>
最新回复(0)