三、URL、URI的了解、HTTP请求的格式、method(方式)、GET与POST的区别、Status Code(状态码)、报文格式

引言:HTTP请求包含4个部分,分别是URL(统一资源定位符)、method(请求方式)、Headers(请求头)、Body(请求体)

一、了解URL、URI、及URL格式

URL,全称:Uniform Resource Locator   译名:统一资源定位符,用于准确描述Internet上某一资源的地址;

通常我们访问的网页都是有一个URL地址,或称Web地址,俗称:网址;

需要明确的是,URL地址不仅仅是Internet上的站点,也可以是本地磁盘,或者局域网上的某一台计算机,只是更多的是Internet上的站点;

URI,全称:Uniform Resource Identifier   译名:统一资源标识符,用来唯一的标识一个资源,URL是一种具体的URI;

URL的格式,如下图:

schema://host[:port#]/path/…/[query-string][#anchor],其中:

schema:表示url底层使用协议,如:http、https、ftp

port#:表示服务器使用的端口号,默认:80,可以不填写;但是如果不是80,而使用了别的端口,就必须写明;如:   

          http://www.baidu.com/8080

path:表示访问资源的地址

query-string:发送给服务器的数据(参数)

anchor:锚(锚点,是一种超链接,只是它是页面内部的超链接。意思是:如果一个网页很长,里面的内容分为N个部分。这样我们就可以在网页顶部设置一些锚点,这样浏览者单击相应锚点,即可快速显示到该页面相应的位置,而不必在一个很长的页面自行滑动寻找,锚点在URL的最右边,前面以“#”标识)

二、HTTP协议的请求方式(method)

下面分别就HTTP协议的请求方式进行了解。

下面就把最常用的GET方法、POST方法的Fiddler抓包的截图最为例子,简单介绍一下。

1.GET方法

a.不带参数的GET方法

b.带参数的GET方法(GET方法也可以传递给服务器)

查询字符串(Query-string)以“名=值”的形式呈现,多个值间用“&”符连接。Web地址有时候因为参数多而显得长,在Fiddler中,使用WebForms选项卡可以清楚的看到GET方法中的查询字符串参数

2.HOST方法

POST方法通常用来把表单中填好的数据发送给服务器。以登录CSDN为例:

(请求体:可以分为三大类,Query String、文件分割、其它类型;其中,Query String 指的是application/x-www-form-urlencoded类型的请求体,这是Form表单提交的默认数据类型)若,你们的POST请求中,content-Type:application/x-www-form-urlencoded类似支持这样的格式,那么在WebForms选项卡中,可以看到body中的参数。不过若不支持,就看不到了:

三.GET与POST的区别

a.参数放置位置不同;GET方法是将参数放置在URL尾部,以“?”与URL隔开、参数与参数之间以“&”分隔;POST方法是将参数放置在HTTP包的body中;

b.参数大小限制不同;GET方法的参数大小是有限制的,大约1M(因为浏览器对URL的长度有限制);,而POST方法提交的数据基本没有限制;

c.取得变量的值的方式不同;GET方法使用Request.QueryString来获取变量的值;而POST方法是用Request.Form获取变量的值;(Request.QueryString主要是获取URL里面“?”后的变量值,Request.Form是获取post方法表单中的变量值)

d.安全性不同;GET方法将参数之间暴露在URL上,很明显安全性弱于POST方式;

四、状态码的介绍

1.状态码(HTTP Status Code)定义:每个HTTP响应报文都会携带一个状态码,用于告诉客户端请求是否成功;状态是一个3位数字的代码。在HTTP响应报文的第一行中;(提示:HTTP响应报文第一行包含:HTTP协议版本号、状态码、状态消息)

2.状态码的分类:第一个数字表示了响应的类别;

3.下面列举几个常见且比较重要的状态码:

五、Request、Response报文格式

1.Request报文格式

<request-line>

<headers>

<blank line>

<request-body>

2.Response报文格式:

<status-line>

<headers>

<blank line>

<response-body>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

冷凝娇

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

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

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

打赏作者

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

抵扣说明:

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

余额充值