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

  • 内容加密采用混合加密技术,中间者无法直接查看明文内容验证身份:
  • 通过证书认证客户端访问的是自己的服务器保护数据完整性:
  • 防止传输的内容被中间人冒充或者篡改
相关推荐
7ACE2 小时前
Wireshark TS | 超时重传时间不翻倍
网络协议·tcp/ip·wireshark
微爱帮监所写信寄信3 小时前
微爱帮监狱寄信写信工具照片高清处理技术架构
开发语言·人工智能·网络协议·微信·php
li星野3 小时前
TCP 套接字+TLS+HTTP 基本认证
网络协议·tcp/ip·http
爱学java的ptt6 小时前
TCP详解
网络·网络协议·tcp/ip
RisunJan7 小时前
Linux命令-htpasswd命令(创建和管理用于 HTTP 基本认证(Basic Authentication)的密码文件)
linux·运维·http
阿拉伯柠檬7 小时前
传输层协议TCP(一)
linux·网络·网络协议·tcp/ip·面试
wanzhong23338 小时前
开发日记2-创建http文件测试http接口
网络·网络协议·http
sweet丶1 天前
DNS安全威胁:从劫持、污染到放大攻击的演练
网络协议·安全
小南知更鸟1 天前
前端静态项目快速启动:python -m http.server 4173 与 npx serve . 全解析
前端·python·http
科技块儿1 天前
电商风控实战:如何利用访客IP防控有效识别刷d行为?
大数据·网络协议·tcp/ip