详解HTTP/HTTPS协议

HTTPS介绍

超文本传输安全协议(英语:HyperText Transfer Protocol Secure,缩写:HTTPS;常称为HTTP over TLS、HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。这个协议由网景公司(Netscape)在1994年首次提出,随后扩展到互联网上。 -Wikipedia

HTTP就不介绍了,网上一度。

主要作用

  • 浏览器正确地实现了HTTPS且操作系统中安装了正确且受信任的证书颁发机构;
  • 证书颁发机构仅信任合法的网站;
  • 被访问的网站提供了一个有效的证书,也就是说它是一个由操作系统信任的证书颁发机构签发的(大部分浏览器会对无效的证书发出警告);
  • 该证书正确地验证了被访问的网站(例如,访问https://example.com时收到了签发给example.com而不是其它域名的证书);
  • 此协议的加密层(SSL/TLS)能够有效地提供认证和高强度的加密。

HTTP基本工作流程

  • 客户端通过TCP进行三次握手之后与服务器建立连接

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; SYN:同步序列编号(Synchronize Sequence Numbers)

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手.

戳我了解更多

  • TCP成功建立连接之后,向服务器发送HTTP请求
  • 服务器收到请求之后,向客户端发送回应
  • 客户端通过TCP四次断开,与服务器断开TCP连接

HTTP URL结构

http://user:pass@www.example.com:80/dir/index.htm?uid=1#ch1
http:// 协议名 分http和https,ftp,file,mailto 其中包括php伪协议
user:pass 大多用于登陆信息 如:ftp、redis等等
www.example.com 域名或IP
:80 端口号,常用:21,23,80,443
/dir/index.htm 带有目录结构的文件路径
?uid=1 查询字符串
ch1 片段标识符

請求響應

 

点赞

发表评论

电子邮件地址不会被公开,只有你知道( ̄▽ ̄)"