Linux高性能服务器编程(5)HTTP协议详解

文章探讨了Linux环境下,Web服务器如何使用HTTP协议与TCP传输层协议进行通信。代理服务器的角色包括正向代理、反向代理和透明代理,其中反向代理常用于大型网站以提高性能和负载均衡。此外,代理服务器可能提供缓存功能以加速资源访问,HTTP请求方法包括GET、POST、PUT等,其中GET和HEAD等被视为安全方法。
摘要由CSDN通过智能技术生成

Linux高性能服务器编程(5)

Internet上的Web服务器随处可获得,通过浏览器访问任何网站都是在于Web服务器通信。Web服务器之间使用HTTP协议通信。HTTP协议是一种应用层协议,它默认使用的传输层协议是TCP协议。

在与HTTP通信链上,客户端和目标服务器之间通常存在某些中转代理服务器,它们提供对目标资源的中转访问。一个HTTP请求可能被多个代理服务器转发,后面的服务器称为前面服务器的上游服务器。代理服务器按照其使用方式和作用,分为正向代理服务器、反向代理服务器和透明代理服务器。

正向代理要求客户端自己设置代理服务器的地址。客户的每次请求都将直接发送到该代理服务器,并由代理服务器来请求目标资源。如防火墙内的的局域网机器要访问Internet,或者要访问一些被屏蔽的国外网站,需要使用正向代理服务器。

反向代理则被设置在服务器端,因而客户无须进行任何设置。反向代理是指用代理服务器来接收Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从内部服务器上得到的结果返回给客户端。这种情况下,代理服务器对外就表现为一个真实的服务器。各大网站通常分区域设置了多个代理服务器,在不同的地方ping同一个域名可能获得不同的IP地址,这些IP地址实际上是代理服务器的IP地址。下图显示了正向代理服务器和反向代理服务器在HTTP通信链上的逻辑位置。在这里插入图片描述

正向代理服务器和客户端处在同一个逻辑网络中。该逻辑网络可以是一个本地LAN,也可以是一个更大的网络。反向代理服务器和真正的Web服务器也位于同一个逻辑网络中,这通常由提供网站的公司来配置和管理。

透明代理只能设置在网关上。用户访问Internet的数据必然都经过网关,如果在网关是设置代理,则代理对用户来说显然是透明的。透明代理可以看作正向代理的一种特殊情况。

代理服务器通常还提供缓存目标资源的功能(可选),这样用户下次访问同一资源时速度将更快。

请求方法含义
GET申请获取资源,而不对服务器产生任何其他影响
HEAD和GET方法类似,不过仅要求服务器返回头部信息,而不需要传输任何实际内容
POST客户端向服务器提交数据的方法。这种方法会影响服务器:服务器可能根据收到的数据同台创建新的资源,也可能更新原有的资源
PUT上传某个资源
DELETE删除某个资源
TRACE要求目标服务器返回原始HTTP请求的内容。它可用来查看中间服务器(比如代理服务器)对HTTP请求的影响
OPTIONS查看服务器对某个特定URL都支持哪些请求方法。也可以把URL设置为*,从而获得服务器支持的所有请求方法
CONNECT用于某些代理服务器,它们能把请求的连接转化为一个安全隧道
PATCH对某个资源做部分修改
                    |

这些方法中,HEAD、GET、OPTIONS和TRACE被视为安全的方法,因为它们只是从服务器获得资源或信息,而不对服务器进行任何修改。而POST、PUT、DELETE和PATCH则影响服务器上的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值