三、URL、URI的了解、HTTP请求的格式、method(方式)、GET与POST的区别、Status Code(状态码)、报文格式 | 您所在的位置:网站首页 › 请与所请求的格式一致怎么弄 › 三、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中的参数。不过若不支持,就看不到了: 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.下面列举几个常见且比较重要的状态码: 1.Request报文格式: 2.Response报文格式: |
CopyRight 2018-2019 实验室设备网 版权所有 |