【88.4】HTTP权威指南
什么是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权威指南相关推荐
- Android开发权威指南(第2版)新书发布
<Android 开发权威指南(第二版)>是畅销书<Android开发权威指南>的升级版,内容更新超过80%,是一本全面介绍Android应用开发的专著,拥有45 章精彩内容供 ...
- JavaScript 权威指南-学习笔记(一)
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! JavaScript 权威指南-学习笔记 ...
- 《Hadoop权威指南》第二章 关于MapReduce
<Hadoop权威指南>第二章 关于MapReduce 目录 使用Hadoop来数据分析 横向扩展 注:<Hadoop权威指南>重点学习摘要笔记 1. 使用Hadoop来数据分 ...
- 《Netty权威指南》
<Netty权威指南> 基本信息 作者: 李林锋 出版社:电子工业出版社 ISBN:9787121233432 上架时间:2014-5-29 出版日期:2014 年6月 开本:16开 页码 ...
- java 权威指南_Java 8:CompletableFuture权威指南
java 权威指南 Java 8即将到来,因此该学习新功能了. 尽管Java 7和Java 6只是次要的发行版,但版本8将向前迈出一大步. 也许太大了? 今天,我将为您详细介绍JDK 8中的新抽象– ...
- Java 8:CompletableFuture的权威指南
Java 8即将到来,因此该学习新功能了. 尽管Java 7和Java 6只是次要的发行版,但版本8将向前迈出一大步. 也许太大了? 今天,我将为您详细介绍JDK 8中的新抽象– Completabl ...
- netty权威指南笔记-以回车换行结尾的消息如何处理半包问题
概述 TCP底层会发生粘包和拆包,这个是TCP的一个特性.为了减少网络数据传输的次数,TCP总是希望让网络数据到达一定量级的时候才将数据发送出去,而不是缓存区一有数据就马上发送数据. TCP底层会根据 ...
- Arduino 机器人权威指南pdf
下载地址:网盘下载 内容简介 · · · · · · 你想制作有趣的机器人吗?你想让机器人沿着指定的路线行走吗?你想让机器人帮助你清扫庭院吗?你想让机器人载着你逛街吗?那么请选择<Arduin ...
- jQuery权威指南(第2版)pdf
下载地址:网盘下载 作者简介 · · · · · · 资深Web技术专家,有10余年开发经验,是国内较早专业从事Web开发的一线技术人员和培训讲师.长期致力于HTML 5.JavaScript.CS ...
- ActionScript 3.0权威指南
ActionScript 3.0权威指南 作者: 乔珂 译者: 无 定 价: 89.00元(含光盘1张) 页码: 840 出版时间: 2008-07 ISBN号: 97871210 ...
最新文章
- Hadoop集群上使用JNI,调用资源文件
- iOS逆向(8)-Monkey、Logos
- java基于udp实现键盘录入聊天
- 3Dslicer1:入门及基本控制
- mybatis一级缓存二级缓存
- 8.MySQL 数据操作 DML
- python all 函数_Python all()函数
- Springboot属性配置绑定
- html实现多选框传值,解决Django中checkbox复选框的传值问题
- 用计算机开方左右键,科学计算器开方怎么用(科学计算器开根号)
- 给小朋友讲故事——科学课,地球,太阳和月亮
- 推荐几款超好用的内网穿透神器,总有一款适合你!
- 【代码猴子-培养正确的编程态度和方法】--《编程匠艺》
- 第一周校内OI模拟赛总结(day1day2)
- 【JavaScript】9.基本引用类型-原始值包装类型
- python中单位转换_Python字节单位转换实例
- UWA DAY 2021 议程亮相
- Wireshark各版本下载地址
- mac Finder FTP 不可以上传和编辑文件
- Word 2016 撰写论文(2): 交叉引用