HTTP学习笔记

本文深入解析了HTTP协议的主要组成部分,包括GET、POST等方法,200、302、404等状态码的含义,以及请求和响应报文的格式。同时,详细介绍了URL的各个组件及其作用,如scheme、host、port等,并探讨了TCP性能和HTTP连接处理过程中的关键点。

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

HTTP方法:

GET:

PUT

DELETE

POST

HEAD

 

状态码:

200到299之间的状态码表示成功;300到399之间的状态码表示资源已被移走;400到499之间的状态码表示客户端请求出错了;500到599之间的状态码表示服务器出错了。

整体范围已定义范围分类
100~199100、101信息提示
200~299200~206成功
300~399300~305重定向
400~499400~415客户端错误
500~599500~505服务器错误
  • 200:OK。文档正确返回
  • 302:Redirect(重定向)。到其他地方获取资源
  • 404:Not Found(没找到)。无法找到这个资源

 

HTTP报文: 

请求报文格式:

        <method> <request-URL> <version>    -----------------------------------------------起始行

        <headers>                                             -----------------------------------------------首部字段

        

        <entity-body>                                       ------------------------------------------------主体

响应报文格式:

        <version> <status> <reason-phreae>  ------------------------------------------------起始行

        <headers>                                            ------------------------------------------------首部字段

        

        <entity-body>                                       -------------------------------------------------主体

 

起始行:

首部字段:

主体(可选):

 

URL组件:

<scheme>://<user>:<password>@<host>:<port>/<path>:<params>?<query>#<frag>

方案:访问服务器以获取资源时要使用哪种协议。无默认值

  • 使用什么协议访问资源

用户:某些方案访问资源时需要的用户名。默认值:匿名

密码:用户名后面可能要包含的密码,中间由冒号(:)分隔。默认值:<E-mail 地址>

主机:资源宿主服务器的主机名或点分IP地址。无默认值

端口:资源宿主服务器正在监听的端口号。HTTP的默认值:80

路径:服务器上资源的本地名,由一个斜杠(/)将其与前面的URL组件分隔开来。无默认值

参数:某些方案会用这个组件来指定输入参数。参数为名值对。URL中可以包含多个参数字段,他们相互之间以及与路径的其余部分之间用分号(;)分隔

查询:某些方案会用这个组件传递参数已激活引用程序。用字符“?”将其与URL的其余部分分隔开来

片段:一小片或一部分资源名称。引用对象时,不会将frag字段传送给服务器,这个字段是在客户端内部使用的。通过字符“#”将            其与URL的其余部分分隔开来

 

TCP性能

串行HTTP事务的时间线

HTTP时延就是有TCP网络时延构成

HTTP事务的时延主要原因:

  • 客户端首先需要根据UTI(URL)确定Web服务器的IP地址和端口号。
  • 客户端会向服务器发送一条TCP连接请求,并等待服务器回送一个请求接受应答。
  • 一旦连接建立起来了,客户端就会通过新建立的TCP管道来发送HTTP请求。
  • Web服务器会回送HTTP响应

性能聚焦区域:

  • TCP连接建立握手
  • TCP慢启动拥塞控制
  • 数据聚集的Nagle算法
  • 用于捎带确认的TCP延迟确认算法
  • TIME_WAIT时延和端口耗尽

 

HTTP连接的处理

connection首部

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值