HTTP协议

一、HTTP协议简介

超文本传输协议(英文: HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础,他和tcp/ip协议族的其他协议一样,也是用于客户端和服务端的通信。

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

2014年12月,互联网工程任务组 (IETF) 的Hypertext Transfer Protocol Bis (htpbis) 工作小组将HTTP/2标准提议递交至IESG进行讨论,于2015年2月17日被批准HTTP/2标准于2015年5月以RFC 7540正式发表,取代HTTP 1.1成为HTTP的实现标准。

二、HTTP协议概述

HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准协议。我们通过使用网页浏览器或者其它的工具发起HTTP请求,这个客户端为我们称之为用户代理程序(user agent),服务器上存储着一些资源,比如HTML文件和图像。我们称这个应答服务器为源服务器(origin server)。

通常,由HTTP客户端发起一个请求,此时建一个到服务器指定端口(默认是80端口)的tp连接] HTTP服务器则在那个端口监听客户端的请求。一旦收到清求,服务器会向客户端返回一个状态,比如"HTTP/1.1 200 K",以及返回的内容,如请求的文件、错误消息、或者其它信息。

三、HTTT工作原理

步骤

    • 客户端连接到web服务器

浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 P 地址,一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。

    • 发送HTTP请求

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

    • 服务器接收请求并返回HTTP响应

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

    • 服务器释放连接TCP

  1. connection模式为colse,这服务器主动关闭

  1. connection模式为keepalibe,会保持一段时间

    • 客户端浏览器解析HTML内容

客户端浏览器读取响应数据HTML,根据HTML语法对其进行格式化,并且显示在浏览器上。

四、HTTP报文格式

    • HTTP请求方法

HTTP/1.1协议中共定义了八种方法(也叫"动作”)来以不同方式操作指定的资源,我们目前最常见的有两种一种get,另外一种叫post.请求的目的就是获取或操作资源,互联网的任何数据,我们都能称之为资源,数据库内的一条数据,一个网页,一个视频都是资源。请求的方法决定了我们怎么去操作这个资源。

  1. GET 向指定的资源发送显示请求,使用该方法只用在读取数据,常用语查询数据的请求。

  1. POST 向指定资源递交数据,请求服务器进行除了(例上传表单或者上传文件)。数据被包含在请求文本中。这个请求可能会创建新的资源或者修改现有资源。常用与对数据的增删改。

    • 2.urI ,urn,urL

  1. URI叫统一资源标识符 Uniform Resource ldentifier,这是一个比较广的概念。

  1. 通过[定位]的方式来标识资源,这种方式叫[统一资源定位符],也就是我们说的[URL]。

  1. 通过[命名]的方式来标识资源,这种方式叫[统一资源命名符],也就是我们说的[URN]。

  1. url格式

    • 响应码

    • HTTP头部

    • http内容协商

    • 媒体类型

因特网上有数千种不同的数据类型,HTTP仔细地给每种要通过web传输的对象都打上了名为MIME类型。

MIME类型是一种文本标记。表示一种主要对象类型和一个特定的子类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值