Web工作原理
网络协议模型:OSI七层参考模型VS TCP/IP四层模型
OSI七层参考模型 --> TCP/IP
应用层 -->
表示层 --> 应用层
会话层 -->
传输层 --> 传输层 --> 交换机、路由器
网络层 --> 网络层 -->
数据链路层 -->网络接口层 --> 中继器、集线器、网桥、交换机、网卡
物理层 -->
HTTP协议
HTTP(超文本传输协议),是一种为分布式、合作式、多媒体信息系统服务,面向应用层的协议,是Internet上目前使用最广泛的应用层协议,它基于传输层的TCP协议进行通信,HTTP协议是通用的、无状态的协议。
sequenceDiagram
电脑客户端->>Web服务器: HTTP请求
Web服务器->>电脑客户端: HTTP响应
HTTP协议三大特点
1. 遵循请求/响应模型
-
客户端向服务器发送请求
-
服务器被动响应客户端的请求
-
服务器通过无数的请求/响应向客户端提供各种网络服务
2. 无连接
-
一次请求/响应结束后,客户端与服务器将断开网络连接
3. 无状态
-
无状态是指协议对于前后两次请求/响应没有记忆能力
-
动态web需要保存状态的,但协议层面不支持状态保存,常用Session会话实现状态管理
HTTP 协议-请求
HTTP协议请求由三部分组成:请求行、请求头、请求正文
HTTP请求方式
HTTP请求的四种方式:
-
用户在浏览器地址中输入URL地址并回车向服务器发送请求
-
用户在网页上点击一个超链接向服务器发送请求
-
用户在网页上提交填写好的表单向服务器发送请求
-
用户在网页上使用AJAX技术向服务器发送请求
HTTP请求方法-GET/POST
- GET方法:请求携带的参数是在GET请求的URL地址中发送
- POST方法:请求携带的参数是在POST请求的消息体中发送
-- | GET方法 | POST方法 |
---|---|---|
参数类型 | 字符串 | 字符串、二进制 |
参数长度 | 不超过255个字符 | 长度没有限制 |
参数安全性 | 参数明文显示(不安全) | 参数加密不显示(安全) |
浏览器缓存是否保存 | 保存 | 不保存 |
HTTP协议-响应
HTTP协议响应由四部分组成:状态行、响应头、空行、消息体
HTTP协议-状态码
HTTP状态码表示服务器端处理客户端的HTTP请求返回的处理结果状态信息,开发者可以通过状态码判断客户端HTTP请求是否得到服务器正确处理
- 400-499 (404表示客户端请求服务器未收到或无法处理)
- 500-599 (500表示服务器处理出现错误或异常)