目录
一、HTTP协议
1. 什么是通信
通信,就是信息的传递和交换
通信三要素:
通信的主体
通信的内容
通信的方式
案例:服务器把传智专修学院的简介通过响应的方式发送给客户端浏览器
其中,
通信的主体是服务器和客户端浏览器;
通信的内容是传智专修学院的简介;
通信的方式是响应;
2. 什么是通信协议
通信协议(Communication Protocol)是指通信的双方完成通信所必须遵守的规则和约定
通俗理解:通信双方采用约定好的格式来发送和接收信息,这种事先约定好的通信格式,就叫做通信协议
互联网中的通信协议:客户端与服务器之间要实现网页内容的传输,则通信的双方必须遵守网页内容的传输协议。
网页内容又叫做超文本,因此网页内容的传输协议又叫做超文本传输协议(HyperText Transfer Protocol),简称HTTP协议
3. 什么是HTTP协议
HTTP协议 即超文本传送协议(Hyper Text Transfer Protocol),它规定了客户端与服务器之间进行网页内容传输时,所必须遵守的传输格式
即客户端要以HTTP协议要求的格式把数据提交到服务器,服务器要以HTTP协议要求的格式把内容响应给客户端
二、HTTP请求消息
由于HTTP协议属于客户端浏览器和服务器之间的通信协议。因此,客户端发起的请求叫做HTTP请求,客户端发送到服务器的消息,叫做HTTP请求消息
注意: HTTP 请求消息又叫做HTTP请求报文
HTTP请求消息的组成部分
请求行的组成部分:
请求头部的组成部分:
空行:
请求体:
请求体中存放的,是要通过POST方式提交到服务器的数据
注意!!!只有POST请求才有请求体,GET请求没有请求体!
三、HTTP响应
响应消息就是服务器响应给客户端的消息内容,也叫作响应报文
状态行:
响应头部:
空行:
响应体:
响应头和请求头各代表的含义:
Accept: 请求头用来告知(服务器)客户端可以处理的内容类型
Accept-Encoding: 会将客户端能够理解的内容编码方式——通常是某种压缩算法——进行通知(给服务端)
Accept-Language: 请求头允许客户端声明它可以理解的自然语言,以及优先选择的区域方言
Cache-Control: 通用消息头字段,被用于在 http 请求和响应中,通过指定指令来实现缓存机制。缓存指令是单向的,这意味着在请求中设置的指令,不一定被包含在响应中
Connection 头(header)决定当前的事务完成后,是否会关闭网络连接。如果该值是”keep-alive”,网络连接就是持久的,不会关闭,使得对同一个服务器的请求可以继续在该连接上完成
Host: 请求头指明了请求将要发送到的服务器主机名和端口号。如果没有包含端口号,会自动使用被请求的默认端口(比如HTTPS URL使用443端口,HTTP URL使用80端口)
Upgrade-Insecure-Requests: 是一个请求首部,用来向服务器端发送信号,表示客户端优先选择加密及带有身份验证的响应,并且它可以成功处理 upgrade-insecure-requests CSP指令
User-Agent: 首部包含了一个特征字符串,用来让网络协议的对端来识别发起请求的用户代理软件的应用类型、操作系统、软件开发商以及版本号
Access-Control-Allow-Headers: 用于 preflight request(预检请求)中,列出了将会在正式请求的 Access-Control-Request-Headers 字段中出现的首部信息。
Access-Control-Allow-Methods: 在对 preflight request(预检请求)的应答中明确了客户端所要访问的资源允许使用的方法或方法列表。
Access-Control-Allow-Origin: 响应头指定了该响应的资源是否被允许与给定的origin共享
Connection: 头(header)决定当前的事物完成后,是否会关闭网络连接。如果该值是“keep-alive”,网络连接就是持久的,不会关闭,使得对同一个服务器的请求可以继续在该连接上完成。
Content-Length:是一个实体消息首部,用来指明发送给接收方的消息主体的大小,即用十进制数字表示的八位元组的数目。
Content-type: 实体头部用于指示资源的 MIME 类型 media type
Date: 是一个通用首部,其中包含了报文创建的日期和时间
四、HTTP响应状态码
1. HTTP请求方法
HTTP 请求方法,属于 HTTP 协议中的一部分,请求方法的作用是:用来表明要对服务器上的资源执行的操作
最常用的请求方法是 GET 和 POST
2. HTTP响应状态码
HTTP 响应状态码(HTTP Status Code),也属于 HTTP 协议的一部分,用来标识响应的状态
响应状态码会随着响应消息一起被发送至客户端浏览器,浏览器根据服务器返回的响应状态码,就能知道这次 HTTP 请求的结果是成功还是失败了
3. 状态码的组成及分类
2** 成功相关的响应状态码:
3** 重定向相关的响应状态码 :
4** 客户端错误相关的响应状态码:
5**服务端错误相关的响应状态码: