HTTP协议

Posted mww-notcopy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP协议相关的知识,希望对你有一定的参考价值。

一、HTTP协议的基本概念:

  Http协议(HyperText Transfer Protocol)中文称 :超文本传输协议  ,是一个位于 应用层。

二、HTTP 常用字段:

  1、Host:用于指定服务器域名,如:Host:www.Not_Copy.com;

   有了 Host 字段,就可以将请求发往「同一台」服务器上的不同网站。

   注:Host 是 HTTP 1.1 协议中新增的一个请求头,主要用来实现虚拟主机技术。

     虚拟主机(virtual hosting)即共享主机(shared web hosting),

     可以利用虚拟技术把一台完整的服务器分成若干个主机,因此可以在单一主机上运行多个网站或服务,

     举个栗子,有一台 ip 地址为 61.135.169.125 的服务器,在这台服务器上部署着谷歌、百度、淘宝的网站,

     为什么我们访问 https://www.google.com 时,看到的是 Google 的首页而不是百度或者淘宝的首页?

     原因就是 Host 请求头决定着访问哪个虚拟主机。[1]

  2、Content-Length:服务器返回数据时,用于表明本次回应的数据长度

    如:Content-Length:2000,相当于服务器告诉浏览器本次回应数据的长度是2000个字节;

  3、Connection:最常用于客户端要求服务器使用 TCP 持久连接,以便其他请求复用。

    如:Connection:Keep-alive 

    注:HTTP/1.1 版本的默认连接都是持久连接,但为了兼容老版本的 HTTP,

    需要指定 Connection 首部字段的值为 Keep-alive,

    直到客户端或服务器主动关闭连接。但是,这不是标准字段。

  4、Content-Type:用于服务器回应时,告诉客户端,本次数据是什么格式。

    如:Content-Type: text/html; charset=utf-8

    注:上面的类型表明,发送的是网页,而且编码是UTF-8。

  5、Accept:用于客户端声明自己可以接受何种格式的数据;

    如:Accept: */*,声明可以接受任何格式的数据

  6、Content-Encoding :表示服务器返回的数据使用了什么压缩格式;

    如:Content-Encoding: gzip,表示服务器返回数据采用 gzip 方式压缩,告知客户端需要用此方式解压

  7、Accept-Encoding:用于表明客户端可以接受哪些压缩方法

    如:Accept-Encoding: gzip, deflate

三、GET和POST

  GET:请求从服务器获取资源,不安全,且数据量小,传输过程,数据被放在请求的URL中,数据对用户可见

  POST:请求向服务器提交资源,安全,且数据量大,传输过程,数据被放报文的 body 里,数据对用户不可见

三、五大返回状态:

技术图片

 

以上是关于HTTP协议的主要内容,如果未能解决你的问题,请参考以下文章

怎么用http协议实现安卓数据

CPNtools协议建模安全分析---实例变迁标记

HTTP客户端代码片段

高效Web开发的10个jQuery代码片段

如何从一个片段导航到另一个片段?

这两个代码片段有啥区别?