HTTP协议详解(你不知道的秘密)


互联网的发展非常迅速,但是万变不离其宗。学习 web 开发,需要我们对互联的交互机制有一定的了解

1、web交互基本流

在这里插入图片描述

【1】图片介绍

客户端 根据用户输入的地址信息请求 服务器服务器 在接收到用户的请求后进行处理,然后将处理结果响应给 客户端客户端 将响应结果展示给用户。

专业术语:

​ 请求:客户端根据用户地址信息将数据发送给服务器的过程。
​ 响应:服务器将请求的处理结果发送给浏览器的过程。

【2】如何解决不同浏览器之间和不同服务器之间的数据交互的问题呢?

解决方式: 规范浏览器和服务器的数据交互的格式。

实现方式: HTTP协议。

2、HTTP的概念和介绍

【1】概念

​ 解答:超文本传输协议(Hyper Text Transfer Protocol)

【2】作用

​ 解答:规范了浏览器和服务器的数据交互

【3】特点

  1. 简单快速

客户向服务器请求服务时,只需传送请求方法和路径,请求方法常用的有 GET、HEAD、POST、PUT、DELETE。每种方法规定了客户与服务器联系的类型不同。由于 HTTP 协议简单,使得 HTTP 服务器的程序规模小,因而通信速度很快。

  1. 灵活高效

HTTP 允许传输任意类型的数据对象,正在传输的类型由Content-Type 加以标记。

  1. 无连接

无连接的含义是限制每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接,采用这种方式可以节省传输时间。

  1. 无状态

无状态是指协议对于事务处理没有记忆能力,每一次请求数据传递都是一次新的请求响应交互。

  1. 支持B/S及C/S模式

  2. HTTP1.1版本后支持可持续连接

3、HTTP的交互流程

Tips1:客户端和服务器建立连接

Tips2:客户端发送请求数据到服务器端(HTTP 协议)

Tips3:服务器端接收到请求后,进行处理,然后将处理结果响应客户端(HTTP 协议)

Tips4:关闭客户端和服务器端的连接(HTTP1.1 后不会立即关闭)

客户端连接服务器 -> 发送请求 -> 响应请求(返回客户端) <-> 关闭连接

4、HTTP 协议之请求格式

【1】请求格式的结构

请求头:请求方式、请求的地址和 HTTP 协议版本。

请求体:消息报文、一般用来说明客户端要使用的一些附加信息。

空行:位于请求行和请求数据之间,空行是必须的。

请求数据:非必须。

【2】get请求示例

在这里插入图片描述

【3】post请求示例

在这里插入图片描述

5、 HTTP 协议之请求方式

HTTP1.0 定义了三种请求方法:GET、POST、HEAD方法

HTTP1.1 新增了五种请求方法:OPTIONS、PUT、DELETE、TRACE和CONNECT
在这里插入图片描述

POST请求和GET请求的区别

  • get请求方式

    1. 不安全,以?的形式拼接,没有请求体。
    2. get请求是在URL地址栏进行请求的,浏览器对URL长度有限制,不能带大量数据。
  • post请求方式

    1. 请求数据在请求体中发送,安全。
    2. 并且适合发送大量的数据。

6、 HTTP 协议之响应

【1】响应格式的结构

​ 响应行:HTTP 版本、状态码、状态消息

​ 响应头:消息报头,客户端使用的附加信息

​ 空行:响应头和响应实体之间的,必须的

​ 响应实体:正文,服务器返回给浏览器的信息
在这里插入图片描述

【2】HTTP 常见响应状态码含义

HTTP 状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP 状态码共分为 5 种类型:

分类分类描述
1**信息,服务器收到请求,需要请求者继续执行操作
2**成功,操作被成功接收并处理
3**重定向,需要进一步的操作以完成请求
4**客户端错误,请求包含语法错误或无法完成请求
5**服务器错误,服务器在处理请求的过程中发生了错误

【3】常见状态码

200 OK 	//客户端请求成功

400 Bad Request  //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized  //请求未经授权,这个状态代码必须和WWW-Authenticate 报头域一起使
403 Forbidden  	//服务器收到请求,但是拒绝提供服务
404 Not Found  	//请求资源不存在,if:输入了错误的 URL

500 Internal Server Error   //服务器发生不可预期的错误
503 Server Unavailable  	//服务器当前不能处理客户端的请求,一段时间后可能恢复
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值