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协议的主要内容,如果未能解决你的问题,请参考以下文章