首页 > 其他分享 >HTTP与TCP的关系是什么?HTTP 的端口有什么意义?

HTTP与TCP的关系是什么?HTTP 的端口有什么意义?

时间:2024-09-05 19:22:19浏览次数:10  
标签:HTTP 端口 TCP 服务器 端口号 客户端

一、HTTP 与 TCP 的关系

HTTP(超文本传输协议)是建立在 TCP(传输控制协议)之上的应用层协议。

1. 依赖关系

• HTTP 依赖 TCP 提供的可靠数据传输服务。TCP 确保数据在网络中准确、有序地传输,并且能够处理数据包丢失、重复和乱序等问题。如果没有 TCP 的可靠性保障,HTTP 传输的数据可能会出现错误或丢失,影响网页的正常显示和交互。

• 例如,当你在浏览器中输入一个网址并请求访问一个网页时,浏览器首先通过 TCP 建立与服务器的连接,然后使用 HTTP 协议发送请求并接收服务器返回的网页内容。

2. 层次结构

• 在网络协议栈中,TCP 位于传输层,负责在不同主机之间建立端到端的连接,并保证数据的可靠传输。HTTP 位于应用层,主要用于在客户端和服务器之间传输超文本数据,如网页、图片、视频等。

• 这种层次结构使得不同的协议可以专注于特定的任务,提高了网络通信的效率和灵活性。

二、HTTP 的端口意义

HTTP 默认使用端口 80,HTTPS 默认使用端口 443。端口的意义主要有以下几点:

1. 区分不同的服务

• 端口号用于区分不同的网络服务。当客户端向服务器发送请求时,除了指定服务器的 IP 地址外,还需要指定相应的端口号,以便服务器能够正确地识别请求的服务类型。

• 例如,如果客户端要访问一个 HTTP 网站,它会向服务器的 IP 地址和端口 80 发送请求;如果要访问一个 HTTPS 网站,则会向服务器的 IP 地址和端口 443 发送请求。

2. 提高网络通信效率

• 通过使用不同的端口号,服务器可以同时为多个客户端提供不同的服务,而不会产生混淆。这有助于提高网络通信的效率和并发处理能力。

• 例如,一台服务器可以同时运行 HTTP 服务、FTP 服务和邮件服务等,每个服务都使用不同的端口号,以便客户端能够准确地访问所需的服务。

3. 增强网络安全性

• 端口号也可以用于增强网络安全性。管理员可以通过配置防火墙等安全设备,限制对特定端口的访问,从而防止未经授权的访问和攻击。

• 例如,管理员可以关闭一些不常用的端口,只开放必要的端口,如 HTTP 和 HTTPS 端口,以减少服务器受到攻击的风险。

标签:HTTP,端口,TCP,服务器,端口号,客户端
From: https://blog.csdn.net/zhanghaiou07657/article/details/141724059

相关文章

  • 如何使用 Bittly 创建一个本地 HTTP 服务器
    Bittly支持在本地创建HTTP服务器。通过配置该服务器,可以根据匹配规则自动响应HTTP请求,并通过变量和脚本实现动态数据内容的响应。此外,Bittly的本地HTTP服务器还支持配置文档根目录,直接将指定路径作为Web目录进行访问,无需配置完整的HTTP服务器。Bittly的HTTP......
  • java.lang.ClassNotFoundException: net.logstash.logback.appender.LogstashTcpSocke
    出现以下错误,是因为项目缺少依赖:atorg.springframework.boot.logging.logback.LogbackLoggingSystem.reportConfigurationErrorsIfNecessary(LogbackLoggingSystem.java:189)atorg.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(Log......
  • WebApi使HttpPut/HttpDelete有效
    405-不允许用于访问此页的HTTP谓词。您要查找的页面无法显示,因为尝试访问时使用了无效方法(HTTP谓词)。解决办法:在将应用程序从经典模式迁移到集成模式时,可以保留经典模式下的自定义模块和处理程序注册,也可以将这些注册移除。如果不移除经典模式下使用的httpModules......
  • https://www.zhihu.com/pin/1814343061205024769
    在开发Docmatix时,我们发现经其微调的Florence-2在DocVQA任务上表现出色,但在基准测试中得分仍比较低。为了提高基准测试得分,我们必须在DocVQA数据集上进一步对模型进行微调,以学习该基准测试的语法风格。有意思的是,人类评估者认为经额外微调后,模型的表现似乎反而不如仅在Do......
  • 了解一下HTTP 与 HTTPS 的区别
    介绍:        HTTP是超文本传输协议。规定了客户端(通常是浏览器)和服务器之间如何传输超文本,也就是包含链接的文本。通常使用TCP【1】/IP协议来传输数据,默认端口为80。                HTTPS是超文本传输安全协议,具有CA证书。在HTTP的基础上增加了TL......
  • 网络编程day01(IP地址、Socket、端口号)
    目录【1】IP地址1》基本概念IP地址 NAT设备(网络地址转换)DHCP服务器(动态主机配置协议)2》网络号/主机号(二级划分) 3》IP地址分类 特殊地址4》子网掩码5》三级划分【2】socket1》socket发展2》socket介绍3》为什么需要socket?4》socket类型【3】端口号 【1】......
  • 【python】socket 入门以及多线程tcp链接
    Socket入门及多线程tcp链接网络基础知识三要素Socket是套接字的意思,是网络编程的核心对象,通信两端都独有自己的Socket对象,数据在两个Socket之间通过字节流(TCP协议)或者数据报包(UDP协议)的形式进行传输.本文主要针对tcp流程进行讲解socket-tcp流程图1.创建......
  • 实现TCP收发信息和UDP收发信息
    1.TCP通信服务器端#include<myhead.h>#defineSERPORT6666#defineSERIP"192.168.0.136"#defineBACKLOG5intmain(intargc,constchar*argv[]){ intoldfd=socket(AF_INET,SOCK_STREAM,0); if(oldfd==-1) { perror("socket"); retu......
  • 网络编程(TCP通信)
    【1】认识网络网络:多设备通信【2】IP地址1.基本概念IP地址是Internet中主机的标识Internet中的主机要与别的机器通信必须具有一个IP地址IP地址为32位(IPv4)或者128位(IPv6)NAT:公网转私网、私网转公网IPV4表示形式:常用点分十进制形式,如202.38.64.10,最后都会转换为一个32位的......
  • 【Azure Redis】Redis-CLI连接Redis 6380端口始终遇见 I/O Error
    问题描述使用Redis-cli连接Redis服务,因为工具无法直接支持TLS6380端口连接,所以需要使用stunnel配置TLS/SSL服务。根据文章(LinuxVM使用6380端口(SSL方式)连接AzureRedis(redis-cli&stunnel):https://www.cnblogs.com/lulight/p/14188279.html),配置stunnel后,始终......