【计算机网络】HTTP 与 HTTPS ( HTTP 发展过程 | HTTP/1.1 与 HTTP/2 对比 | HTTP 报文格式 )

简介: 【计算机网络】HTTP 与 HTTPS ( HTTP 发展过程 | HTTP/1.1 与 HTTP/2 对比 | HTTP 报文格式 )

文章目录

前言

一、HTTP 发展过程

二、HTTP/1.1 与 HTTP/2 对比

三、HTTP 报文格式

前言

目前如果在浏览器中访问 http 网站 , 浏览器会提示不安全 , 如下图 :

image.png



如果访问 https 网站 , 浏览器显示安全图标 , 如下图 :


image.png


当前几乎所有的网站 , 都使用 HTTPS 协议 ;


HTTPS 是在 HTTP 的基础上进行的强化 ;


HTTPS = HTTP + SSL ;






一、HTTP 发展过程


HTTP 协议是基于 TCP/IP 的超文本传输协议 , 发展历史如下 :


HTTP/0.9 : 1991 19911991 年 , 只能进行 GET 请求 , 不能传输数据包 , 规定客户端服务器通信格式 ; ( 不是正式标准 )

HTTP/1.0 : 1996 19961996 年 , 增加了 PUT , PATCH , HEAD , OPTIONS , DELETE 等命令 , 不再限制传输内容的格式 ; ( 正式标准 )

HTTP/1.1 : 1997 19971997 年 , 支持 长连接 , 带宽节约 , HOST 域 , 管道机制 , 分块传输编码 等机制 ; ( 目前使用最广泛的版本 )

HTTP/2 : 2015 20152015 年 , 支持 多路复用 , 服务器推送 , 头信息压缩 , 二进制协议 等机制 ; ( 逐步推进覆盖市场 )

目前使用最广泛的版本是 HHTP/1.1 , 但是 2015 20152015 年后 , HTTP/2 出现 , 逐渐覆盖市场 ;






二、HTTP/1.1 与 HTTP/2 对比


HTTP/1.1 请求网页流程 :


① 建立 HTTP 连接 ;

② 客户端发送 GET 请求 , 请求服务器端的 index.html 文件 ;

③ 服务器端响应 , 返回 html 文件信息 ;

④ 客户端发送 GET 请求 , 请求 style.css 文件 ;

⑤ 服务器端响应 , 返回 style.css 文件

⑥ 客户端发送 GET 请求 , 请求服务器端的 scripts.js 文件 ;

⑦ 服务器端响应 , 返回 scripts.js 文件 ;

⑧ 客户端渲染界面

⑨ 关闭 HTTP 连接 ;

弊端 : 每次只能请求网页的一个文件 , css 和 js 脚本需要分两次请求 , 客户端才能获取到完整的文件 ;

image.png



HTTP/2 多路复用机制 : 通过 1 11 个 HTTP/2 发起多重 请求/响应 信息 , 多个请求共享同一个 TCP 连接 ;


① 建立 HTTP 连接 ;

② 客户端发送 GET 请求 , 请求服务器端的 index.html 文件 ;

③ 服务器端响应 , 返回 html 文件信息 ;

④ 客户端发送 GET 请求 , 请求 style.css 和 scripts.js 文件 ;

⑤ 服务器端响应 , 返回 style.css 和 scripts.js 文件

⑥ 客户端渲染界面

⑦ HTTP 连接继续保持打开状态 ;





三、HTTP 报文格式


客户端要访问某网站 , 向服务器端发送的报文是 请求报文 ;


请求报文格式 : CRLF 是回车换行 ;


image.png



服务器端 接收 到客户端的请求报文 , 响应客户端的请求 , 向客户端发送的报文是 响应报文 ;


响应报文格式 : CRLF 是回车换行 ;


image.png



请求报文 与 响应报文 真实案例分析 :


这里以访问人大网站 ( http://rucfd.ruc.edu.cn/ ) 为例 ;


在浏览器输入上述网址 , 按下 F12 键 , 进入调试模式 , 刷新网页 , 查看 HTTP 请求与响应过程 ;


image.png



请求头 :


GET / HTTP/1.1
Host: rucfd.ruc.edu.cn
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
If-None-Match: "b7f-5b575595fe630-gzip"
If-Modified-Since: Wed, 02 Dec 2020 06:28:18 GMT



请求行 : 请求类型 GET , 版本号 HTTP/1.1 ;


GET / HTTP/1.1


首部行 : 请求行下面的都是首部行 , 每个键值对后面跟着一个回车换行 ;



响应头 :


HTTP/1.1 200 OK
Server: none
Date: Mon, 21 Jun 2021 05:15:56 GMT
Content-Type: text/html
Content-Length: 1104
Connection: keep-alive
Last-Modified: Wed, 02 Dec 2020 06:28:18 GMT
ETag: "b7f-5b575595fe630-gzip"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip


状态行 : 版本号 HTTP/1.1 , 状态码 200 , 短语 OK ;


HTTP/1.1 200 OK


首部行 : 剩余的都是首部行 , 每个键值对后面跟着一个回车换行 ;


目录
相关文章
|
9月前
|
XML JSON API
识别这些API接口定义(http,https,api,RPC,webservice,Restful api ,OpenAPI)
本内容介绍了API相关的术语分类,包括传输协议(HTTP/HTTPS)、接口风格(RESTful、WebService、RPC)及开放程度(API、OpenAPI),帮助理解各类API的特点与应用场景。
|
9月前
|
Android开发 Kotlin
|
11月前
|
安全 网络安全 数据安全/隐私保护
网页安全演进:HTTP、HTTPS与HSTS
这整个进程实质上是网页安全由“裸奔”到“穿衣”再到“绑带”的演变史。它保障了数据的机密性和完整性,降低了中间人攻击的风险,最终实现了更自由、更安全的网络环境。但别忘了,技术永远在发展,网络安全的赛跑也永无终点。*ENDPOINT*
773 11
|
12月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
345 18
|
12月前
|
JSON 安全 网络协议
HTTP/HTTPS协议(请求响应模型、状态码)
本文简要介绍了HTTP与HTTPS协议的基础知识。HTTP是一种无状态的超文本传输协议,基于TCP/IP,常用80端口,通过请求-响应模型实现客户端与服务器间的通信;HTTPS为HTTP的安全版本,基于SSL/TLS加密技术,使用443端口,确保数据传输的安全性。文中还详细描述了HTTP请求方法(如GET、POST)、请求与响应头字段、状态码分类及意义,并对比了两者在请求-响应模型中的安全性差异。
1048 20
|
12月前
|
安全 网络协议 算法
HTTP/HTTPS与SOCKS5协议在隧道代理中的兼容性设计解析
本文系统探讨了构建企业级双协议隧道代理系统的挑战与实现。首先对比HTTP/HTTPS和SOCKS5协议特性,分析其在工作模型、连接管理和加密方式上的差异。接着提出兼容性架构设计,包括双协议接入层与统一隧道内核,通过协议识别模块和分层设计实现高效转换。关键技术部分深入解析协议转换引擎、连接管理策略及加密传输方案,并从性能优化、安全增强到典型应用场景全面展开。最后指出未来发展趋势将更高效、安全与智能。
539 1
|
网络协议 安全 网络安全
HTTP与HTTPS协议入门
HTTP协议是互联网的基石,HTTPS则是其安全版本。HTTP基于TCP/IP协议,属于应用层协议,不涉及数据包传输细节,主要规定客户端与服务器的通信格式,默认端口为80。
734 25
HTTP与HTTPS协议入门
|
安全 网络安全 数据安全/隐私保护
HTTP 与 HTTPS 协议及 SSL 证书解析-http和https到底有什么区别?-优雅草卓伊凡
HTTP 与 HTTPS 协议及 SSL 证书解析-http和https到底有什么区别?-优雅草卓伊凡
697 3
|
人工智能 网络协议 API
开发效率翻倍!Apipost这些协议调试秘籍,从HTTP到金融报文全搞定
Apipost是一款强大的API研发管理工具,支持多种协议与数据格式,包括HTTP(s)、WebSocket、SSE、gRPC、TCP及金融协议(如ISO 8583、FIX)。它内置国密算法库,提供HTTP文件秒传、全局参数配置等实用功能。在SSE调试中,可轻松处理AI模型流式响应;WebSocket与Socket.IO实现高效实时通信;GraphQL支持可视化Query编写;TCP模块解决金融报文编码难题;gRPC则具备服务反射与流式调试能力。Apipost不仅简化了多协议切换的复杂性,还自动生成文档,显著提升开发效率,让开发者专注于核心业务逻辑。
|
缓存 安全 网络安全
代理协议解析:如何根据需求选择HTTP、HTTPS或SOCKS5?
本文详细介绍了HTTP、HTTPS和SOCKS5三种代理协议的特点、优缺点以及适用场景。通过对比和分析,可以根据具体需求选择最合适的代理协议。希望本文能帮助您更好地理解和应用代理协议,提高网络应用的安全性和性能。
1209 17

热门文章

最新文章