当前位置: 首页 > news >正文

网络协议与响应码

http:超文本(不止文本)传输协议,底层是tcp/ip

        get,post,put,delete

        GET把参数包含在 URL 中, POST 通过 request body 传递参数

        请求都是tcp链接,HTTP规定,当执行GET请求的时候,要给汽车贴上GET的标签(设置method为GET),而且要求把传送的数据放在车顶上(url中)以方便记录。如果是POST请求,就要在车上贴上POST的标签,并把货物放在车厢里。当然,你也可以在GET的时候往车厢内偷偷藏点货物,但是这是很不光彩;也可以在POST的时候在车顶上也放一些数据,让人觉得傻乎乎的。HTTP只是个行为准则,而TCP才是GET和POST怎么实现的基本。

        运输公司。不同的浏览器 (发起http请求)和服务器(接受http请求)就是不同的运输公司。虽然理 论上,你可以在车顶上无限的堆货物(url中无限加参数)。但是运输公司 可不傻,装货和卸货也是有很大成本的,他们会限制单次运输量来控制风 险,数据量太大对浏览器和服务器都是很大负担。业界不成文的规定是, (大多数)浏览器通常都会限制url长度在2K个字节,而(大多数)服务器 最多处理64K大小的url。超过的部分,恕不处理。如果你用GET服务,在 requestbody偷偷藏了数据,不同服务器的处理方式也是不同的,有些服务 器会帮你卸货,读出数据,有些服务器直接忽略,所以,虽然GET可以带 request body,也不能保证一定能被接收到哦。

        GET和 POST 还有一个重大区别,简单的说: GET产生一个 TCP 数据包; POST 产生两个 TCP 数据包。 长的说: 对于GET 方式的请求,浏览器会把 http header data 一并发送出去,服务器
响应 200 (返回数据); 而对于POST ,浏览器先发送 header ,服务器响应 100 continue ,浏览器再 发送data ,服务器响应 200 ok (返回数据)。 也就是说,GET 只需要汽车跑一趟就把货送到了,而 POST 得跑两趟,第一 趟,先去和服务器打个招呼“ 嗨,我等下要送一批货来,你们打开门迎接 我” ,然后再回头把货送过去。 因为POST 需要两步,时间上消耗的要多一点,看起来 GET POST 更有效。
        因此Yahoo 团队有推荐用 GET 替换 POST 来优化网站性能。但这是一个坑!跳
入需谨慎。为什么?
        1. GET与 POST 都有自己的语义,不能随便混用。
        2. 据研究,在网络环境好的情况下,发一次包的时间和发两次包的时间差 别基本可以无视。而在网络环境差的情况下,两次包的TCP 在验证数据包完整性上,有非常大的优点。
        3. 并不是所有浏览器都会在 POST 中发送两次包, Firefox 就只发送一次。

https:就是http的封装,加上了ssl证书验证,安全版

dns:域名服务器,先在浏览器找缓存,操作系统找(要配置,否则不会缓存),本地域名服务器找,上级一层层往上找

tcp/ip:应用层,运输层,网络层,数据链路层,物理层

osi:应用层,表示层,会话层,运输层,网络层,数据链路层,物理层

响应码;

        200成功

        302重定向

        404路径错误/资源不存在

        500服务器内部错误

http://www.lryc.cn/news/253916.html

相关文章:

  • 彻底删除VsCode配置和安装过的插件与缓存
  • 【XILINX】ISE chipscope出现错误 Can‘t load jre bin client jvm.dll
  • 并发编程(已整理,已废弃)
  • 第一篇:MongoDB的安装、启动、关闭、链接shell
  • Python爬虫之重放攻击详解
  • 构建一个语音转文字的WebApi服务
  • 在开发软件KEIL MDK和IAR开发工程里面打印行号、文件名、函数名、时间
  • springboot(ssm健身器材用品网 健身用品商城Java(codeLW)
  • idea git合并推送分支
  • AntDesignBlazor示例——创建列表页
  • 微信小程序模板选择指南:如何找到靠谱的平台?
  • es常用查询编辑
  • 记录 | linux静态库和动态库的理解
  • ParBFT: Faster Asynchronous BFT Consensus with a Parallel Optimistic Path
  • java小工具util系列3:JSON转实体类对象工具
  • MySQL:找回root密码
  • 计算机网络扫盲(1)——因特网
  • C语言 if语句有无(;)分号问题
  • Python-列表详解(列表的创建、用法、遍历、注意事项、特点等)
  • 【langchain实战】开源项目-RasaGPT
  • 在线yml和properties相互转换
  • 数据收集与处理(爬虫技术)
  • C# 雪花算法生成Id工具类
  • 什么是通配符证书?
  • 西南科技大学模拟电子技术实验五(集成运算放大器的应用设计)预习报告
  • LeetCode 每日一题 Day 4
  • 服务器数据恢复—重装系统导致XFS文件系统分区丢失的数据恢复案例
  • Scala 从入门到精通
  • 华为OD机试 - 九宫格按键输入 - 逻辑分析(Java 2023 B卷 200分)
  • leetcode:225. 用队列实现栈