关于HTTP协议的那些事情

HTTP协议简介

HTTP协议,即超文本传输协议(HyperText Transfer Protocol,缩写HTTP),是一种用于分布式、协作式和超媒体信息系统的应用层协议,是万维网的数据通信的基础。

HTTP发展是由蒂姆.伯纳思-李于1989年在欧洲核子研究组织(CERN)所发起的。其标准制定由万维网协会(World Wide Web Consortium,W3C)和互联网工程任务组(Internet Engineering Task Force,IETF)进行协调,最终发布了一系列的RFC,其中最著名的要属1999年6月公布的RFC 2616,定义了HTTP协议中现今广泛使用的版本------HTTP1.1.

2014年12月,互联网工程任务组的一个工作小组将HTTP/2的标准提议递交至IESG进行讨论,于2015年的2月17日被批准。由此HTTP/2标准在2015年的5月以RFC 7540正式发表,取代了HTTP1.1成为HTTP的实现标准。

HTTP协议概述

HTTP是一个客户端终端和服务器端请求应答的标准。通过使用网页浏览器、爬虫或者其他工具,客户端会发起一个http请求发哦服务器的指定端口(默认80)。客户端被称之为用户代理程序。应答的服务器上存储一些资源,例如HTML或者图像等,因此这个应答服务器被称之为源服务器。

通常情况下,HTTP请求由客户端发起,创建一个到服务器指定端口的TCP链接,HTTP服务器则在端口监听客户的请求,一旦收到请求,服务器回想客户端返回一个状态,比如200 ok以及返回的内容,请求的文件、错误信息或者其他信息。

HTTP工作原理

HTTP协议定义Web客户端如何从Web端请求web页面以及服务器如何将web页面传送给客户端,协议采取了请求/响应模型。客户端向服务器发送一个请求报文,包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行为作为响应,响应的内容包含协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。

HTTP请求/响应的步骤:

1.客户端连接到Web服务器

客户端,通常是浏览器,于Web服务器的HTTP端口建立一个TCP套接字连接。

2.发送HTTP请求

通过TCP套接字,客户端向Web服务器阿松一个文本的请求报文,请求报文由请求行、请求头部、空行、请求数据四部分组成。

3.服务器接受请求并返回HTTP响应

Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取,一个响应由状态行、响应头部、空行和响应数据四部分构成。

4.释放连接TCP连接

如果connection模式是close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接,如果connection模式是keepalive,那么该链接则会保持一段时间,在该时间段内可以继续接收请求。

5.客户端浏览器解析HTML内容

客户端浏览器会对状态行进行解析,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下是若干字节的HTML文档和文档的字符集。客户端浏览器读取相应数据HTML,根据HTML的语法进行格式化,最后在浏览器窗口中显示。

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值