HTTP就是这么简单 (3)

首部字段【用于描述服务器的基本信息,以及数据的描述服务器通过这些数据的描述信息,可以通知客户端如何处理等一会儿它回送的数据

一个空行

实体内容【服务器向客户端回送的数据

状态行:

格式: HTTP版本号 状态码 原因叙述

状态行:HTTP/1.1 200 OK

状态码用于表示服务器对请求的处理结果,它是一个三位的十进制数。响应状态码分为5类

HTTP就是这么简单

首部字段例子:

Location: 【服务器告诉浏览器要跳转到哪个页面

Server:apache tomcat【服务器告诉浏览器,服务器的型号是什么】

Content-Encoding: gzip 【服务器告诉浏览器数据压缩的格式

Content-Length: 80 【服务器告诉浏览器回送数据的长度】

Content-Language: zh-cn 【服务器告诉浏览器,服务器的语言环境】

Content-Type: text/html; charset=GB2312 【服务器告诉浏览器,回送数据的类型

Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT【服务器告诉浏览器该资源上次更新时间】

Refresh: 1;url=【服务器告诉浏览器要**定时刷新**

Content-Disposition: attachment; filename=aaa.zip【服务器告诉浏览器以下载方式打开数据

Transfer-Encoding: chunked 【服务器告诉浏览器数据以分块方式回送】

Set-Cookie:SS=Q0=5Lb_nQ; path=http://www.likecs.com/search【服务器告诉浏览器要保存Cookie

Expires: -1【服务器告诉浏览器不要设置缓存

Cache-Control: no-cache 【服务器告诉浏览器不要设置缓存

Pragma: no-cache 【服务器告诉浏览器不要设置缓存

Connection: close/Keep-Alive 【服务器告诉浏览器连接方式】

Date: Tue, 11 Jul 2000 18:23:51 GMT【服务器告诉浏览器回送数据的时间】

对于HTTP首部这一部分是非常庞大的一个章节,知识点也很多,我就没有一一去记录了。用到的时候再查吧。我看的是《图解HTTP》。

HTTPS简述

HTTP在安全上是不足的

通信使用明文【没有加密过内容的】

不验证通信方身份,无论是客户端和服务器,都是随意通信的

无法证明报文的完整性【别人监听后,可以篡改】

我们一般在上网时,使用抓包工具就很容易获取到HTTP请求的信息了,这是TCP/IP在网络通信中无法避免的。

假设我们对HTTP报文进行加密了, 那也仅仅是是内容的加密。别人获取到了HTTP内容了,即使无法破解HTTP内容,还是能够篡改的。

我们最好就是使用SSL建立安全的通信线路,就可以在这条线路上进行HTTP通信了。

其实HTTPS就是披着SSL的HTTP...

HTTPS使用的是共享密钥和公开私有密钥混合来进行加密的。由于公开私有密钥需要太多的资源,不可能一直以公开私有密钥进行通信。因此,HTTP在建立通信线路的时候使用公开私有密钥,当建立完连接后,随后就使用共享密钥进行加密和解密了

对于认证方面,HTTPS是基于第三方的认证机构来获取认受认可的证书、因此,可以从中认证该服务器是否是合法的。

而客户端方面则需要自己购买认证证书、这实施起来难度是很大的【认证证书需要钱】。

所以,一般的网站都是使用表单认证就算了,这是用得最广泛的客户端认证了。

如果文章有错的地方欢迎指正,大家互相交流。习惯在微信看技术文章的同学,可以关注微信公众号:Java3y

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxxpg.html