HTTP协议

目录

一、请求

​编辑二、应答

三、格式​编辑

[3.1 协议为什么要有空行](#3.1 协议为什么要有空行)

[3.2 如何理解正文](#3.2 如何理解正文)

[3.3 请求方法](#3.3 请求方法)

[3.4 URL](#3.4 URL)

[3.4.1 url 中所带的参数](#3.4.1 url 中所带的参数)

[3.5 版本](#3.5 版本)

[3.6 状态码及其描述](#3.6 状态码及其描述)

3.6.1重定向状态码

[3.7 请求报头](#3.7 请求报头)

[3.8 请求方法](#3.8 请求方法)

[3.8.1 GET](#3.8.1 GET)

[3.8.2 POST](#3.8.2 POST)

[3.8.3 POST和GET区别](#3.8.3 POST和GET区别)

四、cookie


一、请求

二、应答

三、格式

3.1 协议为什么要有空行

区分报头和有效载荷

3.2 如何理解正文

人们上网行为无非就两种:等待信息和上传信息 正文的作用就是这个

3.3 请求方法

我们主要使用GET和POST

3.4 URL

统一资源定位符,就是我们说的网址

  • 注意:/ 不一定是根目录,web根目录(代码) 任意一个目录(都可能)
3.4.1 url 中所带的参数

URL 中 /、?、: 等字符具有特殊含义,不能随意在参数中直接使用。若参数需包含这些特殊字符,必须先进行转义,转义规则如下:

  1. 将待转码的特殊字符转换为 16 进制形式。
  2. 对 16 进制结果,从右到左取 4 位(不足 4 位则直接处理)。
  3. 每 2 位作为一组,每组前加上 % 符号。
  4. 最终编码为 % XY 的格式(XY 为每组对应的 2 位 16 进制数)。

例如:

3.5 版本

HTTP有很多的版本 1.1 1.2 等 每个版本支持的功能都有所不同

3.6 状态码及其描述

注意:http 请求,必须要有应答报文,即使是错误的

3.6.1重定向状态码

重定向:

因为提供服务的一方,服务的地址发生变更,要求client更改访问位置,去新地址访问

永久和临时:

影不影响客户对地址的认识

301:永久重定向 : 网站换域名的时候,自动跳转到新域名,搜索引擎更新网站链接时使用

302 : 临时重定向 : 用户的登录(登录之后自动跳转到首页,访问首页必须要登录不影响客户对地址的认识)

原理

重定向报文不需要有效载荷

3.7 请求报头

content - Length : 有效载荷的长度

如何保证读到了一个完整的请求报头

读到空格

如果有正文,如何保证把正文部分一字不差的读取上来

content - Length

3.8 请求方法

上网的两种两种行为:

1、从服务器端获取内容

2、上传数据到服务器(表单)

以上的请求方法绝大部分使用的是GET 和 POST

浏览器获取数据,构建HTTP request 向服务器发起请求

3.8.1 GET

既可以获取信息,又可以上传信息

传参,通过url进行参数传递 ,参数传递给action(后端模块不是网页) ,之间通过?隔开

如何区别是获取信息还是上传信息

通过url是否存在& 和?

3.8.2 POST
3.8.3 POST和GET区别

GET可以获取静态资源

GET通过url传参

POST通过request body传参

四、cookie

http 是无状态的(不记录历史请求,和用户的行为),但是假设一个视频网站我们不保存它的历史请求,他没播放一个视频都需要登录一次无疑是十分麻烦的,所以HTTP为了保证能够对用户进行一定程度的转台保持功能,服务器+浏览器+HTTP(cookie + Seesion)

Version1

因为Cookie保存在浏览器中容易被人通过攻击浏览器获取个人信息和冒充,所以我们可以将它保存在服务器中如下

Version2

上述每一个用户认证通过之后,会形成session(中含有session_id) 在将session_id返回,形成cookie,再一次登录的时候通过寻找是否存在session_id完成认证

相关推荐
冉佳驹2 小时前
Qt【第六篇】 ——— 事件处理、多线程、网络与文件等操作详解
qt·http·udp·tcp·事件·多线程与互斥锁
FlDmr4i282 小时前
ArcGIS授权管理器断网后自动停止
网络·arcgis
国产化创客2 小时前
ESPectre + Home Assistant快速实现WiFI-CSI 可视化方案
网络·物联网·信息与通信·智能硬件·wifi csi
mounter6252 小时前
【高性能网络】Devmem TCP 深度拆解:打破 100G 网络的“CPU 搬运墙”与延迟瓶颈
网络·网络协议·tcp/ip·kernel·devmem tcp
Sapphire小蓝2 小时前
虚拟机ping不通网络问题解决方案
网络·ubuntu
凉、介2 小时前
深入理解组播
网络·笔记·学习·组播
婷婷_1722 小时前
DWC Ethernet QoS VLAN高级功能深度解析
网络·学习·程序人生·ethernet·芯片·vlan·gmac
Hello.Reader2 小时前
双卡 A100 + Ollama 最终落地手册一键部署脚本、配置文件、预热脚本与 Python 客户端完整打包
开发语言·网络·python
达不溜的日记3 小时前
AutoSAR通信概述-DBC文件
网络协议·信息与通信·信号处理