HTTP 协议详细分析

目录

一、HTTP协议

 1. 什么是通信

2.  什么是通信协议

3. 什么是HTTP协议

二、HTTP请求消息 

三、HTTP响应

四、HTTP响应状态码

1. HTTP请求方法 

2. HTTP响应状态码 

3. 状态码的组成及分类 


一、HTTP协议

 1. 什么是通信

通信,就是信息的传递和交换

通信三要素:
        通信的主体
        通信的内容
        通信的方式

案例:服务器把传智专修学院的简介通过响应的方式发送给客户端浏览器

其中,
通信的主体是服务器和客户端浏览器;
通信的内容是传智专修学院的简介;
通信的方式是响应;

2.  什么是通信协议

通信协议(Communication Protocol)是指通信的双方完成通信所必须遵守的规则和约定

通俗理解:通信双方采用约定好的格式来发送和接收信息,这种事先约定好的通信格式,就叫做通信协议


互联网中的通信协议:

客户端与服务器之间要实现网页内容的传输,则通信的双方必须遵守网页内容的传输协议。
网页内容又叫做超文本,因此网页内容的传输协议又叫做超文本传输协议(HyperText Transfer Protocol),简称HTTP协议

3. 什么是HTTP协议

HTTP协议 即超文本传送协议(Hyper Text Transfer Protocol),它规定了客户端与服务器之间进行网页内容传输时,所必须遵守的传输格式

客户端要以HTTP协议要求的格式把数据提交到服务器服务器要以HTTP协议要求的格式把内容响应给客户端

HTTP 协议详细分析_第1张图片

二、HTTP请求消息 

 由于HTTP协议属于客户端浏览器和服务器之间的通信协议。因此,客户端发起的请求叫做HTTP请求客户端发送到服务器的消息,叫做HTTP请求消息

注意: HTTP 请求消息又叫做HTTP请求报文

 HTTP请求消息的组成部分

HTTP 协议详细分析_第2张图片

请求行的组成部分: 

HTTP 协议详细分析_第3张图片

请求头部的组成部分:

HTTP 协议详细分析_第4张图片

HTTP 协议详细分析_第5张图片

 空行

HTTP 协议详细分析_第6张图片

请求体 

 请求体中存放的,是要通过POST方式提交到服务器的数据

注意!!!只有POST请求才有请求体,GET请求没有请求体!

三、HTTP响应

 响应消息就是服务器响应给客户端的消息内容,也叫作响应报文

HTTP 协议详细分析_第7张图片状态行

 HTTP 协议详细分析_第8张图片

响应头部: 

 HTTP 协议详细分析_第9张图片

空行: 

 HTTP 协议详细分析_第10张图片

响应体

 HTTP 协议详细分析_第11张图片

响应头和请求头各代表的含义: 

HTTP 协议详细分析_第12张图片  

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: 首部包含了一个特征字符串,用来让网络协议的对端来识别发起请求的用户代理软件的应用类型、操作系统、软件开发商以及版本号

HTTP 协议详细分析_第13张图片

 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 协议中的一部分,请求方法的作用是:用来表明要对服务器上的资源执行的操作
最常用的请求方法是 GETPOST 

HTTP 协议详细分析_第14张图片

2. HTTP响应状态码 

HTTP 响应状态码(HTTP Status Code),也属于 HTTP 协议的一部分,用来标识响应的状态

响应状态码会随着响应消息一起被发送至客户端浏览器,浏览器根据服务器返回的响应状态码,就能知道这次 HTTP 请求的结果是成功还是失败了

3. 状态码的组成及分类 

HTTP 协议详细分析_第15张图片

2** 成功相关的响应状态码: 

HTTP 协议详细分析_第16张图片

3** 重定向相关的响应状态码 :

HTTP 协议详细分析_第17张图片

4** 客户端错误相关的响应状态码: 

HTTP 协议详细分析_第18张图片

5**服务端错误相关的响应状态码: 

HTTP 协议详细分析_第19张图片


HTTP 协议详细分析_第20张图片

你可能感兴趣的:(前后端交互,http,网络协议,网络,服务器,java)