http网络传输协议

目录

一、http是什么?

二、http协议的主要内容

2.1、三次握手

2.2、四次挥手

2.3、请求报文

4、响应报文

2.5、http状态码


附:本文只是简单的理解一下http协议主要的内容和使用方法

有兴趣的小伙伴可以进入此网站 https://www.runoob.com/http/http-status-codes.html(http教程的网址)具体了解学习http协议

一、http是什么?

HTTP: HyperText Transfer Protocol超文本传输协议,是互联网上应用最为广泛的有线网络传输协议的一种,是客户端和服务器进行传输内容时遵守的规则规范。

http协议是非常复杂的计算机程序,我们不需要刻意的去研究http协议的源代码,只需要研究http协议主要的内容和使用方法,为了解ajax技术的执行原理。

二、http协议的主要内容

 三次握手、四次挥手、请求报文、响应报文、http协议状态码

2.1、三次握手

三次握手是http协议的一部分,通过TCOP/IP协议完成的,在客户端和服务器正式创建链接之前执行执行的程序内容

为了确保客户端和服务器都能正常工作

客户端 需要 确定

            客户端 可以正常的 接收 发送 请求

            服务器 可以正常的 接收 发送 请求

 服务器 需要 确定

            客户端 可以正常的 接收 发送 请求

            服务器 可以正常的 接收 发送 请求

三次握手的步骤过程

1、客户端 给 服务器 发送请求

      客户端可以确定

             客户端 可以正常 发送请求

      服务器可以确定

             客户端 可以正常 发送请求

             服务器 可以正常 接收请求

2、服务器 给 客户端 发送请求

      服务器 可以确定

             服务器 可以正常 发送请求

      客户端 可以确定

             客户端 可以正常 接收请求

             服务器 可以正常 发送请求

             服务器 可以正常 接收请求

3、客户端 给 服务器 发送请求

      服务器 可以确定

             客户端可以正常 接收请求        

2.2、四次挥手

四次挥手是在客户端和服务器正式断开链接前执行http协议程序,通过TCP/IP协议完成的

为了确保客户端和服务器正常的断开连接

四次挥手的步骤过程

1、客户端 向 服务器 发送请求

      客户端 告诉 服务器,客户端要断开链接了

2、服务器 向 客户端 发送请求

      服务器 告诉 客户端,服务器知道客户端要断开连接了

      服务器 也准备关闭了

      如果 客户端 要终止 断开连接操作,客户端 会立即给服务器返回一个终止 断开连接的请求,如果 服务器 没有 接收到 客户端终止断开连接请求,服务器会继续执行 第三次挥手

3、服务器 向 客户端 发送请求

      服务器 告诉 客户端,服务器已经正式关闭了,服务器 不会再 发送请求了,但是 服务器可以 继续 接收请求

4、客户端 向 服务器 发送请求

      客户端 告诉 服务器,客户端知道服务器已经关闭了,客户端也关闭了,客户端 不再 接收请求,但是 客户端 可以继续 发送请求

最终状态

      客户端 关闭了,不再接收请求,但是可以发送请求

      服务器 关闭了,不再发送请求,但是可以接收请求

2.3、请求报文

请求报文是客户端向服务器发送请求携带参数数据时,执行的http协议程序

请求报文内容:请求行、请求头、请求空行、请求体,在浏览器中,会显示这个4个部分的主要内容

1、请求行

       POST /demo/demo.php HTTP/1.1

       POST 请求方式

       /demo/demo.php 请求地址

       HTTP/1.1 请求协议 和 协议版本

2、请求头

       Host: 127.0.0.1  请求 地址/域名

       Origin: http://127.0.0.1  请求 协议 和 地址/域名

       Referer: http://127.0.0.1/demo/demo.html  完整的请求地址

       User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36  浏览器版本信息

       Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9  期望的后端程序响应文件格式

       Content-Type: application/x-www-form-urlencoded  post方式都有的请求头格式设定

3、请求空行

        只是存在于 http请求报文源代码中的一个空行,用于区分 请求头 和 请求体 代码,只存在于 http请求报文源代码中,浏览器中不会显示

4、请求体

         post方式才有请求体,用于携带参数数据,get方式没有请求体,通过 浏览器地址栏携带参数

         但是浏览器get方式也会显示请求体

2.4、响应报文

响应报文是服务器向客户端响应数据时,执行的http的http协议程序

响应报文的组成:响应行、响应头、响应体

1、响应行

      HTTP/1.1 200 OK

      HTTP/1.1  请求协议和协议版本

      200  http状态码

      OK  http转态描述

2、响应头

      Server: nginx/1.15.11  服务器器软件和版本

      Date: Tue, 08 Feb 2022 08:08:26 GMT  服务器时间 世界标准时间

      Content-Type: text/html; charset=UTF-8  服务器响应体格式和编码

      X-Powered-By: PHP/7.3.4  后端程序和版本

3、响应体

      {"name":"\u5f20\u4e09","age":18,"sex":"\u7537"}

      后端程序输出的内容 就是 响应体内容

2.5、http状态码

所谓的http状态码是使用数字表示http请求的状态

100 - 199

        客户端和服务器建立连接

        等待下一步的操作

200 - 299

        请求结束并且请求成功

300 - 399

        重定向请求

        需要从A到B,不是直接从A到B,而是先从A到C,再从C到B,称为重定向请求

400 - 499

        请求执行失败,错误的原因是客户端

500 - 599

        请求执行失败,错误的原因是服务器

猜你喜欢

转载自blog.csdn.net/weixin_58448088/article/details/122828469