baby sword‘s blog baby sword‘s blog
首页
  • java基础
  • java进阶
大数据
  • mysql

    • mysql索引
    • mysql日志
  • redis

    • 单机下的redis
    • 集群下的redis
  • Spring
  • springboot
  • RPC
  • netty
  • mybatis
  • maven
  • 消息队列
  • kafka
  • zookeeper
  • rocketmq
  • 七大设计原则
  • 创建型模式
  • 结构型模式
  • 行为型模式
  • SpringCloud

    • eureka
  • SpringCloud Alibaba

    • nacos
  • 计算机网络
  • 操作系统
  • 算法
  • 个人项目
  • 个人面试面经
  • 八股记忆
  • 工作积累
  • 逻辑题
  • 面试

    • 百度后端实习二面
GitHub (opens new window)

zhengjian

不敢承担失去的风险,是不可能抓住梦想的
首页
  • java基础
  • java进阶
大数据
  • mysql

    • mysql索引
    • mysql日志
  • redis

    • 单机下的redis
    • 集群下的redis
  • Spring
  • springboot
  • RPC
  • netty
  • mybatis
  • maven
  • 消息队列
  • kafka
  • zookeeper
  • rocketmq
  • 七大设计原则
  • 创建型模式
  • 结构型模式
  • 行为型模式
  • SpringCloud

    • eureka
  • SpringCloud Alibaba

    • nacos
  • 计算机网络
  • 操作系统
  • 算法
  • 个人项目
  • 个人面试面经
  • 八股记忆
  • 工作积累
  • 逻辑题
  • 面试

    • 百度后端实习二面
GitHub (opens new window)
  • 计算机网络

    • 字节网络问题
    • https详解
    • 三次握手四次挥手
    • HTTP相应状态码
    • cookie、session、token
    • ICMP
    • 什么是网桥
    • ARP协议
    • DHCP协议
    • NAT协议
    • 代理服务器
      • 什么是代理服务器
      • 代理的分类
        • HTTP代理
    • TCP特性
    • 什么是SDN
    • 负载均衡
    • CDN
    • DNS详细过程
    • HTTP3
    • http如何实现长链接
    • 家用路由器原理
  • 操作系统

  • 算法

  • 计算机基础
  • 计算机网络
xugaoyi
2023-01-31
目录

代理服务器

# 什么是代理服务器

代理(英语:Proxy)也称网络代理,是一种特殊的网络服务,允许一个终端 (opens new window)(一般为客户端 (opens new window))通过这个服务与另一个终端(一般为服务器 (opens new window))进行非直接的连接。一些网关 (opens new window)、路由器 (opens new window)等网络设备具备网络代理功能。一般认为代理服务有利于保障网络终端的隐私或安全,在一定程度上能够阻止网络攻击 (opens new window)。

提供代理服务的电脑系统或其它类型的网络终端称为代理服务器英语:Proxy Server。一个完整的代理请求过程为:客户端 (opens new window)首先根据代理服务器所使用的代理协议,与代理服务器创建连接,接着按照协议请求对目标服务器创建连接、或者获得目标服务器的指定资源(如:文件)。在后一种情况中,代理服务器可能对目标服务器的资源下载至本地缓存 (opens new window),如果客户端所要获取的资源在代理服务器的缓存之中,则代理服务器并不会向目标服务器发送请求,而是直接传回已缓存的资源。一些代理协议允许代理服务器改变客户端的原始请求、目标服务器的原始响应,以满足代理协议的需要。

代理服务器作为客户端和服务端的中间层,可以帮助服务端做代理从而提供客户端一些服务。

# 代理的分类

# HTTP代理

与nginx反向代理不同,nginx反向代理有网站管理层主动设置,对于用户来说是否使用反向代理是无感知的。而HTTP代理则由用户主动来使用。

使用HTTP代理可以实现如下的功能:

  • 无法直接连接到目标服务器,需要通过HTTP代理实现中转。科学上网
  • 优化网络,访问某些网站速度较慢,需要使用代理来做优化
  • 进行网络冲浪时隐藏自己的真实ip

原理:

HTTP代理应该是所有代理中最简单的一类代理,它的工作原理非常简单,就是用户将原本打算发送给网站服务器的文本原封不动地发送给代理服务器,代理服务器再将这个文本转发给网站服务器并接收网站服务器的返回的数据,再由代理服务器转发给用户。

其实我们使用nginx也可以搭建一个HTTP代理服务器,假设我们在本地搭建一个代理服务器127.0.0.1:8888,并要求访问127.0.0.1:8888的请求转发到www.baidu.com。网站返回的信息先返回到代理服务器,再返回到我们本机。这就相当于我们实现了一个简单的代理服务器。

image-20230129143250511

HTTP代理怎么访问HTTPS协议的网站?

编辑 (opens new window)
上次更新: 2024/02/22, 14:03:19
NAT协议
TCP特性

← NAT协议 TCP特性→

最近更新
01
spark基础
02-22
02
mysql读写分离和分库分表
02-22
03
数据库迁移
02-22
更多文章>
Theme by Vdoing | Copyright © 2019-2024 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式