博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTTP 协议
阅读量:3964 次
发布时间:2019-05-24

本文共 1526 字,大约阅读时间需要 5 分钟。

a)什么是 HTTP 协议

什么是协议?

协议是指双方,或多方,相互约定好,大家都需要遵守的规则,叫协议。
所谓 HTTP 协议,就是指,客户端和服务器之间通信时,发送的数据,需要遵守的规则,叫 HTTP 协议
HTTP 协议中的数据又叫报文。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

b)请求的 HTTP 协议格式

客户端给服务器发送数据叫请求。 服务器给客户端回传数据叫响应。

请求又分为 GET 请求,和 POST 请求两种

i. GET 请求

  • 1、请求行
    (1) 请求的方式 GET
    (2) 请求的资源路径[+?+请求参数]
    (3) 请求的协议的版本号 HTTP/1.1
  • 2、请求头
    key:value 组成 不同的键值对,表示不同的含义
    在这里插入图片描述

ii. POST 请求

  • 1、请求行
    (1) 请求的方式 POST
    (2) 请求的资源路径[+?+请求参数]
    (3) 请求的协议的版本号 HTTP/1.1
  • 2、请求头
  1. key:value 不同的请求头,有不同的含义
  • 空行
  • 3、请求体 ===>>> 就是发送给服务器的数
    在这里插入图片描述

iii. 常用请求头的说明

  • User-Agent: 表示客户端浏览器的信息
  • Host: 表示请求时的服务器 ip 和端口号
  • Accept:告诉浏览器,它所支持的数据类型
  • Accept-Encoding:支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1
  • Accept-Language:告诉浏览器,它的语言环境
  • Cache-Control:缓存控制 Connection:告诉浏览器,请求完成是断开还是保持连接
  • HOST: 主机…/.

iv. 哪些是 GET 请求,哪些是 POST 请求

GET 请求有哪些:

  • 1、form 标签 method=get
  • 2、a 标签
  • 3、link 标签引入 css
  • 4、Script 标签引入 js 文件
  • 5、img 标签引入图片
  • 6、iframe 引入 html 页面
  • 7、在浏览器地址栏中输入地址后敲回车

POST 请求有哪些:

  • form 标签 method=post

c)响应的 HTTP 协议格式

1、响应行

(1) 响应的协议和版本号

(2) 响应状态码
(3) 响应状态描述符

2、响应头

key:value 不同的响应头,有其不同含义

空行

3、响应体 ---->>> 就是回传给客户端的数据

  • Accept:告诉浏览器,它所支持的数据类型
  • Accept-Encoding:支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1
  • Accept-Language: 告诉浏览器,它的语言环境
  • Cache-Control:缓存控制
  • Connection:告诉浏览器,请求完成是断开还是保持连接
  • HOST:主机…/.
  • Refresh:告诉客户端,多久刷新一次;
  • Location: 让网页重新定位;

在这里插入图片描述

d)常用的响应码说明

在这里插入图片描述

  • 200 表示请求成功
  • 302 表示请求重定向(明天讲)
  • 404 表示请求服务器已经收到了,但是你要的数据不存在(请求地址错误)
  • 500 表示服务器已经收到请求,但是服务器内部错误(代码错误)

e)MIME 类型说明

MIME 是 HTTP 协议中数据类型。 MIME 的英文全称是"Multipurpose Internet Mail Extensions" 多功能 Internet 邮件

扩充服务。MIME 类型的格式是“大类型/小 类型”,并与某一种文件的扩展名相对应。
常见的 MIME 类型:
在这里插入图片描述
在这里插入图片描述

谷歌浏览器如何查看 HTTP 协议

在这里插入图片描述

火狐浏览器如何查看 HTTP 协议

在这里插入图片描述

f)常见请求头

在这里插入图片描述

在这里插入图片描述

g)常见响应头

在这里插入图片描述

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

自定义404错误页面

在这里插入图片描述

get与post的区别

在这里插入图片描述

使用get还是post

在这里插入图片描述

转载地址:http://yluki.baihongyu.com/

你可能感兴趣的文章
Docker - ASP.NET Core Docker部署
查看>>
Docker - 容器运行 .Net Core
查看>>
Django - TypeError: __init__() missing 1 required positional argument: ‘on_delete‘ 的解决办法
查看>>
Go - 解决 go get 超时问题
查看>>
Go - goose 数据库迁移工具
查看>>
SQL - SQL Server 之遍历数据集合的几种方法
查看>>
SQL - SQL Server 之处理JSON数据
查看>>
SQL - SQL Server 之ETL详解
查看>>
SQL - SQL Server 之Merge函数使用详解
查看>>
SQL - SQL Server 之WHILE循环的坑
查看>>
SQL - SQL Server中如何获取当前年,月,日,时,分,秒
查看>>
SQL - SQL Server 性能优化之SQL语句总结
查看>>
Docker - docker-compose常用命令
查看>>
SQL - SQL Server判断字符串中是否有中文
查看>>
SQL - SQL Server查询近7天的连续日期
查看>>
SQL - SQL Server中如何取年、月、日 -DATEPART函数
查看>>
SQL - SQL Server 一列或多列重复数据的查询,删除
查看>>
NET - .NET Core WebAPI + Vue + Axios 导出Excel / CSV
查看>>
NET - NET Core Quartz.net开源作业调度框架使用详解
查看>>
NET - NET Core quartz.net 时间表达式----- Cron表达式详解
查看>>