《计算机网络——自顶向下方法》读书笔记——应用层(基本概念、HTTP、FTP、DNS、SMTP等)

本文介绍了网络领域的核心概念和技术,包括分组交换与电路交换的区别、OSI七层模型和TCP/IP模型、DDoS攻击原理、SSL加密过程、HTTP不同版本的特点、FTP的工作方式以及SMTP、POP3和IMAP的功能差异。

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

1、基本概念和名词

    分组交换:利用了存储转发机制,传输前先要接收到完整的分组,有节点处理时延、排队时延、传输时延和传播时延

    电路交换:频分、时分、码分等技术。其中码分的总信号Ps = a1P1 + a2P2 + ... + anPn,由接收到的总信号可以得到第i个信号Pi = aiPs,因为ai是正交归一的

    OSI七层模型:应用层,(表示层,会话层),运输层,网络层,数据链路层,物理层,TCP/IP有四层

    DDOS:分布式拒绝服务攻击,多个计算机对同一个目标发送大量分组或者创建大量TCP连接

    SSL:在HTTP和TCP之间加入SSL层,先验证SSL证书(第三方发布)。服务器根据客户端信息确定是否需要生成新的主密钥,如需要客户端根据相应信息生成密钥,用服务器的公钥加密发送,服务器回复该主密钥,并返回给客户端一个用主密钥认证的信息,以此让客户端认证服务器(即用非对称加密协商对称加密密钥)。

    MSS:最大报文段长度(应用层报文的最大长度)

    RTT:往返时延

    MTU:链路层帧能承载的最大数据量(最大传送单元)

    MSL:IP数据包在网络上生存的最长时间,TIME_WAIT状态持续2个MSL

    其他一些应用层协议:

        DNS:域名系统,UDP,53端口

        Telnet:远程终端协议,TCP,23端口

        TFTP:简单文件传输协议,UDP,69端口

        SNMP:简单网络管理协议,UDP,服务端端口161,客户端162

        SMTP:简单邮件传输协议,UDP,25端口

        POP3:邮局协议版本3,TCP,110端口

        IMAP:邮件访问协议,TCP,143端口

    以太网:一种基带局域网规范,使用CSMA/CD载波侦听多路访问和冲突检测技术

    ISP:互联网服务提供商,因特网由十多个一级ISP和数十万个较低层的ISP组成

2、HTTP

(1)基本概念

    默认端口80,HTTPS默认端口443

    使用TCP作为运输层协议,不保存客户信息,是一个无状态协议

(2)HTTP1.0,1.1和2.0区别

    1.0使用非持续连接,每个请求/响应对经过一个单独的TCP连接

    1.1使用持续连接,所有请求/响应对经过同一个TCP连接,请求头增加了Connection通知是否为持续连接,默认是持续连接(keep-alive),新增100(continue)状态码,只发送请求头,如果服务器拒绝返回401 Unauthorized,接受则返回100 Continue,再接着发送实际数据

    2.0采用二进制格式而非文本格式;利用多路复用,只需一个连接即可并行传输;对报文头进行了压缩;服务器可以将报文主动推送到客户端

(3)请求头/响应头

    请求头:

    Get  /chapter17/user.html  HTTP/1.1    请求的方法、url、协议版本

    Accept: text/plain、image/jpeg等,表示客户端接受的响应格式

    User-Agent: Mozilla/4.0  浏览器信息

    Content-Type: text-plain, application/x-www-form-urlencoded(以键值对编码)等,表示数据编码方式

    Host: localhost:8080  主机和端口号

    Content-length: 112  报文长度

    Connection: Keep-Alive  是否为持续连接

    Cache-Control: no-cache  指定响应在客户端的缓存机制

    Cookie: 通常包含sessionId,让服务器知道哪些请求属于一个会话

    Accept-language: zh-CN

    Referer: 表示请求从哪个url发过来

    X-Requested-With: 为null表示同步请求,为XMLHttpRequest 则为 Ajax 请求

 

    响应头:

    Cache-Control: 告诉客户端是否可以缓存

    Status, Connection, Content-Encoding, Content-Language, Content-Length, Content-Type, 

    Date, Last-Modified, Server, Set-Cookie等

(4)状态码

    100 Continue:让客户端继续发送请求,例如之前提到的只有请求头的请求

    200 OK

    201 Created:请求已被处理,创建了新的资源并返回(多用于put)

    202 Accepted:已接收,但未处理,多用于异步场合

    300 Mutiple Choices:资源有多个地址,让客户端选择一个地址

    301 Moved Permanently:资源被永久转移到新位置,下次访问资源时浏览器一般会直接定位到新位置

    302 Moved Temporarily:资源被暂时转移,下次访问默认还是访问第一次访问的地址

    303 See Other:细化了301和302,如果原请求是POST则改用GET

    304 Not Modified:客户端发送了条件GET且资源未被修改,则不返回实际数据,只返回报文头,客户端使用缓存

    305 Use Proxy:被请求的必须通过指定的代理才能访问

    400 Bad Request:请求参数有误

    401 Unauthorized:当前请求需要用户验证

    403 Forbidden:服务器理解了请求但拒绝执行,在实体内描述原因。不同于401,不是身份认证的问题,即使认证了身份也没用

    404 Not Found:找不到资源,或者服务器不想告知请求为什么被拒绝

    405 Method Not Allowed:大部分服务器不允许PUT,DELETE

    500 Internal Server Error:通常是服务器源码出错

    501 Not Implemented:无法识别请求方法

    502 Bad Gateway:作为网关或者代理的服务器尝试执行请求时,从上游服务器接收到无效响应

    503 Service Unavailable:服务器维护或过载,是临时的

    504 Gateway Timeout:作为网关或者代理的服务器尝试执行请求时,从上游服务器获取响应超时

    505 HTTP Version Not Supported

3、FTP

    使用两个并行的TCP连接。数据连接端口20,非持续连接;控制连接端口21,持续连接,追踪用户。

4、SMTP,POP3,IMAP

    SMTP报文只能采用7比特ASCII码,是一个推协议,从客户端推送到服务器

    POP3、IMAP是拉协议,从服务器获取邮件。POP3不能为邮件创建、指定文件夹;IMAP则维护了会话的用户状态信息,例如文件夹名字和文件夹内的报文

5、DNS

    主机名几乎没有提供主机的位置信息,需要DNS域名系统,由分层的DNS服务器实现的分布式数据库,运行在UDP上,53端口,建立在UDP上主要是为了不引入建立连接的时延。浏览器、本地DNS服务器有DNS缓存。DNS也可以查询主机别名。

    主机向本地DNS服务器查询一般采用递归查询,即由本地DNS服务器代由主机进行查询;本地DNS服务器向根服务器采用迭代查询,即依次询问各级DNS服务器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值