HTTP协议

本文详细介绍了HTTP协议的工作原理,包括浏览器如何向服务器请求文档,服务器如何响应,以及HTTP1.0和1.1的区别。深入探讨了无连接、无状态特性,以及持续性和非持续性连接对网页加载速度的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HTTP协议定义了浏览器(万维网客户端)如何向万维网服务器请求万维网文档,以及服务器怎样把文档发送给客户端。

万维网的工作过程:

每个万维网站点都有一个服务器进程,该进程一直在监听TCP协议的80端口,看是否有连接请求。如果有连接建立请求,则与之建立起TCP连接,然后客户端向服务器发起访问某页面的请求,服务器就将该页面作为响应返回给客户端,然后释放TCP连接。

HTTP协议的特点:无连接、无状态

无连接:HTTP协议虽然基于面向连接的TCP协议,但是在客户端发起请求前,不会事先建立HTTP连接。

无状态:不会记录客户端信息,即同一个客户第二次继续访问同一个页面时,服务器的反应和第一次一样(不会因为你是老客户给你优惠),因为服务器不会记得你曾经访问过,更不会记录你访问过多少次(简化了服务器的设计,容易支持大量的并发请求)。

当用户点击超链接请求访问万维网文档时,HTTP协议首先会和服务器建立TCP链接,使用三次报文握手。当三次报文握手的前两部分完成时,客户端会将请求报文作为第三次握手报文发送给服务器。服务器接收后就将请求的页面作为响应报文发送给客户端,发送完毕后断开TCP连接。

请求一个万维网文档的总时间等于建立TCP连接的一个RTT时间,请求和接收万维网文档的一个RTT时间,以及传输万维网文档的时间。

HTTP协议有1.0和1.1两个版本。

HTTP1.0是非持续性连接,即服务器返回请求报文后就释放TCP连接,如果客户端想继续请求页面,则必须再建立TCP连接,又得耗费两个RTT时间,并且每建立一次TCP连接都要分配缓存和变量,增加了服务器的负担。

HTTP1.1是持续性连接,即服务器返回报文后一定时间内不会释放TCP连接,接下来同一个客户想要再次请求页面,客户端和服务器就可以在这条连接上继续发送请求和响应报文。

HTTP1.1的持续性连接有两种方式:流水线方式和非流水线方式。

非流水线方式:即客户端必须等待接收上一个请求的响应报文之后才可以发送新的请求。再发送一次请求,和非持续性连接相比,该方式节省了一个RTT时间。但该方式有一个缺点,即在服务器发送完一个对象后,TCP连接处于空闲状态。

流水线方式:客户端不必等待接收响应报文,在发送了上一个请求报文后直接可以发送下一个请求报文,服务器也可连续返回响应报文。因此,客户端访问所有的对象,只需花费一个RTT时间(使TCP连接的空闲时间减少了,提高了下载效率)。

Re:计算机网络  应用层 诸多协议 实验环境搭建  DNS、DHCP、HTTP、FTP、Telnet、RDP、STMP、POP3、IMAP======================# 应用层 诸多协议 域名系统 DNS 动态主机配置协议 DHCP 超级文本传输协议 HTTP 文件传输协议 FTP Telnet 协议和 RDP(远程桌面协议) 发送电子邮件的协议 SMTP  接收电子邮件的协议 POP3 和 IMAP # 什么是域名 整个Internet网站和各种服务器数量众多,各个组织的服务器都需要给一个名称,这就很容易重名。如何确保Internet上的服务器名称在整个Internet唯一呢?这就需要Internet上有域名管理认证机构进行统一管理。如果你的公司在互联网上有一组服务器(邮件服务器、FTP服务器、Web服务器等),你需要为你的公司先申请一个域名,也就是向管理认证机构注册一个域名。 域名的注册遵循先申请先注册为原则,管理认证机构要确保每一个域名的注册都是独一无二、不可重复的。 # 动态主机配置协议 DHCP 静态地址和动态地址应用场景 DHCP 地址租约 DHCP 租约生成过程 DHCP 地址租约更新 # Telnet 协议 Telnet是一个简单的远程终端协议(非加密、且简单),它也是因特网的正式标准。用户使用telnet客户端就可以连接到远程运行Telnet服务的设备(可以是网络设备例如:路由器、交换机,也可以是操作系统,比如Windows或Linux等),进行远程管理。 Telnet能将用户的键盘指令传到远地主机,同时也能将远地主机的输出通过TCP连接返回到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上。因此,Telnet又称为终端仿真协议。 Telnet并不复杂,以前应用得很多。现在由于操作系统(Windows和Linux)功能越来越强,用户己较少使用Telnet了。不过配置Linux服务器和网络设备还是需要 Telnet 来实现远程管理和配置 # 远程桌面协议 RDP 现在Windows操作系统很少使用telnet进行远程管理了,更多是使用远程桌面进行远程管理。 Windows系统启用远程桌面,客户端使用远程桌面客户端(mstsc)进行连接。 它们之间使用RDP协议进行通信,RDP协议默认使用TCP的3389端口。 # http 协议、版本和网页 创建网页(准备创建网站、需要设计网页和安装Web服务器) 统一资源定位符URL 绝对路径和相对路径 创建Web站点 HTTP协议版本 HTTP请求报文和响应报文 HTTP响应报文: Cookie 通过代理服务器访问网站 # 文件传输协议 FTP FTP 是File Transfer Protocol(文件传输协议)的英文简称。用于Internet上的控制文件的双向传输。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。 在FTP的使用当中,用户经常遇到两个概念:“下载”(Download)和“上传”(Upload)。“下载”文件就是从远程主机拷贝文件至自己的计算机上;“上传”文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。 简单地说,支持FTP协议的服务器就是FTP服务器。 # 安装和配置邮件服务器  模拟整个互联网发送邮件的过程 发送电子邮件的协议 SMTP  接收电子邮件的协议 POP3 和 IMAP--------------------------------------              
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值