HTTP请求,响应体报文(行,头,体)

HTTP简介:

 

1.HTTP是Hyper Text Transfer Protocol的缩写(超文本传输协议),是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议。你问我什么是超文本

2.是基于TCP/IP通信协议来传递数据的(HTML文件,图片文件,查询结果等)。

3.HTTP基于C/S架构模型(客户端/服务端),通过一个可靠的链接来交换信息。浏览器作为HTTP客户端向WEB服务器发送所有的请求,WEB服务器收到请求以后,向HTTP客户端发送响应消息。

 

特点:

 

1.简单快速:客户端每次向服务器发出请求的时候只需要传递请求方法和路径。常用方法比如:GET,POST,每种方法规定了客户端和服务端联系方式的不同。由于HTTP协议简单,使得HTTP服务器程序规模小,因此通信速度较快。

2.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type标记。

3.无连接:无连接的意思是每次连接只会处理一个请求(相对的也会有一个响应)。服务器处理完客户的请求以后,客户端拿到了服务器发出的响应,随后断开连接。采用这种方式节省传输时间。

4.无状态:HTTP协议是无状态协议。无状态是指协议对事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

 

HTTP请求报文:

 

HTTP请求报文由三部分组成

请求行由(123)组成:1是请求方法;2是url地址,它和报文头的Host属性组成完整的请求URL;3是协议名称和版本号。

请求头(4):是HTTP的报文头,报文头包含若干个属性,格式均为"属性名:属性值",服务端由此获得客户端的信息。与缓存有关的信息都放在头部(header)。(key:value的形式,一个key对应一个value,一个key对应多个value,但是其实一个key也可以对应多个value。结果区别就是aa:bb和aa:bb,cc)

请求体(5):它将一个页面表单中的组件值通过param1=value1&param2=value2的键值对形式编码成一个格式化串,它承载着多个请求参数的数据。

 

HTTP请求报文属性:

Accept :请求报文通过Accept属性告诉服务器,大哥我就只能接受这个类型的响应(比如纯文本),你发图片我就GG了!(当然了,Accept属性的值可以为一个或者多个MIME类型的值,就可以接受几种响应啦)

cookie:缓存信息。

Cache-Control:对缓存进行控制。比如你希望禁止缓存,或者缓存一年,或者一月,这些都是通过设置这个属性。

 

 

HTTP响应报文也由三部分组成

响应行(12) 组成:1是报文协议及版本,2是状态码及描述

响应头(3):和请求头一样,由属性组成。

响应体(4):是服务器返回给客户端的文本信息。

 

HTTP响应报文属性

Cache-Control :响应输出到客户端后,服务端通过该报文头属告诉客户端如何控制响应内容的缓存。常见的有:(默认      为private)

        private:             客户端可以缓存
        public:              客户端和代理服务器都可缓存(前端的同学,可以认为public和private是一样的)
        max-age=xxx:   缓存的内容将在 xxx 秒后失效
        no-cache:          需要使用对比缓存来验证缓存数据
        no-store:           所有内容都不会缓存

Location:当我们想要页面重定向redirect的时候,设置Location的属性值(地址)跳转到该地址

Cookie:缓存信息

 

 

 

响应状态码

 

  • 1xx 消息,一般是告诉客户端,请求已经收到了,正在处理,别急...
  • 2xx 处理成功,一般表示:请求收悉、我明白你要的、请求已受理、已经处理完成等信息.
  • 3xx 重定向到其它地方。它让客户端再发起一个请求以完成整个处理。
  • 4xx 处理发生错误,责任在客户端,如客户端的请求一个不存在的资源,客户端未被授权,禁止访问等。
  • 5xx 处理发生错误,责任在服务端,如服务端抛出异常,路由出错,HTTP版本不支持等。

◆200 (OK): 找到了该资源,并且一切正常。

◆302/307:临时重定向,指出请求的文档已被临时移动到别处, 此文档的新的url在location响应头中给出

◆304 (NOT MODIFIED): 该资源在上次请求之后没有任何修改。这通常用于浏览器的缓存机制

◆401 (UNAUTHORIZED): 客户端无权访问该资源。这通常会使得浏览器要求用户输入用户名和密码,以登录到服务器。

◆403 (FORBIDDEN): 客户端未能获得授权。这通常是在401之后输入了不正确的用户名或密码。

◆404 (NOT FOUND): 在指定的位置不存在所申请的资源。

500 Internal Server Error:看到这个错误,你就应该查查服务端的日志了,肯定抛出了一堆异常,别睡了,起来改BUG去吧!

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值