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
请求执行失败,错误的原因是服务器
http网络传输协议相关推荐
- php上传报文,PHP-02.文件上传、php保存/转移上传的文件、常见的网络传输协议、请求报文及属性、响应报文及属性...
关系数组 array("key"=>"value",...) ; get没有数据大小的限制 post上传大小没有限制 不指定上传方式,默认是get 文件上 ...
- PHP-02.文件上传、php保存/转移上传的文件、常见的网络传输协议、请求报文及属性、响应报文及属性...
关系数组 array("key"=>"value",...) ; get没有数据大小的限制 post上传大小没有限制 不指定上传方式,默认是get 文件上 ...
- ProtoBuf(protocol buffer) 网络传输协议
ProtoBuf(protocol buffer) 网络传输协议 转自:http://blog.csdn.net/wenyiqingnianiii/article/details/52741312 P ...
- protobuf网络传输协议的优缺点
为什么使用protobuf? protobuf常使用于作为C/S之间的数据传输的序列化工具,可以使用protobuf实现rpc框架的通信传输. 对于App网络传输协议,我们比较常见的.可选的,有三种, ...
- ajax,HTTP原理 : 网络传输协议,网页从输入url到渲染的流程,函数防抖和节流
一. 前后端交互流程 1.服务器 : 提供某种服务器的机器(计算机) qq音乐:音频服务器 , 迅雷:文件服务器 , qq邮箱:邮件服务器,爱奇艺:视频服务器,谷歌:web服务器 2. 前端 访问 服 ...
- 网络传输协议概念和HTTP协议
网络传输协议概念 网络传输协议或简称为传送协议,是指计算机通信或网络设备的共同语言.现在最普及的计算机通信为网络通信,所以"传送协议"一般都指计算机通信的传送协议,如:TCP/IP ...
- 提速 30%!腾讯TQUIC 网络传输协议
作者:腾讯 sTGW-TQUIC 腾讯sTGW如何助力核心业务用户登录耗时降低30%,下载场景500ms内请求成功率从HTTPS的60%提升到90%,移动端APP在弱网.跨网场景下同样取得媲美正常网络 ...
- KCP-快速的可靠网络传输协议
KCP简介 KCP是一个快速可靠的协议,能以比 TCP浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果.纯算法实现,并不负责底层协议(如UDP)的收发,需 ...
- 网络传输协议原理透析
网上对OSI参考模型的讲解比较多,但是看起来总还是没法有个完整的记忆. 为了全面透析网络传输,遂总结这篇笔记,留后续查阅. 名词解释: 开放式系统互联通信参考模型(英语:Open System Int ...
- FTP,SFTP,HTTP,HTTPS网络传输协议
1.FTP FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输.同时,它也是一个 ...
最新文章
- j2ee与mysql乱码过滤_mysql 在 j2ee中配置的乱码问题处理
- 蚂蚁海图切片工具linux版本,Web海图服务软件 - 海图在线
- [蓝桥杯2016初赛]四平方和-数论+枚举
- JDK 8中的Oracle Drops Collection文字
- 因果关系固定搭配知识库项目CausalCollocation
- mvc+ef中比较数据
- windows效率工具,翻译软件QTranslate
- 布尔运算,二进制和门电路
- python两个dataframe求差集_spark计算两个DataFrame的差集、交集、合集
- nginx配置ssl证书的方法
- IT书籍汇总下载(python_c++_java_android_网络安全)等-持续更新
- 教育部计算机考研大纲,2021考研计算机大纲计算机组成原理部分考查内容
- Python百度指数抓取 一键生成指数信息导出到txt文件,制作可视化动态图表
- Pyton爬虫实现豆瓣登陆
- 华中科技大学计算机视觉张朋,计算机视觉与深度学习前沿研讨会圆满举办
- 国际服服务器怎么换账号吗,战争雷霆国际服怎么切换账号 | 手游网游页游攻略大全...
- Django开源项目
- eplan和西门子plc的对接_彻底搞定西门子1200PLC之通讯篇
- JavaScript实现React实现网页转换成图片截屏下载
- mysql 小版本直接升级
热门文章
- 3.第一个HelloMaven/快速入门
- 使用 :after伪元素撑开 div
- HDU 1422 重温世界杯
- twrp gui/actions.cpp 中的功能实现 tw_action ,tw_action_param ,第二章
- Silverlight数据驱动模式探索系列 (1)已知列数的DataGrid绑定
- 深度学习图像分类(十四): EifficientNet系列(V1, V2)
- html文件调整表格边框的属性,css怎么设置表格边框?
- AndroidManifest中android:label与第三方库冲突问题
- Oprofile工具的使用
- 常见排序算法之快速排序