软考——WWW与HTTP

1.万维网(world wide web)

是一个规模巨大的、可以资源互联的资料空间。由URL进行定位,通过HTTP协议传送给使用者,又由HTML来进行文件的展现。

它的主要组成部分是:URL、HTTP、HTML。

(1)URL

统一资源标识符,负责给万维网上的资源定位。URL的组成:

<协议>://<主机>:<端口号>/<路径>

(2)HTTP

超文本传输协议

负责规定浏览器和服务器怎么进行互相交流

(3)HTML

超文本标记语言

用于描述网页文档的一种标记语言

WWW采用C/S模式:

(1)用户使用浏览器建立客户机与服务器的连接,并发送浏览请求

(2)web服务器接收到请求后返回信息到客户机

(3)通信完成后关闭连接

2.HTTP

默认使用80端口提供服务

(1)HTTP工作过程

是在C/S的模式下、基于TCP协议

通过使用浏览器,发起一个到服务器上指定端口(80)的服务请求。一旦收到请求,服务器向客户机发回响应消息。客户端请求和链接端口需大于1024

(2)为什么用TCP呢

需要传输很多数据以免乱序

TCP有传输控制

乱序可纠正

(3)HTTP报文

请求报文:客户端向服务器发送的报文

响应报文:服务器向客户机发送的报文

常见HTTP请求报文方法:

方法 描述
1 GET 从服务器获取资源。用于请求数据而不对数据进行更改。例如,从服务器获取网页、图片等。
2 POST 向服务器发送数据以创建新资源。常用于提交表单数据或上传文件。发送的数据包含在请求体中。
3 PUT 向服务器发送数据以更新现有资源。如果资源不存在,则创建新的资源。与 POST 不同,PUT 通常是幂等的,即多次执行相同的 PUT 请求不会产生不同的结果。
4 DELETE 从服务器删除指定的资源。请求中包含要删除的资源标识符。
5 PATCH 对资源进行部分修改。与 PUT 类似,但 PATCH 只更改部分数据而不是替换整个资源。
6 HEAD 类似于 GET,但服务器只返回响应的头部,不返回实际数据。用于检查资源的元数据(例如,检查资源是否存在,查看响应的头部信息)。
7 OPTIONS 返回服务器支持的 HTTP 方法。用于检查服务器支持哪些请求方法,通常用于跨域资源共享(CORS)的预检请求。
8 TRACE 回显服务器收到的请求,主要用于诊断。客户端可以查看请求在服务器中的处理路径。
9 CONNECT 建立一个到服务器的隧道,通常用于 HTTPS 连接。客户端可以通过该隧道发送加密的数据。

(3)HTTP各版本的对比

特性 HTTP/1.0 HTTP/1.1 HTTP/2 HTTP/3
协议类型 文本协议 文本协议 二进制协议 基于 UDP 的 QUIC
连接模式 非持久连接 持久连接 持久连接 基于 QUIC 的连接
多路复用 不支持 不支持 支持 支持
队头阻塞 存在 存在 部分解决 完全解决
连接建立延迟 较低 极低(支持 0-RTT)
缓存支持 基础支持 完善支持 完善支持 完善支持
传输安全性 依赖 TLS 依赖 TLS 1.3
性能开销 较高 较低 较低
适用场景 静态网页 小型项目 动态网站 实时通信和高延迟网络
相关推荐
猫猫的小茶馆1 分钟前
【网络编程】UNIX 域套接字(Unix Domain Sockets, UDS)
linux·网络·网络协议·udp·unix·信息与通信
猴子技术宅20 分钟前
wordpress禁止系统自带搜索功能增强被恶意搜索轰炸(google有效)
运维·网络·搜索引擎
yourkin66624 分钟前
TCP重传机制
网络
羊小猪~~34 分钟前
深度学习基础--ResNet网络的讲解,ResNet50的复现(pytorch)以及用复现的ResNet50做鸟类图像分类
网络·pytorch·深度学习·神经网络·机器学习·分类·resnet
了不起的杰1 小时前
详解传输层协议TCP/UDP
网络协议·tcp/ip·udp
昨天今天明天好多天2 小时前
【计算机网络】OSI模型、TCP/IP模型、路由器、集线器、交换机
网络·tcp/ip·计算机网络
m0_715646762 小时前
无名管道、有名管道、信号、信号处理
java·linux·网络·数据结构·算法·嵌入式·标准io
m0_748229993 小时前
4.WebSocket 配置与Nginx 的完美结合
websocket·网络协议·nginx
双手插兜-装高手3 小时前
网络 - Socket编程
c语言·开发语言·网络·c++·经验分享