HTTP协议

1.什么是HTTP

HTTP是一种可靠的数据传输协议,也叫超文本传输协议。能够用来在客户端和服务器之间进行数据传输。由于它是一种可靠的数据传输协议,所以我们不用担心在数据传输过程中数据被损毁或产生混乱。

2.Web客户端和服务器

HTTP协议使用来在Web客户端和服务器进行数据传递的。它们共同构成了万维网的基本组建。客户端发起HTTP请求,服务器在HTTP响应中返回所请求的数据。

客户端和服务器

3.资源

Web服务器是Web资源的宿主。Web资源是Web内容的源头。Web资源包括静态文件,如文本文件、html文件、jpeg文件等,也包括根据需要生成内容的软件程序,这些动态资源可以根据实际情况来生产不同的内容。总之,所有类型的内容来源都是资源。如网络摄像机网关、股票交易网关、搜索引擎。

3.1 媒体类型

数据的MIME类型,当浏览器从服务器拿到数据时,根据MIME类型来决定如何处理数据。MIME类型是一种文本标记,表示一种主要的对象类型和一个特定的子类型,中间由一条斜杠来分隔。

HTML格式的文本文档由text/html类型来标记

普通的ASCII文本文档由text/plain类型来标记

JPEG版本的图片为image/jpeg类型

微软的PowerPoint演示文件为application/vnd.ms-powerpoint类型

3.2 URI

服务器的资源名被称作统一资源标识符(Uniform Resource Identifier,URI)。URI就像因特网上的邮政地址一样,在世界范围内唯一并定位信息资源。

如:http://img2.imgtn.bdimg.com/it/u=395920684,863299018&fm=21&gp=0.jpg

URI有两种形式,分别称为URL和URN。

3.3 URL

统一资源定位符(URL)是资源标识最常见的形式。URL描述了一台特定服务器上某资源的特定位置。

    大部分URL都遵循一种标准格式,这种格式包含三个部分。

    URL的第一部分方案(scheme)。用来说明访问资源所使用的协议类型,通常就是HTTP协议(http://)。

    第二部分是服务器的地址,如www.joes-hardware.com。

    其余的部分指定Web服务器上某个资源的位置,如/specials/saw-blade.gif。

3.4 URN

统一资源名,被作为特定内容的唯一名称来使用,与资源所在地无关。通过URN,可以用同一个名字通过多种网络访问协议来访问资源。

比如,因特网标准文档RFC2414可以用URN来命名为urn:ietf:rfc:2414

URN处于试验阶段,还未大范围使用。

4.事务

一个HTTP请求和响应一起被称作一个HTTP事务。如图:

HTTP事务

4.1 方法

HTTP支持不同的命令,这些命令叫HTTP方法(method)。每个HTTP请求都包含一个方法。服务器通过这些方法来执行响应的动作。常见的HTTP方法如下:

HTTP方法                        描述

  GET                            从服务器获取资源

  PUT                            将来自客户端的数据存储到一个命名的服务器资源中去

  DELETE                       从服务器中删除资源

  POST                          将客户端的数据发送到服务器

  HEAD                         仅发送命名资源响应中的HTTP首部

4.2 状态码

每条HTTP响应都会携带一个状态码,用来告知客户端服务器处理请求的结果。


常见状态码

每个状态码,还对应一个解释性的“原因语句”文本。用来描述处理结果。

5.报文

报文分为请求报文和响应报文。报文分包括三个部分

起始行

报文的第一行就是起始行,在请求中用来说明要服务器进行那种操作,在响应报文中说明出现了什么情况。

首部字段

起始行后有零个或多个首部字段,以key:value的形式出现。首部以一个空行结束

主体

空行后就是报文的主题。包含所有类型的数据。

一个HTTP事务实例

6.连接

HTTP是应用层协议,传输层使用TCP传输控制协议提供可靠的数据传输。当然要在客户端和服务端进行通信,还需要IP地址和端口号,所以在URL中需要指定IP或者端口号,通常默认端口号就是80,当然也可以是其他的端口号,关于IP地址,我们使用域名来通过DNS域名解析服务来解析成IP。

7.协议版本

HTTP的版本有0.9、1.0、1.0+、1.1、2.0。目前使用的协议版本是1.1。

8.Web的结构组建

代理   位于客户端和服务器之间的HTTP中间实体

缓存   HTTP仓库,使常用页面的副本可以保存在离客户端更近的地方。

网关   连接其他应用程序的特殊Web服务器

隧道    对HTTP同学报文进行盲转发的特殊代理

Agent代理    发起自动HTTP请求的半智能Web客户端

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容