【计算机网络】应用层 : 万维网 和 HTTP 协议 ( 万维网概述 | HTTP 协议特点 | HTTP 协议连接方式 | HTTP 协议报文结构 | HTTP 请求报文 | HTTP 响应报文 )

简介: 【计算机网络】应用层 : 万维网 和 HTTP 协议 ( 万维网概述 | HTTP 协议特点 | HTTP 协议连接方式 | HTTP 协议报文结构 | HTTP 请求报文 | HTTP 响应报文 )

文章目录

一、万维网概述 ★

二、HTTP 协议 ( 超文本传输协议 ) ★

三、HTTP 协议特点 ★

四、HTTP 连接方式 ★

五、HTTP 协议报文结构

六、HTTP 请求报文 ★

七、HTTP 响应报文 ★





一、万维网概述 ★


万维网概述 :


① 概念 : 万维网 是 超大规模 , 联机形式 的 资料空间 , 是 海量网络站点和网页集合 ;


② 定位资源 : 使用 统一资源定位符 URL 可以唯一标识 一个资源 , 这个资源可以是 文本 , 视频 , 音频 , 图片 ;


③ URL 形式 : <协议>://<主机地址>:<端口号>/<路径>


协议 : http , ftp

主机地址 : IP 地址 , 域名

端口号 : 16 位端口号 , 0 ~ 65535

URL 不区分大小写字母 ;


④ 获取资源 : 用户点击超链接获取资源 , 服务器通过 HTTP 协议 ( 超文本传输协议 ) 将资源传输给用户 ;


⑤ 万维网工作方式 : 客户端 / 服务器 方式 , 客户端就是网页浏览器 IE , 火狐等 , 服务器 是 部署 HTTP 服务器程序 , 如 Tomcat , IIS ;


⑥ HTML 语言 : 万维网 使用 HTML 超文本标记语言 ;






二、HTTP 协议 ( 超文本传输协议 ) ★


HTTP 协议 ( 超文本传输协议 ) : 定义了 浏览器 向 服务器 请求资源的方式 , 以及 服务器 如何将资源 发送给浏览器 ; 具体流程如下 :


① 用户操作 : 用户 在浏览器上 输入 URL , 或 点击超链接 ;


② 分析 URL : 浏览器 分析 URL 链接 ;


③ 请求 IP 地址 : 浏览器 向 DNS 服务器请求 域名 对应的 IP 地址 ;


④ 解析 IP 地址 : DNS 服务器将域名解析成 IP 地址 ;


⑤ 建立 TCP 链接 : 客户端 与 服务器端建立 TCP 链接 ;


⑥ 浏览器申请资源 : 浏览器 向 服务器 发出 申请资源 命令 ;


⑦ 服务器响应 : 服务器响应浏览器的资源申请 ;


⑧ 释放 TCP 链接 : 客户端 服务器 双方 释放 TCP 链接 ;


⑨ 浏览器显示资源 : 浏览器 显示从服务器中获取到的 文本 , 图片 , 视频等资源 ;



浏览器可以只下载文字部分 ;






三、HTTP 协议特点 ★


HTTP 协议特点 :


① 无状态 : HTTP 协议是无状态的 , 两次 HTTP 访问是没有任何关联的 ;


② Cookie : 存储在用户主机中的文本文件 , 记录一段时间内的用户访问记录 , 以便网站方面可以提供个性化服务 ;


③ 无连接 : 应用层的 HTTP 协议使用 传输层的 TCP 协议 , 但是 HTTP 协议本身是无连接的 , 通信双方事先不需要建立 HTTP 连接 ;






四、HTTP 连接方式 ★


HTTP 连接方式 : HTTP 连接分为 持久连接 ( Keep-alive ) 和 非持久连接 ( Close ) ; 持久连接又分为 流水线 , 非流水线 两种连接方式 ;


持久连接 : TCP 连接建立后持续很长时间 ;

非流水线 类似于 GBN , SR 协议 , 可以连续发出多条数据 ; 可以提高网络效率 ;

流水线 : 类似于停止-等待协议 , 发出一条数据 , 必须等待确认后 , 才能发出第二条数据 ;

非持久连接 : 每次数据发送都要重新连接 TCP 连接 ;





五、HTTP 协议报文结构


HTTP 协议报文结构 : HTTP 报文分为 请求报文 和 响应报文 , HTTP 报文是面向文本的 , 报文中每个字段都是 ASCII 码字符串 ;


请求报文

响应报文





六、HTTP 请求报文 ★


HTTP 请求报文 :

image.png



① 请求行 :


方法 : 是 命令 , 表明执行的操作 , 获取 , 删除 等 ;

URL : 资源地址 ;

版本 : HTTP 协议版本 ;

CRLF : 回车换行 , 请求行结束必备 ;

② 首部行 : 说明 浏览器 , 服务器 , 报文主体 的信息 ;


首部字段名 : 空格 + 首部字段值 + CRLF ( 回车换行 ) ;

上述结构有若干个 ;

③ 实体主体 : 首部行 后面 是 CRLF 回车换行 , 在后面就是 实体主体 , 请求报文中 , 实体主体 , 通常不使用 ;



请求报文示例 :


GET /index.html HTTP/1.1
Host: www.baidu.com
Connection: Close
Cookie: 666


第一行 GET /index.html HTTP/1.1 是 请求行 , GET 指的是获取资源 , /index.html 表示获取的资源 URL 地址 , HTTP/1.1 说明当前的 HTTP 协议版本是 1.1 版本 ; 注意 上面 三项之间有两个空格 ; 首部行后面有一个 CRLF 回车换行 ;


第二行 是首部行 , Host 是首部字段名 , www.baidu.com 是首部字段值 ; 注意 冒号后面有一个空格 ; 末尾有一个 CRLF 回车换行 ;


第三行 和 第四行 也是首部行 ,






七、HTTP 响应报文 ★


HTTP 响应报文 :


image.png


① 状态行 :


版本 : HTTP 协议版本 ;

状态码 : 五种类型 , 33 种状态码 ;

CRLF : 回车换行 , 请求行结束必备 ;

② 首部行 : 说明 浏览器 , 服务器 , 报文主体 的信息 ;


首部字段名 : 空格 + 首部字段值 + CRLF ( 回车换行 ) ;

上述结构有若干个 ;

③ 实体主体 : 首部行 后面 是 CRLF 回车换行 , 在后面就是 实体主体 ;



状态码类型 :


1xx 状态码 : 表示 通知信息 , 如 收到请求 , 正在处理请求 ;

2xx 状态码 : 表示 成功 , 如 202 Accepted ;

3xx 状态码 : 表示重定向 , 如 完成请求还需要进一步操作 ;

4xx 状态码 : 表示客户差错 , 请求无法完成 , 如 404 Not Found ;

5xx 状态码 : 表示服务器差错 , 如 服务器失效 , 无法完成请求 ;


目录
相关文章
|
10天前
|
存储 网络协议 算法
从HPACK到多路复用,揭秘HTTP/2如何终结网络拥堵
HTTP/2通过HPACK压缩头部冗余信息,提升传输效率;并利用多路复用技术,在单个TCP连接上并行处理多个请求,避免队头阻塞,显著提升性能。同时支持服务器推送和流优先级设置,优化资源加载体验。
50 7
|
3月前
|
JSON 中间件 Go
Go 网络编程:HTTP服务与客户端开发
Go 语言的 `net/http` 包功能强大,可快速构建高并发 HTTP 服务。本文从创建简单 HTTP 服务入手,逐步讲解请求与响应对象、URL 参数处理、自定义路由、JSON 接口、静态文件服务、中间件编写及 HTTPS 配置等内容。通过示例代码展示如何使用 `http.HandleFunc`、`http.ServeMux`、`http.Client` 等工具实现常见功能,帮助开发者掌握构建高效 Web 应用的核心技能。
238 61
|
3月前
|
JSON 编解码 API
Go语言网络编程:使用 net/http 构建 RESTful API
本章介绍如何使用 Go 语言的 `net/http` 标准库构建 RESTful API。内容涵盖 RESTful API 的基本概念及规范,包括 GET、POST、PUT 和 DELETE 方法的实现。通过定义用户数据结构和模拟数据库,逐步实现获取用户列表、创建用户、更新用户、删除用户的 HTTP 路由处理函数。同时提供辅助函数用于路径参数解析,并展示如何设置路由器启动服务。最后通过 curl 或 Postman 测试接口功能。章节总结了路由分发、JSON 编解码、方法区分、并发安全管理和路径参数解析等关键点,为更复杂需求推荐第三方框架如 Gin、Echo 和 Chi。
|
4月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
140 18
|
4月前
|
网络安全 开发者
如何解决HTTPS协议在WordPress升级后对网站不兼容的问题
以上就是解决WordPress升级后HTTPS协议对网站的不兼容问题的方法。希望能把这个棘手的问题看成是学校的管理问题一样来应对,将复杂的技术问题变得更加有趣和形象,并寻觅出解决问题的方式。希望你的网站能在新的学期得到更好的发展!
117 19
|
4月前
|
JSON 安全 网络协议
HTTP/HTTPS协议(请求响应模型、状态码)
本文简要介绍了HTTP与HTTPS协议的基础知识。HTTP是一种无状态的超文本传输协议,基于TCP/IP,常用80端口,通过请求-响应模型实现客户端与服务器间的通信;HTTPS为HTTP的安全版本,基于SSL/TLS加密技术,使用443端口,确保数据传输的安全性。文中还详细描述了HTTP请求方法(如GET、POST)、请求与响应头字段、状态码分类及意义,并对比了两者在请求-响应模型中的安全性差异。
392 20
|
4月前
|
安全 网络协议 算法
HTTP/HTTPS与SOCKS5协议在隧道代理中的兼容性设计解析
本文系统探讨了构建企业级双协议隧道代理系统的挑战与实现。首先对比HTTP/HTTPS和SOCKS5协议特性,分析其在工作模型、连接管理和加密方式上的差异。接着提出兼容性架构设计,包括双协议接入层与统一隧道内核,通过协议识别模块和分层设计实现高效转换。关键技术部分深入解析协议转换引擎、连接管理策略及加密传输方案,并从性能优化、安全增强到典型应用场景全面展开。最后指出未来发展趋势将更高效、安全与智能。
179 1
|
5月前
|
安全 网络安全 数据安全/隐私保护
HTTP 与 HTTPS 协议及 SSL 证书解析-http和https到底有什么区别?-优雅草卓伊凡
HTTP 与 HTTPS 协议及 SSL 证书解析-http和https到底有什么区别?-优雅草卓伊凡
291 3
|
7月前
|
网络协议 安全 网络安全
HTTP与HTTPS协议入门
HTTP协议是互联网的基石,HTTPS则是其安全版本。HTTP基于TCP/IP协议,属于应用层协议,不涉及数据包传输细节,主要规定客户端与服务器的通信格式,默认端口为80。
242 25
HTTP与HTTPS协议入门
|
监控 安全 搜索推荐
设置 HTTPS 协议以确保数据传输的安全性
设置 HTTPS 协议以确保数据传输的安全性