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特点

  • 内容加密采用混合加密技术,中间者无法直接查看明文内容验证身份:
  • 通过证书认证客户端访问的是自己的服务器保护数据完整性:
  • 防止传输的内容被中间人冒充或者篡改
相关推荐
interception4 小时前
爬虫逆向:websocket实战案例,全国建筑市场
爬虫·websocket·网络协议
i_am_a_div_日积月累_4 小时前
websocket设置和断开机制
网络·websocket·网络协议
Jennifer33K6 小时前
WebSocket!!
网络·websocket·网络协议
AuroraDPY9 小时前
计算机网络:HTTP协议
网络协议·计算机网络·http
小马_6669 小时前
[好记性不如烂笔头]RT_Thread http ota升级踩坑笔记(CRC校验不通过)
笔记·物联网·网络协议·http
r***86989 小时前
Nginx中$http_host、$host、$proxy_host的区别
运维·nginx·http
拾忆,想起9 小时前
Dubbo服务上线无法调用?一站式排查指南来了
服务器·网络·网络协议·tcp/ip·dubbo
想不明白的过度思考者11 小时前
Cookie与Session深度解析:原理、区别
网络·http·客户端·cookie·session·服务端
工程师华哥11 小时前
网络参考模型:从OSI到TCP/IP的数据传输原理,有图解(附知识点文档)
网络协议·tcp/ip·计算机网络·网络工程师·华为认证·路由技术·网络参考模型