Linux高性能服务器编程——ch4笔记

news2024/11/20 8:30:13

第4章 TCP/IP 通信案例:访问 Internet 上的Web 服务器

4.1 实例总图

image.png

4.2 部署代理服务器

客户端和目标服务器之间可能存在多个代理服务器。
正向代理:要求客户端自己设置代理服务器的地址。
反向代理:设置在服务器端。
image.png
透明代理:设置在网关上,可以看作正向代理的特殊情况。
192.168.1.0/24:CIDR(无类域间路由)表示法,前面是IP地址,后面是子网掩码中1的位数,等价于192.168.1.0/255.255.255.0。通过squid部署代理服务器。

4.3 使用tcpdump抓取传输数据包

使用wget命令:
1)代理服务器访问DNS服务器查询域名对应IP地址;
2)代理服务器查询路由器MAC地址的ARP请求和应答;
3)客户端和代理服务器之间HTTP通信;
4)代理服务器和Web服务器之间HTTP通信。

4.4 访问DNS服务器

image.png
根据路由策略,目标IP地址(DNS服务器IP地址)匹配路由表中的相应路由项,之后该IP数据报通过路由器进行转发。如果ARP高速缓存没有记录相应的映射,那么客户端需要发起一个ARP广播,查询路由器IP地址的MAC地址。最终,以太网驱动程序将IP数据报封装成以太网帧发送给路由器。
IP头部的源端IP地址(客户端)和目的端IP地址(这里指DNS)在转发过程中是始终不变的(一种例外是源路由选择),但帧头部的源端物理地址和目的端物理地址在转发过程中则是一直在变化的。

4.5 本地名称查询

通过主机名来访问LAN上的机器,可通过本地的静态文件获取IP地址。
保存在 /etc/hosts 配置文件中。
当wget访问服务器时,先读取环境变量http_proxy,若未被阻止使用代理,则通过指定的代理服务器来访问Web服务,但是环境变量中包含主机名,因此首先读取 /etc/hosts 配置文件,解析主机名对应的IP地址,未找到则求助DNS。
顺序可以通过 /etc/host.conf 自定义。

4.6 HTTP通信

HTTP请求
image.png
image.png
除POST方法外,其他方法多次连续发送同一请求具有完全相同的效果,即等幂。
短连接:同一客户的多个连续的HTTP请求不能共用同一个TCP连接,必须建立新的连接。(Connection:close)
长连接:多个请求可以使用同一个TCP连接。(Connection:keep-alive)
HTTP应答
image.png
image.png
HTTP协议是无状态的,每个请求之间没有上下文关系,如果服务器处理后续HTTP请求时需要用到前面的HTTP请求的相关信息,客户端必须重传这些信息。
Cookie:保持HTTP连接状态,客户端每次向服务器发送请求的时候都需要带上这些信息(通过 HTTP 请求的头部字段“Cookie”)。这样服务器就可以区分不同的客户了。基于浏览器的自动登录就是用Cookie实现的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1109286.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript从入门到精通系列第二十一篇:JavaScript中的原型对象详解

文章目录 前言 一:原型对象 1:什么是原型对象 2:原型对象的作用 3:通过原型对象实现工厂方法 二:原型对象咋说 1:in和原型对象 2:hasOwnProperty()函数 3:hasOwnProperty()来…

armbian安装gcc、g++

文章目录 安装GCC安装G 安装GCC 打开终端&#xff0c;更新软件包列表&#xff1a; sudo apt update安装GCC&#xff1a; sudo apt install gcc如果需要安装特定版本的GCC&#xff0c;可以使用以下命令&#xff1a; sudo apt install gcc-<version> # sudo apt install g…

苹果手机怎么查找对方手机位置?学会这2个方法足够了!

查找功能是什么&#xff1f;相信使用苹果手机的用户都不陌生。苹果手机的查找功能可以帮助您精准定位设备的位置。当您的手机丢失且无法找回时&#xff0c;那么查找功能就可以发挥它的用处了。 定位自己的手机&#xff0c;大家都知道怎么做。那么&#xff0c;苹果手机怎么查找…

关于opencv的contourArea计算方法

cv::contourArea计算的轮廓面积并不等于轮廓点计数&#xff0c;原因是cv::contourArea是基于Green公式计算 老外的讨论 github 举一个直观的例子&#xff0c;图中有7个像素&#xff0c;橙色为轮廓点连线&#xff0c;按照contourArea的定义&#xff0c;轮廓的面积为橙色所包围…

如何调整模型缩放比例

1、缩放模型的几种方法 在3D建模软件中&#xff0c;通常有几种方式可以缩放模型。以下是两种常见的方法&#xff1a; 使用缩放工具&#xff1a;大多数3D建模软件都提供了缩放工具&#xff0c;可以通过选择模型并使用该工具来进行缩放。通常&#xff0c;您可以在工具栏或菜单中…

vivado 脚本使用——loogarch指令集 实验exp6

首先从Window-tcl console 调出终端 然后执行进入指定目录 也就是run_vivado 目录 然后打开Tools——Run Tcl script&#xff0c;执行create_project.tcl文件&#xff0c;静待完成。

1、Flowable基础

Flowable是BPMN的一个基于java的软件实现&#xff0c;不过Flowable不仅仅包括BPMN&#xff0c;还有DMN决策表和CMMN Case管理引擎&#xff0c;并且有自己的用户管理、微服务API等一系列功能&#xff0c;是一个服务平台。 官方手册&#xff1a;https://tkjohn.github.io/flowab…

21款奔驰GLS400升级小柏林音响 无损音质 无损安装

小柏林之声音响是13个喇叭1个功放&#xff0c;功率是590W&#xff0c;对应普通音响来说&#xff0c;已经是上等了。像著名的哈曼卡顿音响&#xff0c;还是丹拿音响&#xff0c;或者是BOSE音响&#xff0c;论地位&#xff0c;论音质柏林之声也是名列前茅。 升级小柏林音响&…

2023年8月PMP考试成绩出炉|微思通过率95%以上

热烈祝贺一大波微思学员通过 PMP 认证考试 PMP 认证课程介绍 部分学员成绩单 PMP课程涵盖了项目整合管理、项目范围管理、项目进度管理、项目资源管理、项目采购管理等内容。 国际注册项目管理师(PMP) 证书是项目管理领域含金量最高的职业资格证书&#xff0c;获得该资质是…

oracle 表空间详解以及配置操作

Oracle 数据库是由若干个表空间构成的。任何数据库对象在存储时都必须存储在某个 表空间中。表空间对应于若干个数据文件&#xff0c;即表空间是由一个或多个数据文件构成的。 1、常用表空间&#xff1a; 系统表空间 (system tablespace) 是每个 Oracle 数据库都必须具备的。…

抖音小程序制作源码系统 带完整搭建教程

在当今社交媒体时代&#xff0c;抖音作为一款备受欢迎的短视频应用&#xff0c;已经拥有了庞大的用户群体。与此同时&#xff0c;抖音小程序也成为了商家和开发者们关注的热点。今天小编就来给大家介绍一款抖音小程序制作源码系统&#xff0c;五分钟确实创建一个小程序。 系统特…

3D教程 | 在3D可视化引擎HOOPS Visualize中如何调整场景灯光亮度

在HOOPS Visualize场景中使用远光时&#xff0c;您可能需要调整亮度&#xff0c;并在最暗和最亮的面孔之间获得更好的对比度。 HOOPS中文网查HOOPS中文网查 太亮了 将模型的镜面反射值更改为灰色以降低亮度&#xff0c;或更改为黑色以消除面上的火花&#xff1a; ModelKey.Ge…

自2023年下半年起,软考各级别、各资格、各科目考试方式均由纸笔考试改革为计算机化考试,软考的所有考试科目均改为机考

自2023年下半年起&#xff0c;软考各级别、各资格、各科目考试方式均由纸笔考试改革为计算机化考试&#xff0c;软考的所有考试科目均改为机考。包括高项的综合知识、案例分析、论文&#xff0c;所有考试科目均改为在计算机上作答。 2023年下半年软考实行机考后&#xff0c;关…

企业文件传输使用网盘好还是大文件传输软件好?

在当今的信息化时代&#xff0c;企业之间的沟通和协作离不开文件的传输。无论是内部的工作报告、合同文档、设计图纸&#xff0c;还是外部的客户资料、产品介绍、项目方案&#xff0c;都需要通过网络进行快速、高效、安全的发送和接收。那么&#xff0c;企业在进行文件传输时&a…

[python 刷题] 19 Remove Nth Node From End of List

[python 刷题] 19 Remove Nth Node From End of List 题目&#xff1a; Given the head of a linked list, remove the nth node from the end of the list and return its head. 题目说的是就是移除倒数第 n 个结点&#xff0c;如官方给的案例&#xff1a; 这里提供的 n 就是…

图像分块及拼接(二)python代码

图像分块及拼接 问题python 代码效果图 问题 图像分块及拼接代码中对图像分块不均匀&#xff0c;本文给出的代码&#xff0c;图像分块大小相同。改进方法&#xff1a;图像分块不均匀时&#xff0c;填充事情shape相同 python 代码 import numpy as np import cv2 as cv impor…

一百九十一、Flume——Flume配置文件各参数含义

一、目的 在实际项目的开发过程中&#xff0c;不同Kafka主题的数据规模、数据频率&#xff0c;需要配置不同的Flume参数&#xff0c;而这一切的调试、配置工作&#xff0c;都要建立在对Flume配置文件各参数含义的基础上 二、Flume各参数及其含义 &#xff08;一&#xff09;…

深入探究音视频开源库 WebRTC 中 NetEQ 音频抗网络延时与抗丢包的实现机制

目录 1、引言 2、什么是NetEQ&#xff1f; 3、NetEQ技术详解 3.1、NetEQ概述 3.2、抖动消除技术 3.3、丢包补偿技术 3.4、NetEQ概要设计 3.5、NetEQ的命令机制 3.6、NetEQ的播放机制 3.7、MCU的控制机制 3.8、DSP的算法处理 3.9、DSP算法的模拟测试 4、NetEQ源文件…

【发表案例】IF4+,2区SCI期刊,2个月零3天录用,11天见刊!网络安全领域均可

计算机类SCIE 【期刊简介】IF&#xff1a;4.0-5.0&#xff0c;JCR2区&#xff0c;中科院3区 【检索情况】SCIE 在检&#xff0c;正刊 【征稿领域】提高安全性和隐私性的边缘/云的智能方法的研究&#xff0c;如数字孪生等 【截稿日期】5篇版面 录用案例&#xff1a;2个月零…

VTK 标注类Widget 文字标注 vtkCaptionWidget

目录 Part1: 简介 Part2: 效果 Part3: example Part1: 简介 vtkCaptionWidget:用一个带线框及箭头的文本信息来标注某一对象&#xff1b; 在可视化程序中&#xff0c;经常会对某个对象做一些标注说明&#xff1b; 如&#xff0c;在医学图像诊断中&#xff0c;常常会手动标注…