网络协议 HTTP与HTTPS的区别

什么是超文本
1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。
超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本。超文本更是一种用户界面范式,用以显示文本及与文本之间相关的内容。现时超文本普遍以电子文档方式存在,其中的文字包含有可以链结到其他位置或者文档的连结,允许从当前阅读位置直接切换到超文本连结所指向的位置。

http协议
定义
HTTP(HyperText Transport Protocol)是超文本传输协议的缩写,它用于传送WWW方式的数据。
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。

http与https基本概念
HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
  HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL(Secure Sockets Layer)层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
  HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

http与https的区别
简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。区别主要如下:
  1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
  2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
  3、http和https使用的是完全不同的连接方式,用的默认端口也不一样,前者是80,后者是443。
  4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

http请求的组成
是指从客户端到服务器端的请求消息,信息由4部分组成请求行、消息报头(请求头)、空行 、请求正文

请求行(请求方法URI协议/版本)
请求的第一行是“方法URI协议/版本”例如:GET/sample.jsp HTTP/1.1
以上代码中“GET”代表请求方法,“/sample.jsp”表示URI,“HTTP/1.1代表协议和协议的版本。

消息报头(请求头Request Header)
请求头包含许多有关的客户端环境和请求正文的有用信息。例如,请求头可以声明浏览器所用的语言,请求正文的长度等。例如:
Accept:image/gif.image/jpeg./(请求的图片内容格式)
Accept-Language:zh-cn(zh-CN 是表示中文,fr-FR 是表示法语。 这是RFC1766定义的语言表示方式)
Connection:Keep-Alive(又称持久连接、连接重用,Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。)
Host:localhost(主机名字)
User-Agent:Mozila/4.0(compatible:MSIE5.01:Windows NT5.0)(客户端身份信息)
Accept-Encoding:gzip,deflate( 以压缩格式接收请求数据)

请求正文(body)
请求头和请求正文之间是一个空行,这个行非常重要,它表示请求头已经结束,接下来的是请求正文。请求正文中可以包含客户提交的查询字符串信息:
username=jinqiao&password=1234
在以上的例子的HTTP请求中,请求的正文只有一行内容。当然,在实际应用中,HTTP请求正文可以包含更多的内容。

请求方法
请求方法 解释
GET get 请求获取Request-URI所标识的资源
POST post 在Request-URI所标识的资源后附加新的数据
HEAD head 请求获取由Request-URI所标识的资源的响应消息报头
PUT put 请求服务器存储一个资源,并用Request-URI作为其标识
DELETE delete 请求服务器删除Request-URI所标识的资源
TRACE trace 请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT connect 保留将来使用
OPTIONS options 请求查询服务器的性能,或者查询与资源相关的选项和需求

http响应格式
是指从服务器端到客户器端的响应信息,信息由4部分组成:
响应行,响应头,空行,响应正文

状态行
HTTP-1.1 Status-Code Reason-Phrase CRLF•其中,HTTP-Version表示服务器HTTP协议的版本;Status-Code表示服务器发回的响应状态代码;Reason-Phrase表示状态代码的文本描述。
例如:HTTP/1.1 200 OK \r\n

消息报头
服务器传递给客户端用于说明服务器的一些信息,以及将来继续访问该资源时的策略。
Location:Location响应报头域用于重定向接受者到一个新的位置。
Server:Server响应报头域包含了服务器用来处理请求的软件信息。•WWW-Authenticate:WWW-Authenticate响应报头域必须被包含在401(未授权的)响应消息中下面是WWW-Authenticate响应报头域的一个,例子:WWW-Authenticate: Basic realm="Basic Auth Test!“
Content-Encoding:Content-Encoding实体报头域被使用作媒体类型的修饰符.
Content-Language:Content-Language实体报头域描述了资源所用的自然语言。
Content-Length: Content-Length实体报头域用于指明正文的长度.
Content-Type:Content-Type实体报头域用语指明发送给接收者的实体正文的媒体类型。
Last-Modified:Last-Modified实体报头域用于指示资源最后的修改日期及时间。
Expires: Expires实体报头域给出响应过期的日期和时间。
Expires实体报头域使用的日期和时间必须是RFC 1123中的日期格式,例如:•Expires: Thu, 15 Sep 2005 16:00:00 GMT

响应正文
是服务端返回给客户端的HTML文本内容,或者其他格式的数据,比如:视频流、图片或者音频数据。
如果请求的是HTML页面,那么返回的就是HTML代码。如果是JS就是JS代码。

响应状态码
状态码 解释
100-199 信息状态码,表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程。100(continue)继续发送
200-299 成功状态码,表示成功接收请求并已完成整个处理过程,常用200(OK)成功接收
300-399 重定向状态码,例如,请求的资源已经移动一个新地址,常用302、307和304
400-499 客户端的请求有错误,常用404(Not Found),403(Fobidden)
500-599 服务器端出现错误,常用 500
http协议的各版本
版本号 详情
HTTP/0.9 只接受GET一种请求方法,没有在通信中指定版本号,且不支持请求头。由于该版本不支持POST方法,因此客户端无法向服务器传递太多信息。
HTTP/1.0 第一个在通信中指定的版本号,至今被广泛采用,特别是在代理服务器中。
HTTP/1.1 当前版本号,持久连接被默认采用,并能很好地配合代理服务器工作。还支持以管道方式在同时发送多个请求,以便降低线路负载,提高传输速度。
HTTP/2.0 正在开发中······
HTTP/1.1与HTTP/1.0的区别
1、persistent connection(持久连接)
HTTP/1.0中,每对请求/ 响应都使用一个新的连接。
HTTP/1.1则支持持久连接(默认)。
2、Host域
HTTP/1.1在请求消息头多一个Host域;HTTP/1.0 则没有这个域,建立TCP连接的时候已经指定了IP地址,而且默认一个IP地址只对应一个主机名,IP地址上只有一个host。
3、.带宽优化
HTTP/1.1加入了一个新的状态码100(Continue)。客户端事先发送一个只带头域的请求,如果服务器因为权限拒绝了请求,就回送响应码 401(Unauthorized)
4、请求方法和状态码
HTTP1.1增加了OPTIONS, PUT, DELETE, TRACE, CONNECT这些Request方法。
在HTTP/1.1中新增了24个状态响应码,如409(Conflict)表示请求的资源与资源的当前状态发生冲突;410(Gone)表示服务器上的某个资源被永久性的删除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值