HTTP 初识

一、HTTP

  • 1. HTTP 概念

    HTTP:Hyper Text Trensfer Protocol,超文本传输协议,互联网应用最广泛的一种网络协议

    • 位置

         HTTP 是一个简单的请求-响应协议,通常运行在 TCP 之上。(应用层)

    • 用途

         它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。

    • 分类

         请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。

  • 2. 网络协议

    网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。

  • 3. HTTP 协议历史 && 标准
    • HTTP/0.9:1991;仅支持GET;

    • HTTP/1.0:1996;支持多种请求、媒体对象

    • HTTP/1.0+:支持持久连接、虚拟主机、连接代理等;

    • HTTP/1.1:1999;校止HTTP中涉及缺陷,性能优化;

    • HTTP-NG(HTTP/2.0):注重 HTTP 协议性能优化、更强大服务逻辑,远程执行框架等;

  • 4. HTTP 请求 && 响应
    • 客户端-请求-服务端:请求 (request) ;
    • 服务端-反馈-客户端:响应 (response) ;

    在这里插入图片描述

  • HTTP 基本原理

    - HTTP 属于 应用层 协议,通过TCP或TLS加密的TCP连接;
    在这里插入图片描述

二、基于 HTTP 的组件系统

  • 用户代理

          用户代理 , 也可理解为代理用户,多指:浏览器 ;
    在这里插入图片描述
         每向服务器发送一个请求,服务器都会处理并返回一个响应,在这个过程中,有许多Proxies 的实体,其作用各不相同;

  • 客户端

         客户端(user-agent):任何能够为用户发起行为的工具(多为 浏览器 扮演该角色—— node.js 也可扮演客户端);

    客户端与服务器端交互流程:
    在这里插入图片描述

  • Web 服务器

        Web 服务器:HTTP 协议通信的另一端,由 Web 服务器服务并提供客户端所请求的文档。

         服务器 只是 虚拟意义上代表一个机器 :可以是共享负载(负载均衡)的一组服务器组成的 计算机集群 ,也可以是一种复杂的软件,通过向其他计算机(缓存、数据库服务、电子商务服务的)发起请求来获取部分或全部资源;

        Web 服务不一定是一台机器,但一个机器上可以装载众多服务器;

  • 代理

    代理:位于浏览器和服务器之间,有许多计算机和其他设备转发HTTP消息

    • 功能:

      • 1.缓存(可以是公开的也可以是私有的,浏览器缓存等)

      • 2.过滤(像反病毒扫描,家长控制)

      • 3.负载均衡(多个服务器服务不同请求)

      • 4.认证(不同资源进行权限管理,身份、共享资源等)

      • 5.日志记录(允许存储历史信息)

      • ……

  • 概括

    打开浏览器访问页面过程总结由 user-agent 发起请求 , 通过浏览器上的代理具体实现

三、HTTP 相关概念

  • HTTP 基本特性
    • HTTP 是简单的(允许测试、降低门槛)

    • HTTP 是可扩展的

    • HTTP 是无状态(没有记忆存储功能)的,有会话的(同一连接中两个请求之间没有关系

    • HTTP 是持久连接的

  • HTTP 控制特性
    • 功能:

      • 1.缓存(可以是公开的也可以是私有的,浏览器缓存等)

      • 2.过滤(像反病毒扫描,家长控制)

      • 3.负载均衡(多个服务器服务不同请求)

      • 4.认证(不同资源进行权限管理,身份、共享资源等)

      • 5.日志记录(允许存储历史信息)

      • ……

  • HTTP 流
    • 1.打开一TCP连接:TCP连接被用来发送一条或多条请求,以及接收回应消息;

    • 2.发送一个HTTP报文:HTTP报文是语义可读的;

    	GET / HTTP / 1.1
    	Host: developer.mozilla.org
    	Accept-Language:fr
    
    • 3.读取服务端返回的报文信息
    	HTTP / 1.1 200 OK
    	Last-Modified: Tue, 01 Dec 2009 20:18:22 GMT
    	Content-Length:12345
    	Content-Type: text/html
    
    • 4.关闭连接或者为后续请求重新连接;

拓展

  • 端口号拓展
协议名端口号中文名
FTP21文件传输协议
Telnet23远程登录协议
POP3110邮件接收协议
SMTP25邮件传送协议
HTTP80超文本传输协议
DNS53域名解析协议
SNMP161简单网络管理协议
TFTP69简单文件传输协议(UDP服务)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值