首页 > 其他分享 >【前后端】HTTP网络传输协议

【前后端】HTTP网络传输协议

时间:2024-12-21 23:00:09浏览次数:13  
标签:浏览器 请求 GET http 网络 传输 HTTP POST 响应

近期更新完毕,建议关注、收藏!

http请求

在这里插入图片描述

  • URL 严格意义上应该是URI
    在这里插入图片描述
  • http or https
    http不加密不安全;https加密协议(公网使用)
    http端口号80 https端口号443
  • GET or POST
    GET和POST是HTTP请求的两种基本方法.
    因为POST需要两步,时间上消耗的要多一点,看起来GET比POST更有效。但是:
    1.GET与POST都有自己的语义,不能随便混用。
    2.据研究,在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。
    3.并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。
GETPOST
GET把参数包含在URL中POST通过request body传递参数,抓包才能看到
GET在浏览器回退时是无害的POST会再次提交请求
GET请求会被浏览器主动cachePOST不会,除非手动设置
GET产生的URL地址可以被BookmarkPOST不可以
GET请求只能进行url编码POST支持多种编码方式
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
GET请求参数会被完整保留在浏览器历史记录里POST中的参数不会被保留。
GET请求在URL中传送的参数是有长度限制没有
对参数的数据类型,GET只接受ASCII字符没有限制
GET产生一个TCP数据;对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);POST产生两个TCP数据包;对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

(大多数)浏览器通常都会限制url长度在2K个字节,而(大多数)服务器最多处理64K大小的url,超过的部分,恕不处理。

  • 请求
    在这里插入图片描述
    请求头:描述客户端的属性信息
  • 响应
    响应行:协议/协议版本号 响应状态码 状态描述
    响应头:服务器的属性信息
    响应体:服务器返回结果
    在这里插入图片描述
  • 响应状态码
    2xx成功
    3xx重定向
    4xx客户端错误
    5xx服务器错误
  • HTTP请求方法有GET, POST, PUT, DELETE等等
    GET: Retrieve data from the server.
    POST: Send data to the server to create a new resource.
    PUT or PATCH: Update an existing resource on the server.
    DELETE: Remove a resource on the server.
  • 底层实现
    HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP
  • 查看时间花费
    在这里插入图片描述
    overall elapsed指页面打开的时间 页面响应时间

抓包工具

  1. 用浏览器中的f12检查元素也可以抓包,只是不能设置断点。
    no throttling设置弱网
  2. fiddler是一个http协议调试代理工具,能够记录并检查经过这台电脑的所有http通讯。
    在这里插入图片描述
    fiddler就是一个代理服务器放在电脑和服务器之间,可以进行拦截。
  • 应用场景
    定位前后端bug
    弱网测试(网络差的时候测试有没有问题)
    绕过界面限制直接测试服务器
  • 使用方法
    • 过滤器
      filters->use filters
      show only following hosts 输入hosts 域名或Ip地址都行
      actions->run filterset now
      在这里插入图片描述
    • 删除所有数据
      在这里插入图片描述
      下方终端输入cls
    • 查看数据
      在这里插入图片描述
    • 弱网测试
      在这里插入图片描述
      在这里插入图片描述
      这里就是每上传/下载1kb的所需时间(延迟时间),可以自行设置,分别是上行和下行,单位ms
      在这里插入图片描述
      在这里插入图片描述
      下图表示开启了延迟
      在这里插入图片描述
    • 设置断点
      在这里插入图片描述
      before requests: 请求走到代理服务器fiddler时就会被拦截下来,不会发给服务器。
      在这里插入图片描述
      点击run to completion 就会取消掉拦截。
      拦截下来可以改请求、响应的内容
      在这里插入图片描述
  • 设置弱网可能出现的异常
    上传文件时进度卡住不动
    登陆不上货登陆后掉线
    响应过程中页面控件可点击,导致崩溃
    搜索不响应,多次点击后结果显示总在刷新被替换

怎么解决?先点击这个黄色部分,再改数据在这里插入图片描述

  • 防篡改 这个是一个很重要的安全问题。可以用这个看能不能改

标签:浏览器,请求,GET,http,网络,传输,HTTP,POST,响应
From: https://blog.csdn.net/qq_41775119/article/details/144545696

相关文章

  • linux用iftop实时查看软件应用进程网络占用情况
    步骤1:查看网卡名称1.使用ifconfig命令查看网卡信息:ifconfig你会看到类似以下的输出:eth0Linkencap:EthernetHWaddr00:11:22:33:44:55inetaddr:192.168.31.1Bcast:192.168.31.255Mask:255.255.255.0UPBROADCASTRUNNINGMULTICA......
  • VC++ Windows Socket 传输文件
    服务端//服务端#include<cstdio>#include<cstdlib>#include<WinSock2.h>#include<Ws2tcpip.h>//inet_pton函数所在头文件#pragmacomment(lib,"ws2_32.lib")//加载ws2_32.dll#defineBUF_SIZE1024intmain(){ //检查文件是否存在 con......
  • //需求//某系统的数字密码(大于0),比如1983,采用加密方式进行传输;//规则如下:先得到每位数
    //需求//某系统的数字密码(大于0),比如1983,采用加密方式进行传输;//规则如下:先得到每位数,然后每位数都加上5,再对10求余,最后将所有数字反转,得到一串新数;importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){//1.通过输入......
  • DDCA —— 网络、数据中心与可靠性
    1.Ring每个节点连接到一个\(3\times3\)switch,该switch负责在节点和其两个相邻节点之间传递消息。实际上,它是一个重复的总线:可以同时传输多条消息。缺点:二等分带宽为2,平均需要\(N/2\)跳。2.拓扑示例3.k-aryd-Cubek-aryd-cube是一个d维数组,每个维度包含k......
  • MATLAB图卷积神经网络GCN处理分子数据集节点分类研究
    全文链接:https://tecdat.cn/?p=38570本文主要探讨了如何利用图卷积网络(GCN)对图中的节点进行分类。介绍了相关的数据处理、模型构建、训练及测试等环节,通过对分子数据集的操作实践,展示了完整的节点分类流程,并对模型的效果进行了多方面评估,旨在为相关领域的研究与应用提供参考。图......
  • 【网络知识系列】什么是下一代DNS?
    什么是下一代DNS在新质互联网发展浪潮下,为加快互联网基础资源服务的体系化建设,ZDNS提出,发展下一代DNS,重塑网络根基。DNS已从传统域名解析,发展成为下一代DNS。可以从三个层面来分别认识:Domain、Name、System。D(Domain)网络空间,域名系统是互联网治理的重要抓手,是构建网络空间命运共......
  • 【甲方安全】工业行业+工业无线网络技术
    摘要工业互联网体系融合了新一代信息通信技术与工业经济,推动了工业数字化、网络化、智能化转型,其中网络体系是基础。工业无线网络作为其重要组成部分,具有灵活部署的特性,能适应复杂的工业环境,为工业互联网的构建提供基础。深入探讨了工业无线网络技术在工业互联网中的应用,分析了......
  • ktor HttpClient CIO
    implementation("io.ktor:ktor-client-cio:3.0.3")packageorg.exampleimportio.ktor.client.HttpClientimportio.ktor.client.engine.cio.*importio.ktor.client.plugins.*importio.ktor.client.request.*importio.ktor.client.statement.*importkot......
  • 深度学习——循环神经网络(八)
    序列模型训练生成数据序列importmatplotlib_inlineimporttorchimporttorch.nnasnnimportd2l.torchasd2limportmatplotlib.pyplotaspltimportnumpyasnpT=1000time=torch.arange(1,T+1,1,dtype=torch.float32)x=torch.sin(0.01*time)......
  • 计算机网络基础图解
    注:本文为来自猿小许的“计算机网络”相关系列文章合辑。一、计算机网络概述猿小许于2021-06-0318:39:47发布一、计算机网络的概念1.1计算机网络概念计算机网络:是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源......