内容:
1.http协议介绍
2.https协议介绍
3.http协议和https协议对比
1.http协议介绍
(1)http协议是什么
1 一个传输协议,协议就是双方都遵守的规范。2 为什么叫超文本传输协议呢,因为收发的是文本信息。3 1,浏览器(客户端)按照规定的格式发送文本数据(请求)到服务器4 2,服务器解析请求,按照规定的格式返回文本数据到浏览器5 3,浏览器解析得到的数据,并做相应处理
(2)请求和返回的数据格式
1 请求和返回是一样的数据格式,分为4部分:2 请求行或者响应行3 Header(请求的 Header 中 Host 字段是必须的,其他都是可选)4 \r\n\r\n(连续两个换行回车符,用来分隔Header和Body)5 Body(可选)
(3)请求格式
1 请求的格式,注意大小写(这是一个不包含Body的请求): 2 原始数据如下 3 'GET / HTTP/1.1\r\nhost:g.cn\r\n\r\n' 4 打印出来如下 5 GET / HTTP/1.1 6 Host: g.cn 7 8 其中: 9 GET 是请求方法(还有POST等,这就是个标志字符串而已)10 / 是请求的路径(这代表根路径)11 HTTP/1.1 中,1.1是版本号,通用了20年12 13 具体字符串是 'GET / HTTP/1.1\r\nhost:g.cn\r\n\r\n'
(4)返回格式
1 返回的数据如下 2 HTTP/1.1 301 Moved Permanently 3 Alternate-Protocol: 80:quic,p=0,80:quic,p=0 4 Cache-Control: private, max-age=2592000 5 Content-Length: 218 6 Content-Type: text/html; charset=UTF-8 7 Date: Tue, 07 Jul 2015 02:57:59 GMT 8 Expires: Tue, 07 Jul 2015 02:57:59 GMT 9 Location: http://www.google.cn/10 Server: gws11 X-Frame-Options: SAMEORIGIN12 X-XSS-Protection: 1; mode=block13 14 15 16 Body部分太长,先不贴了17 其中响应行(第一行):18 HTTP/1.1 是版本19 301 是「状态码」,参见文末链接20 Moved Permanently 是状态码的描述21 浏览器会自己解析Header部分,然后将Body显示成网页
2.https协议介绍
https协议是http+ssl组成的安全的网络协议
https的主要作用可以分为两种:
- 建立一个信息安全通道,来保证数据传输的安全
- 确认网站的真实性,凡是使用了 https 的网站,都可以通过点击浏览器地址栏的锁头标志来查看网站认证之后的真实信息,也可以通过 CA 机构颁发的安全签章来查询
HTTP 协议中没有加密机制,但可以通过和SSL(Secure Socket Layer,安全套接层)或TLS(Transport LayerSecurity,安全层传输协议)的组合使用,加密 HTTP 的通信内容。
用 SSL 建立安全通信线路之后,就可以在这条线路上进行 HTTP 通信了。与 SSL 组合使用的 HTTP 被称为 HTTPS(HTTP Secure,超文本传输安全协议)
3.http协议和https协议对比
http协议被用于在Web浏览器和网站服务器之间传递信息。http协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等
为了解决http协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议https。为了数据传输的安全,https在http的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密
https和http的区别主要为以下四点:
- https协议需要到ca申请证书,一般免费证书很少,需要交费。
- http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
- http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
- http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。