美文网首页
Http介绍

Http介绍

作者: 掏钱 | 来源:发表于2017-02-09 18:42 被阅读0次

    1、Http的概念

    http是tcp/ip协议族中的一个协议,是工作在应用层的。

    2、和http协议关系密切的协议tcp和ip协议

    ip协议是工作在网络层的

    tcp协议是工作在传输层的,提供可靠的字节流服务,tcp能够提供可靠的传输服务是因为采取了三次握手的策略。第一次发送的时候会发送带有SYN标志的包,接收方接收后会回传一个带有SYN/ACK标志的包,发送方收到后然后发送带有ACK标志的包。

    3、Http的特点

    http永远有一个客户端和一个服务端,客户端发送请求,服务端进行响应,服务端是不能主动发送通知的

    http是不能够保存状态的,但是为了能够保存状态,引用了cookie技术

    http1.1版本默认是持久性连接,可以同时并行发送多个请求

    4、Http返回状态码

    200:请求成功,ok,如果你的请求方法是HEAD,那么返回的也只是头部

    204:请求成功,但是返回的只有头部,没有主体

    206:请求成功,返回主体是你指定范围的内容,range部分

    301:永久重定向 302:临时重定向 303:URI已经更新   这几个返回码都需要客户端将PUT换成GET(不是协议要求,而是一般的浏览器是这样做的),删除主体重新请求

    307:临时重定向,但是不要求客户端将PUT换成GET

    304:请求的资源已经找到,但是并不符合你添加的条件

    400:你的请求报文格式有问题

    401:请求的用户没有认证或者认证失败了

    403:请求的资源被禁止访问,就是说你没有权限

    404:无法找到被请求的资源,有的时候服务器拒绝请求不想说明原因时,也这样使用

    500:网络或者服务端执行请求发生错误

    503:服务端超出负荷或者正在维护

    5、Http的报文格式

    请求报文

    响应报文

    6、报文头部(首部)字段信息

    报文头部字段由 字段名:字段值  加回车换行构成。其中字段值可以由多个值构成,字段值之间用“,”隔开。

    通用头部字段

    Cache-Control:这个字段,值是可以多选的。public明确表明其他用户也可以用这个缓存;private与public完全完全相反;no-cache告诉服务器必须从源服务器返回数据;no-cache=Location,如果服务器返回的报文响应中这么设置,那么客户端将不能使用缓存;no-store暗示请求或者响应有机密的信息,这才是真正的不使用缓存;max-age=时间(秒),如果客户端有这个设置,只要缓存存在的时间小于指定的时间,就用缓存的资源,也就是说这里是缓存的一个有效期;no-transform,无论是在请求中还是在响应中,缓存都不能改变报文主体的媒体类型,

    Connection:close,服务器想明确断开连接;keep-Alive一直保持连接,就是持久连接,1.1版本都是默认持久连接的

    Date: 值是http报文创建的日期和时间,一般的格式为 Tue,03-Jul-12 04:40:59 GMT

    Transfer-Encoding:报文主体在传输时采用的编码格式,值有chunked

    请求头部字段

    Accept:这个字段可通知服务器,客户端能够处理的媒体类型。这个字段的值也是可以多选的。

    文本文件- text/html,text/plain, text/css ,application/xhtml+xml,application/xml

    图片文件- image/jpeg,image/gif,image/png

    视频文件- video/mpeg,video/quicktime

    应用程序使用的二进制文件- application/octet-stream,application/zip

    Accept-Charset:告知服务器客户端支持的字符集 ,值就是通用的字符集 iso-8859-5,unicode-1-1等

    Accept-Encoding: 客户端支持的内容编码,值可以多选。gzip,compress,deflate,identify

    Accept-Language:客户端支持的自然语言集,值可以多选。zh-cn,zh;q=0.7,en-us,en;q=0.3 (q指的是优先级,用分号隔开)

    Authorization:客户端的认证信息(证书值)

    Host:这个字段会告知服务器请求资源所在的的主机名和端口号,这个值就是域名或者IP地址

    Proxy-Authorization:认证,与Authorization相同,不同的是,认证行为发生在客户端和代理服务器之间

    Range:指定获取部分资源的范围 比如:bytes=5001-10000,表示请求获取5001个字节到10000字节的数据

    User-Agent:用于传达浏览器的种类

    实体头部字段

    Content-Encoding:报文主体内容采用的编码方式,gizp,compress,deflate,identify

    Content-Language:报文主体采用的自然语言集

    Content-Length:报文主体部分的大小,单位是字节

    Content-MD5:MD5值,用于检查报文主体在传输中是否保持完整

    Content-Range:针对的是范围请求,告知客户端返回的是哪一部分的内容

    Content-Type:实体主体对象的媒体类型

    相关文章

      网友评论

          本文标题:Http介绍

          本文链接:https://www.haomeiwen.com/subject/neriittx.html