http与https的详细介绍

HTTP原理

超文本传输协议(HyperText Transfer Protocol 缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。

HTTP(HyperText Transfer Protocol超文本传输协议),是一个基于请求与响应,无状态的,应用层的协议常基于TCP/IP协议传输数据·互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准

设计HTTP的初表是为了提供一种发布和接收HTML页面的方法。

HTTP工作流程

  • 客户端通过TCP三次握手与服务器建立连接。

  • TCP建立连接成功后,向服务器发送HTTP请求

  • 服务器收到HTTP请求后,向客户端发送http响应

  • 客户端通过TCP四次断开服务器断开TCP连接

什么是B/S、C/S架构

C/S(Client/Server)客户机和服务器结构

B/S(Browser/Server)浏览器和服务器结构

HTTP不同版本的区别

在HTTP 0.9和1.0中,TCP连线在每一次请求/回应对之后关闭。

在HTTP 1.1中,引入了保持连线的机制,一个连接可以重复在多个请求/回应使用。持续连线的方式可以大减少等待时间,因为在发出第一个请求后,双方不需要重新运行TCP握手程序

URL统一资源定位符

协议方案名:http,ftp,fle,mailto,telnet,ldap...

登录信息:如果网页需要认证时·需要填写该参数·所以是可选项。

服务器地址:可以使IP地址形式,也可以是能被DNS解析为IP地址的域名形式。

端口号:指定服务器连接的端口号,也选填,不填则指向本协议的默认端口号。

带层次的文件路径:获取资源在服务器中的具体地址。

查询宇符串:针对已指定路径的资源·可使用查询字符串来获取想要的参数,此项也是可选项。

片段标识符:信息片段字符串·用来标记已获取资源中的子资源(在文档中的某个位置)。

统一资源标志符(URI)

URl(Universal Resource ldentifier 统一资源标志符),用来标识抽象或物理资源的一个紧凑字符串。

HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。

HTTP使用统一资源标识符(Uniform Resource ldentifiers, URl)来传输数据和建立连接。

URI和URL的区别:URL是URI的一个子集。

服务器响应消息

HTTP响应报文:在接收和解释请求消息后服务器返回一个HTTP响应消息。

HTTP响应也由四个部分组成,分别是

  • 状态行
  • 消息报头
  • 空行
  • 响应正文

状态码

状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值

  • 1xx:指示信息--请求已被服务器接收,继续处理
  • 2xx:成功--请求已成功被服务器接收、理解、并接受
  • 3xx重定向--需要后续操作才能完成这一请求
  • 4xx客户端错误--请求有语法错误或请求无法实现
  • 5xx服务端错误--服务器在处理某个正确请求时发生错误

常见状态码

200 OK //客户端请求成功

400 Bad Request //客户端请求有语法错误,不能被服务器所理解

401 Unauthorized //请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域一起使用

403 Forbidden//服务器收到请求,但是拒绝提供服务

404 Not Found//请求资源不存在,eg:输入了错误的URL

500 Internal Server Error //服务器发生不可预期的错误

503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常


POST

首先生成一个 boundary 用于分割不同的字段,为了避免与正文内容重复,boundary 很长很复杂。然后 Content-Type 里指明了数据是以 mutipart/form-data 来编码,本次请求的 boundary 是什么内容。消息主体里按照字段个数又分为多个结构类似的部分,每部分都是以--boundary 开始,紧接着内容描述信息然后是回车,最后是字段具体内容(文本或二进制)如果传输的是文件,还要包含文件名和文件类型信息。消息主体最后以 --boundary--标示结束。

HTTPS简介

全称:Hyper TextyTransfer Protocol over Secure Socket Layer·就是HTTP的安全版·再通俗点就是身披SSL外壳的HTTP。

HTTPS = HTTP+SSL/TLS

HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSLTLS建立全信道,加密数据包·HTTPS使用的主要目

的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。

HTTPS特点

  • 内容加密采用混合加密技术,中间者无法直接查看明文内容验证身份:
  • 通过证书认证客户端访问的是自己的服务器保护数据完整性:
  • 防止传输的内容被中间人冒充或者篡改
相关推荐
李洛克071 小时前
RDMA CM UDP 通信完整指南
单片机·网络协议·udp
北京耐用通信2 小时前
终结混合网络调试噩梦:耐达讯自动化实现EtherCAT对DeviceNet设备的直接读写
网络·人工智能·物联网·网络协议·自动化·信息与通信
千天夜3 小时前
文件系统磁盘块分配方式:从隐式链接到索引结构
网络·网络协议
2501_915918413 小时前
HTTPS 端口深度解析,443 并不是唯一入口,理解 TLS 流量行为与抓包策略
网络协议·http·ios·小程序·https·uni-app·iphone
2501_916008894 小时前
iOS 开发者工具全景图,构建从编码、调试到性能诊断的多层级工程化工具体系
android·ios·小程序·https·uni-app·iphone·webview
shcoc4 小时前
备用 申请acme 申请ssl
网络·网络协议·ssl
YuSun_WK5 小时前
zerotier-cli listpeers/ listnetworks命令以及IP的理解
网络·网络协议·tcp/ip
2501_915921435 小时前
从需求到上架,现代 iOS 开发流程的工程化方法论
android·ios·小程序·https·uni-app·iphone·webview
ogre20206 小时前
http header Authorization: Bearer和token之间可以有几个空格
http
小跌—6 小时前
Linux:理解HTTPS
网络协议·https