当前位置: 首页 > news >正文

【计算机网络】初识HTTP(超文本传输协议)

【计算机网络】初识HTTP(超文本传输协议)

  • HTTP协议(应用层协议、超文本传输协议)
  • URL:又叫网址或统一资源定位符
    • HTTP协议格式
    • HTTP的方法
    • HTTP的状态码
    • HTTP常见Header

HTTP协议(应用层协议、超文本传输协议)

URL:又叫网址或统一资源定位符

在这里插入图片描述

在这里插入图片描述
urlencode和urldecode:了解
像 / ? : 等这样的字符, 已经被url当做特殊意义理解了. 因此这些字符不能随意出现.
比如, 某个参数中需要带有这些特殊字符, 就必须先对特殊字符进行转义.
转义的规则如下:
将需要转码的字符转为16进制,然后从右到左,取4位(不足4位直接处理),每2位做一位,前面加上%,编码成%XY
格式
urldecode就是urlencode的逆过程;

HTTP协议格式

  1. HTTP请求

在这里插入图片描述
首行: [方法] + [url] + [版本]
Header: 请求的属性, 冒号分割的键值对;每组属性之间使用\n分隔;遇到空行表示Header部分结束
Body: 空行后面的内容都是Body. Body允许为空字符串. 如果Body存在, 则在Header中会有一个
Content-Length属性来标识Body的长度;

  1. HTTP响应
    在这里插入图片描述
    首行: [版本号] + [状态码] + [状态码解释]
    Header: 请求的属性, 冒号分割的键值对;每组属性之间使用\n分隔;遇到空行表示Header部分结束
    Body: 空行后面的内容都是Body. Body允许为空字符串. 如果Body存在, 则在Header中会有一个
    Content-Length属性来标识Body的长度; 如果服务器返回了一个html页面, 那么html页面内容就是在
    body中.
    在这里插入图片描述

HTTP的方法

在这里插入图片描述

HTTP的状态码

在这里插入图片描述

200(OK), 404(Not Found), 403(Forbidden), 302(Redirect, 重定向), 504(Bad Gateway)

HTTP常见Header

Content-Type: 数据类型(text/html等)
Content-Length: Body的长度
Host: 客户端告知服务器, 所请求的资源是在哪个主机的哪个端口上;
User-Agent: 声明用户的操作系统和浏览器版本信息;
referer: 当前页面是从哪个页面跳转过来的;
location: 搭配3xx状态码使用, 告诉客户端接下来要去哪里访问;
Cookie: 用于在客户端存储少量信息. 通常用于实现会话(session)的功能

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

HTTP 无状态协议下,如何通过 Cookie + Session 机制实现用户登录后的会话保持与身份认证,结合了从登录到后续请求的完整流程

  1. HTTP 无状态的背景
    HTTP 协议默认是无状态的,即服务器不会自动 “记住” 不同请求是否来自同一用户。但实际 Web 应用(如登录后保持用户在线、识别身份)需要 “会话保持”,因此需借助 Cookie 和 Session 技术。
  2. Cookie 的角色:传递会话标识
    存储与下发:当用户首次登录(提交账号密码),服务器验证通过后,会通过 HTTP 响应头(Set - Cookie),将包含用户信息(或会话标识)的 Cookie 下发到浏览器。Cookie 可存储为文件级(长期保存)或内存级(关闭浏览器即失效)。
    自动携带:后续浏览器向同一域名发送请求时,会自动携带 Cookie(包含之前服务器下发的用户标识),让服务器能识别请求来源。
  3. Session 的角色:服务器端会话存储
    Session 的本质:服务器端存储 “用户会话数据” 的容器(如用户身份、登录状态等),通常由服务器内存、数据库或缓存(如图中的 Redis)维护。
    与 Cookie 的协作:服务器生成 Session 后,会将Session ID(会话的唯一标识)通过 Set - Cookie 下发到浏览器(Cookie 存储 Session ID)。后续请求中,浏览器携带含 Session ID 的 Cookie 到服务器,服务器通过 Session ID 找到对应 Session,从而获取用户的 “会话上下文”(如是否登录、用户信息)。
  4. 登录与认证的核心流程(以 “账号密码登录” 为例)
    用户登录请求:浏览器向服务器发送账号(如 username=who8)和密码(如 passwd=1234)。
    服务器验证与 Session 创建:
    服务器验证账号密码有效后,创建 Session(存储用户身份等信息),并生成唯一的 Session ID。
    通过 Set - Cookie 响应头,将 Session ID 下发为 Cookie,存储到浏览器。
    后续请求的身份识别:
    浏览器后续请求(如访问个人主页)时,自动携带含 Session ID 的 Cookie。
    服务器通过 Session ID 找到对应 Session,确认用户身份(如已登录),返回个性化内容(如用户专属页面)。
  5. 存储扩展(Redis 的作用)
    图中提到 Redis,说明实际应用中,Session 数据常存储在 Redis 缓存中:
    优势:Redis 是高性能内存数据库,支持快速读写、过期时间设置,相比服务器内存,更易分布式扩展、持久化,适合存储 Session。
    流程:服务器生成 Session 后,将 Session 数据存入 Redis,并把 Session ID 下发为 Cookie;后续通过 Session ID 从 Redis 中查询 Session 内容
http://www.dtcms.com/a/499946.html

相关文章:

  • 软件下载网站 知乎宁波seo网站建设费用
  • AI编程实战:用 TRAE 开发一个写作助手
  • 方法论:从社会契约到公司流程制度
  • 高效率小尺寸全集成同步降压电源模块替代MPM3630/MPM3620/MPM3610/MPM3606
  • 帮别人做网站赚钱阿凡达网站建设
  • 广告营销的好处如何做网站优化关键词优化
  • 长春网站制作长春万网wordpress论坛模板下载
  • 徐州模板开发建站移动端设计规范
  • 网站建设拍金手指排名贰贰女生大专学什么专业好
  • 外贸门户网站东莞东城万达
  • 柬埔寨网站建设运营维护金华东阳网站建设
  • 盐城网站开发怎么样大连工业大学研究生院官网
  • STM32G474单片机开发入门(十五)CAN通信功能详解及实战
  • 金仓多模数据库平替 MongoDB:电子证照国产化的技术实操与价值突破
  • Unity:UGUI笔记(二)——UI事件监听接口
  • CSRF 漏洞全解析:从原理到实战
  • 建设项目备案网站管理系统一般网站建设流程有哪些步骤
  • 深圳AI搜索优化:助力企业精准获客新趋势
  • 免费搭建个人网站河北省建设厅网站老版
  • 菏泽市建设职工培训中心网站重庆seo结算
  • dedecms 网站模板网络营销推广技术
  • SMDJ14CA双向 TVS瞬态抑制二极管:高效瞬态电压抑制,保护电路安全
  • 怎么免费自己做网站适合0基础网站开发软件
  • 响应式网站排名如何医疗卫生网站前置审批
  • 网站建设的合理建议企业网站商城
  • C++ vector容器的解析和使用
  • STM32G474单片机开发入门(十四)SPI总线详解及NRF2401模块实战
  • 接口测试的测试用例应该怎么写?
  • java.lang 包详解
  • GTA5浏览器网站建设中建设银行网站定酒店