Http详解

HTTP请求报文

HTTP请求报文由3部分组成(请求行+请求头+请求体)
在这里插入图片描述
请求行:

①是请求方法,GET和POST是最常见的HTTP方法,除此以外还包括DELETE、HEAD、OPTIONS、PUT、TRACE。

②为请求对应的URL地址,它和报文头的Host属性组成完整的请求URL。

③是协议名称及版本号。

请求头:

④是HTTP的报文头,报文头包含若干个属性,格式为“属性名:属性值”,服务端据此获取客户端的信息。

与缓存相关的规则信息,均包含在header中

请求体:

⑤是报文体,它将一个页面表单中的组件值通过param1=value1&param2=value2的键值对形式编码成一个格式化串,它承载多个请求参数的数据。不但报文体可以传递请求参数,请求URL也可以通过类似于“/chapter15/user.html? param1=value1&param2=value2”的方式传递请求参数。
HTTP响应报文

HTTP的响应报文也由三部分组成(响应行+响应头+响应体)
在这里插入图片描述
响应行:

①报文协议及版本;
②状态码及状态描述;

响应头:

③响应报文头,也是由多个属性组成;

响应体:

④响应报文体,即我们真正要的“干货”

和请求报文相比,响应报文多了一个“响应状态码”,它以“清晰明确”的语言告诉客户端本次请求的处理结果。

3. HTTP方法

   主要列举常见的以及常用的方法。 
    GET:请求资源; 
    POST:传输资源; 
    HEAD:获取报文首部数据; 
    PUT:更新资源;(应用不多) 
    DELETE:删除资源;(应用更少)

4. POST和GET的区别

  1、GET 在浏览器回退时是无害的,而POST会再次提交请求。 
    2、GET 请求会被浏览器主动缓存,POST不会,除非手动设置。 
    3、GET 请求参数会被完整保留在浏览器历史记录中,POST不会保存。 
    4、GET 请求在URL中传递的参数是有长度限制的,POST不会限制。 
    5、GET 参数通过URL传递,POST 放在 Reques Body 中。 
    6、GET 产生的URL 地址可以收藏,POST 不可以。 
    7、GET 请求只能进行 url 编码,而POST 支持多种编码方式。 
    8、对参数的数据类型,GET只接受ASCII 字符,POST没有限制。 
    9、GET比POST更不安全,GET的参数都暴露在URL上,不能用来传递敏感信息。 

5. HTTP状态码
状态码表示服务端返回的响应状态码。

HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型: 
分类 分类描述 
1** : 信息,服务器收到请求,需要请求者继续执行操作 
2** : 成功,操作被成功接收并处理 
3** : 重定向,需要进一步的操作以完成请求 
4** :客户端错误,请求包含语法错误或无法完成请求 
5** :服务器错误,服务器在处理请求的过程中发生了错误

常见的状态码主要有:
200:请求成功。一般用于GET与POST请求
303 :我把你redirect到其它的页面,目标的URL通过响应报文头的Location告诉你。
304 :告诉客户端,你请求的这个资源至你上次取得后,并没有更改,你直接用你本地的缓存吧,我很忙哦,你能不能少来烦我啊!

404:服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置”您所请求的资源无法找到”的个性页面
500:服务器内部错误,无法完成请求

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值