海边的小溪鱼

vuePress-theme-reco 海边的小溪鱼    2017 - 2023
海边的小溪鱼 海边的小溪鱼

Choose mode

  • dark
  • auto
  • light
首页
分类
  • CSS
  • HTTP
  • Axios
  • jQuery
  • NodeJS
  • JavaScript
  • Vue2
  • Server
  • Vue3
标签
时间轴
更多
  • Gitee (opens new window)
Getee (opens new window)
author-avatar

海边的小溪鱼

28

文章

14

标签

首页
分类
  • CSS
  • HTTP
  • Axios
  • jQuery
  • NodeJS
  • JavaScript
  • Vue2
  • Server
  • Vue3
标签
时间轴
更多
  • Gitee (opens new window)
Getee (opens new window)

HTTP 协议

vuePress-theme-reco 海边的小溪鱼    2017 - 2023

HTTP 协议

海边的小溪鱼 2022-07-14 HTTP

HTTP协议与常见的响应状态码

# HTTP 协议概述

1-1. 什么是通信:通信就是信息的传递和交换(通信三要素:通信的主体、通信的内容、通信的方式)
案例:张三 把自己考上清华大学的好消息 通过打电话的方式告诉 李四
通信主体:张三 和 李四
通信内容:考上清华大学
通信方式:打电话
1-2. 互联网中的通信
案例:服务器 把清华大学的简介 通过响应的方式发送给 客户端浏览器
通信主体:服务器 和 客户端浏览器
通信内容:清华大学的简介
通信方式:响应
2-1. 什么是通信协议:通信的双方完成通信所必须遵守的规则和约定
通俗理解:通信双方采用约定好的格式来发送和接收消息,这种事先约定好的通信格式,就叫做通信协议
案例:张三和李四采用写信的方式进行通信,在填写信封时,写信的双方需要遵守固定的规则
通信协议:信封填写的规则
2-2. 互联网中的通信协议(HTTP协议)
客户端与服务器之间要实现网页内容的传输,则通信的双方必须遵守"网页内容的传输协议"
网页内容又叫做超文本,因此网页内容的传输协议又叫做超文本传输协议,简称"HTTP协议"
HTTP协议:规定客户端与服务器之间进行网页内容传输时,所必须遵守的传输格式。
客户端要以HTTP协议要求的格式把数据提交到服务器
服务器要以HTTP协议要求的格式把内容响应给客户端
3. HTTP协议的交互模型: HTTP 协议采用了 请求/响应 的交互模型(客户端发起请求,服务器响应给客户端)

# HTTP 请求消息

HTTP请求消息由4个部分组成:请求行、请求头部、空行、请求体

image 1. 什么是HTTP请求消息/请求报文
由于 HTTP 协议属于 客户端浏览器 和 服务器 之间的通信协议,因此,
客户端 发起的请求 叫做 HTTP请求
客户端 发送到服务器的消息 叫做 HTTP请求消息
2. HTTP请求消息的组成部分:请求行、请求头部、空行、请求体

  • 请求行:由 请求方式、URL、HTTP协议版本 3个部分组成,它们之间使用空格隔开
  • 请求头部:用来描述客户端的基本信息,从而把客户端相关的信息告知服务器
    User-Agent:用来说明当前客户端是什么类型的浏览器
    Content-Type:用来描述发送到服务器的数据格式
    Accept:用来描述客户端能够接收什么类型的返回内容
    Accept-Language:用来描述客户端期望接收哪种语言的文本内容
    更多字段描述 (opens new window)
  • 空行:用来分隔请求头部与请求体
  • 请求体:请求体中存放的是,要通过 POST 方式提交到服务器的数据(GET请求没有请求体)

# HTTP 响应消息

HTTP响应消息由4个部分组成:状态行、响应头部、空行、响应体

image 1. 什么是HTTP响应消息
HTTP响应消息:就是服务器响应给客户端的消息内容,也叫做响应报文
2. HTTP响应消息的组成部分:状态行、响应头部、空行、响应体

  • 状态行:由HTTP协议版本、状态码、状态描述文本、3个部分组成,它们之间使用空格隔开
  • 请求头部:用来描述服务器的基本信息(由多个键值对组成)
    X-Powered-By:告诉客户端浏览器,服务器用的是什么软件
    Content-Type:服务器响应给客户端的数据格式
    Content-Length:服务器响应给客户端的内容长度
    Date:响应所发生的时间
    更多字段描述 (opens new window)
  • 空行:用来分隔响应头部与响应体
  • 响应体:响应体中存放的是,服务器响应给客户端的资源内容

# HTTP 请求方法

HTTP请求方法:用来表明要对服务器上的资源执行的操作(如:GET 和 POST)

image HTTP 请求方法,属于 HTTP 协议中的一部分

# HTTP 响应状态码

HTTP响应状态码:用来标识响应的状态,属于 HTTP 协议中的一部分

1. 什么是HTTP响应状态码
HTTP响应状态码:用来标识响应的状态,属于 HTTP 协议中的一部分
响应状态码会随着响应消息一起被发送至客户端浏览器,浏览器根据服务器返回的响应状态码,判断请求成功/失败
2. HTTP响应状态码的组成及分类
HTTP状态码由三个十进制数字组成,第一个数字定义了状态码的类型,后两个数字用来对状态码进行细分
HTTP状态码共分为 5 种类型:如下图
image

# 常见的 HTTP 响应状态码

  • 2**范围的状态码:表示服务器已成功接收到请求并进行处理(请求成功)
  • 3**范围的状态码:表示服务器要求客户端重定向(需要客户端进一步操作以完成资源的请求)
  • 4**范围的状态码:表示客户端的请求有非法内容(请求失败)
  • 5**范围的状态码:表示服务器未能正常处理客户端的请求,而出现意外错误 image
帮助我们改善此页面! (opens new window)