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

相关推荐
yi碗汤园29 分钟前
OSS对象存储服务
网络·阿里云
Doris__HE40 分钟前
【元脑服务器NF5476G7-NF5476M7技术规格分享】
运维·服务器·网络·数据库·性能优化
boxiansheng1633 小时前
408计算机网络
网络·计算机网络·智能路由器
闲云野鹤在人间4 小时前
docker 入门 | 第5章 网络详解
网络·docker·架构·华为云·php
orange....4 小时前
VMware 双网卡配置:宿主机切换网络时 Ubuntu 固定 IP 访问方案
网络·ubuntu·网络安全
yi碗汤园5 小时前
MQTT消息队列遥测传输协议
网络·网络协议·unity
吴声子夜歌6 小时前
Shell编程实例——高级脚本编程(一)
linux·运维·网络·shell
花间相见6 小时前
【后端开发|网络编程】—— 五种实时通信方案全解析:短轮询、长轮询、SSE、MQTT、WebSocket
后端·网络协议
深圳光特通信豆子6 小时前
1×9光模块DDM数字诊断监控技术手册
网络·物联网
云边云科技_云网融合7 小时前
从一盘散棋到一张蓝图:某连锁集团的云上重构
网络·科技·云计算