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完成认证

相关推荐
sdghterhd10 分钟前
WebSocket 快速入门教程(附示例源码)
网络·websocket·网络协议
xy34531 小时前
Wireshark捕获过滤器——语法元素详解
网络·测试工具·渗透测试·wireshark
DLYSB_2 小时前
生命通道:如何用 HIS 医疗系统直连网络声光终端,打造“零延误”的危急值响应网关?
java·网络·数据库·报警灯
德福危险3 小时前
富有想象力的XSS盲打:靶机练习之Tempus_fugit5
服务器·网络·xss
哥是强混4 小时前
Means:基于 .NET 10 打造的开源自部署 S3 兼容对象存储服务
网络·数据库·.net
Piko6145 小时前
锐捷 VSU 虚拟化堆叠配置
运维·网络·笔记
IpdataCloud6 小时前
AI生成的Avalon恶意框架怎么防?用IP离线库识别模块化C2通信
运维·人工智能·网络协议·tcp/ip·ip
爱研究的小梁7 小时前
乾元通多链路聚合通信主流落地应用案例
网络·信息与通信
Bobolink_7 小时前
跨境网络丢包优化实践,从5%到0.2%的排查与调整过程
网络·跨境网络·丢包优化
Piko6147 小时前
锐捷交换机 DHCP Server部署
运维·网络·笔记