什么是WEB
WEB 最核心的部分是HTTP。
HTTP 实际上是负责数据请求和相应,真正的数据经由其他的网络层处理。
TCP/IP 网络协议成熟之后,世界上任何设备只要支持TCP/IP 就会成为互联网上的一个终端。

1.3 网络模型

HTTP 是应用层协议,应用层协议是TCP/IP的一部分。
图中©的五层协议也经常被描述成四层协议,应用层、传输层和网络层不变,把“数据链路层”和“物理层”统一称之为“主机到网络层”。
Socket位于TCP/IP协议的传输控制层。

这个协议的流程可以比喻成两个人打电话。
打电话我们怎么打:
首先要先知道对方的电话号码
拨打电话听到“嘟嘟”的声音说明打出去了,
通过电话号选择一条最优的传输路径
最终人的语言通过网卡、电话线传输给了对方。

两台电脑想打电话类似的:
1.首先要先知道对方的 IP地址
2. 确保连接上对方的TCP
3. 通过IP 选择一条最优的传输路径
4.最终通过终端、网络设备传输给对方。

网络协议
TCP 是一种面向连接的、基于字节流的传输层通信协议。在互联网协议簇中,TCP 层位于IP层之上、应用层之下的中间层。
而UDP是基于非连接的。

TCP通道在建立以前,需要三次握手:
    a. 客户端发送一个包含SYN标志的TCP报文, 同步报文指明客户端所需要的端口号和TCP连接的初始序列号,是一种链接请求数据,俗称SYN包。(怎么记忆呢 孙一宁包),请求询问能否建立连接
    b. 服务器收到SYN报文之后,返回一个SYN+ ACK报文,表示客户端请求被接受,TCP初始序列号加1,也就是返回一个(艾克包)
    c.客户端也返回一个确认报文ACK给服务器,同样TCP序列号加1
    d. 如果服务器端没有收到客户端的确认报文ACK,则处于等待状态,将该客户IP加入等待队列,然后轮询发送SYN+ACK报文

三次握手是为了解决网络信道不可靠的问题。
一包数据会拆解成多包发送,这些数据
为了解决丢包问题和乱序问题,tcp连接为每个连接建立了一个发送缓冲区,建立连接的第一个字节的序列号为0.后面每个序列的字节号会加一。发送数据时,从发送缓冲区取出一部分,在其tcp协议头中会附带序列号和长度。接收端接收到报文后,需要回复一个ack包,ack 包 =序列号+长度=下一个包需要发送的起始序列号。这样一发一答的方式能够使发送端数据已经被对方收到。发送端也可以一次发送连续多包数据。接收端只需要回复一次ack就可以了。这样发送端可以切割发送,接收端根据序列号和长度重组。假如丢失了某一段序列号的数据,则接收端可以要求客户端重新发送,tcp不分客户端和服务端,tcp连接是全双工的,

假设客户端主动发起连接关闭请求,客户端需要向服务端发送FIN包。表示要关闭连接,自己使用终止等待状态。服务端向客户端发送ack包,告诉客户端,自己在关闭等待状态。


502 解决方案:可能跟php-fpm的配置有关,调查数据进程是否有大量的locked进程,锁机制是否出问题。
504 网关超时 可能跟服务器的nigx 的配置有关。

405 错误在实际操作过程中,比如在宝塔安装过phpadmin 然后之后,又切换了php版本之后可能就会出现这个问题。

一些状态码

参考书籍:
[1] HTTP 权威指南
[2]深入浅出HTTPS:从原理到实战 蓝色文本来自这本书
[3] 代码精进之路 从码农到工匠 微信读书591 页
[4] 一次完整的HTTP请求过程是怎么样的呢?【图文详解】https://blog.csdn.net/dianxin113/article/details/104351670.

【88.4】HTTP权威指南相关推荐

  1. Android开发权威指南(第2版)新书发布

    <Android 开发权威指南(第二版)>是畅销书<Android开发权威指南>的升级版,内容更新超过80%,是一本全面介绍Android应用开发的专著,拥有45 章精彩内容供 ...

  2. JavaScript 权威指南-学习笔记(一)

    本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! JavaScript 权威指南-学习笔记 ...

  3. 《Hadoop权威指南》第二章 关于MapReduce

    <Hadoop权威指南>第二章 关于MapReduce 目录 使用Hadoop来数据分析 横向扩展 注:<Hadoop权威指南>重点学习摘要笔记 1. 使用Hadoop来数据分 ...

  4. 《Netty权威指南》

    <Netty权威指南> 基本信息 作者: 李林锋 出版社:电子工业出版社 ISBN:9787121233432 上架时间:2014-5-29 出版日期:2014 年6月 开本:16开 页码 ...

  5. java 权威指南_Java 8:CompletableFuture权威指南

    java 权威指南 Java 8即将到来,因此该学习新功能了. 尽管Java 7和Java 6只是次要的发行版,但版本8将向前迈出一大步. 也许太大了? 今天,我将为您详细介绍JDK 8中的新抽象– ...

  6. Java 8:CompletableFuture的权威指南

    Java 8即将到来,因此该学习新功能了. 尽管Java 7和Java 6只是次要的发行版,但版本8将向前迈出一大步. 也许太大了? 今天,我将为您详细介绍JDK 8中的新抽象– Completabl ...

  7. netty权威指南笔记-以回车换行结尾的消息如何处理半包问题

    概述 TCP底层会发生粘包和拆包,这个是TCP的一个特性.为了减少网络数据传输的次数,TCP总是希望让网络数据到达一定量级的时候才将数据发送出去,而不是缓存区一有数据就马上发送数据. TCP底层会根据 ...

  8. Arduino 机器人权威指南pdf

    下载地址:网盘下载 内容简介  · · · · · · 你想制作有趣的机器人吗?你想让机器人沿着指定的路线行走吗?你想让机器人帮助你清扫庭院吗?你想让机器人载着你逛街吗?那么请选择<Arduin ...

  9. jQuery权威指南(第2版)pdf

    下载地址:网盘下载 作者简介  · · · · · · 资深Web技术专家,有10余年开发经验,是国内较早专业从事Web开发的一线技术人员和培训讲师.长期致力于HTML 5.JavaScript.CS ...

  10. ActionScript 3.0权威指南

    ActionScript 3.0权威指南 作者:  乔珂  译者: 无  定 价:  89.00元(含光盘1张)  页码:  840  出版时间:  2008-07  ISBN号:  97871210 ...

最新文章

  1. Hadoop集群上使用JNI,调用资源文件
  2. iOS逆向(8)-Monkey、Logos
  3. java基于udp实现键盘录入聊天
  4. 3Dslicer1:入门及基本控制
  5. mybatis一级缓存二级缓存
  6. 8.MySQL 数据操作 DML
  7. python all 函数_Python all()函数
  8. Springboot属性配置绑定
  9. html实现多选框传值,解决Django中checkbox复选框的传值问题
  10. 用计算机开方左右键,科学计算器开方怎么用(科学计算器开根号)
  11. 给小朋友讲故事——科学课,地球,太阳和月亮
  12. 推荐几款超好用的内网穿透神器,总有一款适合你!
  13. 【代码猴子-培养正确的编程态度和方法】--《编程匠艺》
  14. 第一周校内OI模拟赛总结(day1day2)
  15. 【JavaScript】9.基本引用类型-原始值包装类型
  16. python中单位转换_Python字节单位转换实例
  17. UWA DAY 2021 议程亮相
  18. Wireshark各版本下载地址
  19. mac Finder FTP 不可以上传和编辑文件
  20. Word 2016 撰写论文(2): 交叉引用

热门文章

  1. java 读写 ini 配置文件【IDEA】
  2. Stm32 固件库移植
  3. RDP报表工具v2.3报表使用
  4. python对象销毁(垃圾回收)
  5. ubuntu 安装log4cpp
  6. java+spring+vue基于ssm的员工公寓后勤管理系统
  7. Nikto漏洞扫描工具简介
  8. Android中ListActivity的使用和在ListView中添加图片文字
  9. 快应用如何避免JSON.parse()解析出错
  10. NDS –无法加载数据(解决方案)–如何更新R4内核