计算机网络概念入门(十四)

正文

1.ABNF

=》ABNF(Augmented BNF)
—>是BNF的修改,增强版
—>在RFC 5234中表明:ABNF用作Internet中通信协议的定义语言
—>ABNF是最严谨的HTTP报文格式描述形式,脱离ABNF谈论HTTP报文格式,往往都是片面、不严谨的

=》关于HTTP报文格式的定义
—>RFC 2616 4.HTTP Message(旧)
—>RFC 72303.Message Format(新)

2.报文-整体

HTTP-messge=start-line
*(header-field CRLF)
CRLF
[message-body]

3.ABNF-核心规则(常用)

—>CRLF:互联网标准换行
—>表示0个或多个。2表示至少2个,3*6表示3到6个

4.报文格式—request-line、status-line

request-line=method SP request-target SP HTTP-version CRLF

HTTP-version=HTTP-name “/” DIGIT “.” CRLF

HTTP-name=%48.54.54.50 ; HTTP

eg:
GET /hello /HTTP/1.1

status-line =HTTP-version SP status-code SP reason-phrase CRLF

status-code = 3DIGIT

reason-phrase = *(HTAB/SP/VCHAR/obs-text)

eg:
HTTP/1.1 200
HTTP/1.1 200 OK

5.报文格式—header-filed、message-body

=》header-field=field-name“:”OWS field-values OWS
field-name=token
field-value=(field-content/obs-fold)
OWS=
(SP/HTAB)

6.URL的编码

=》URL中一旦出现了一些特殊字符(比如中文、空格),需要进行编码
—>在浏览器地址栏输入URL时,是采用UTF-8进行编码

比如:
编码前:https://www.baidu.com/s?wd=百度
编码后:https://www.baidu.com/s?wd=%E5%8D8E%E4%B8%BA

7.Xshell+telnet

=》在Xshell(安全终端模拟软件),在Xshell中使用tenlent
—>可以直接面相HTTP报文与服务器交互
—>可以更清晰、直观地看到请求报文、响应报文的内容
—>可以检验请求报文格式的正确与否

8.请求方法

=》RFC 7231,section 4:Request methods:描述了8种请求方法
—>GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE

=》RFC 5789,section 2:Patch method:描述了PATCH方法

=》GET:常用于读取的操作,请求参数直接拼接在URL的后面(浏览器对URL是有长度限制的)

=》POST:常用于添加、修改、删除的操作,请求参数可以放到请求体中(没有大小限制)

=》HEAD:请求得到与GET请求相同的响应,但没有响应体
—>使用场景举例:在下载一个大文件前,先获取其大小,再决定是否要下载,以此可以节约宽带资源

=》OPTIONS:用于获取目的资源所支持的通信选项,比如服务器支持的请求方法
—>OPTIONS+HTTP/1.1

=》PUT:用于对已存在的资源进行整体覆盖

=》PATCH:用于对资源进行部分修改(资源不存在,会创建新的资源)

=》DELETE:用于删除指定的资源

=》TRACE:请求服务器回显其收到的请求信息,主要用于HTTP请求的测试或诊断

=》CONNECT:可以开启一个客户端与所请求资源之间的双向沟通的通道,它可以用来创建隧道
—>可以用来访问采用了SSL(HTTPS)协议的站点

9.响应头字段

—>User-Agent : 浏览器的身份标识字符串
—>Host:服务器的域名、端口号
—>Date:发送该消息的日期和时间
—>Referee:表示浏览器所访问的前一个页面,正是那个页面上的某个链接将浏览器带到了当前所请求的这个页面
—>Content-Type:请求体的类型
—>Content-Length:请求体的长度(字节为单位)

视频教程

14.ABNF_请求头_响应头

下集预告

状态码_form提交

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

踏过山河,踏过海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值