HTTP(超文本传输协议)

       HTTP--Hyper Text Transfer Protocol,超文本传输协议,是一种建立在TCP上的无状态连接,整个基本的工作流程是客户端发送一个HTTP请求,说明客户端想要访问的资源和请求的动作,服务端收到请求之后,服务端开始处理请求,并根据请求做出相应的动作访问服务器资源,最后通过发送HTTP响应把结果返回给客户端。

1 主要特点

1)支持客户端/服务器模式

2)简单快速:客户端向服务器请求服务时,只需传送方法和路径。请求常用的方法有GET、HEAD、POST,每种方法规定了客户端与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度快

3)灵活:HTTP协议允许传输任意类型的对象,正在传输的类型由Content-Type标记。

4)无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户端的请求,收到客户端的应答后,即断开连接。采用这种方式,可以节省传输时间。

5)无状态:HTTP协议是无状态协议,无状态是指协议对于事务处理是没有记忆功能的。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次传送的数据量增大,另一方面,在服务器不需要先前信息时它的应答就比较快。

 

2 HTTP协议请求/响应步骤

  • 客户端连接到web服务器
  • 发送HTTP请求
  • 服务器接收HTTP请求并返回HTTP响应
  • 释放TCP连接
  • 客户端浏览解析HTML内容

 

 

3 HTTP状态码:5种可能的取值

1xx:指示信息--表示请求已接收,继续处理

2xx:成功--表示请求已成功接收、理解、接受

3xx:重定向--要完成请求必须进行更近一步的操作

4xx:客户端错误--请求语法错误或者请求无法实现

5xx:服务端错误--服务器未能实现合法的请求

        HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL。

1 SSL(Security Sockets Layer 安全套接层)

  1. 为网络通信提供安全及数据完整性的一种协议
  2. 是操作系统对外的API,SSL 3.0后更名为TLS
  3. 采用身份验证和数据加密来保证网络通信的安全和数据的完整性

2 HTTPS的传输流程

  • 浏览器将支持的加密算法发送给服务器
  • 服务器选择一套浏览器支持的加密算法,以证书的形式会发给浏览器
  • 浏览器验证证书的合法性,并结合证书公钥进行加密消息发送给服务器
  • 服务器使用私钥解密信息,验证哈希,加密响应消息回复给浏览器
  • 浏览器解密响应消息,并对消息进行验证,之后进行加密交互数据

 

问题:

1)在浏览器地址栏键入URL,按下回车之后经历的流程

  1. DNS解析
  2. TCP连接
  3. 客户端发送HTTP请求
  4. 服务器接收请求并发送HTTP响应
  5. 客户端浏览器解析渲染页面
  6. 连接结束

 

2)GET请求和POST请求的区别

从三个层面来答:

1、HTTP报文层面:

  • GET将信息放在URL中,POST放在报文体中
  • 因为GET请求将信息放在URL中,所以GET请求只能进行URL编码,ASCII字符,且在URL中传送的参数长度是有限的。而POST支持多种编码、多种字符,长度没有限制
  • GET没有POST安全,因为GET参数暴露在URL中,所以不能用来传递敏感信息
  • GET产生一个数据包,而POST产生两个:对于GET请求,浏览器会把HTTP header和data一起发送出去,服务器响应200(返回数据);而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)

2、数据库层面:GET符合幂等性和安全性,POST不符合

3、其他层面:

  • GET在浏览器回退时是无害的,而POST会再次提交请求
  • GET请求会被浏览器主动缓存,而POST不会,除非手动设置
  • GET请求参数会被完整的保留在浏览器的记录里,而POST中的参数不会被保留

3)HTTPS和HTTP的区别

  1. HTTPS需要到AC申请证书,HTTP不需要
  2. HTTPS是密文传输,HTTP是明文传输
  3. 连接方式不同,HTTPS默认端口是443,HTTP默认使用80端口
  4. HTTPS=HTTP+加密+认证+完整性保护,较HTTP安全

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值