Linux系统运维之HTTP协议---超文本传输协议

一、HTTP协议介绍

HTTP协议,全称是Hyper Text Transfer Protocol,超文本传输协议。是互联网上常用的通信协议之一,重要的应用之一是www服务,即web浏览器和web服务器之间的通信,默认端口号为80,提供一种发布和接收HTML(一种页面标记语言)页面的用法;
https(加密传输) 加密的www服务应用,它的默认端口号为443,主要用于网银,支付等和钱有关的相关业务。

二、HTTP版本介绍

1、HTTP/1.0

HTTP/1.0是第一个得到广泛应用的HTTP版本,能实现包含生动图片的Web也页面和交互式表格,它规定浏览器只能与服务器保持短暂的连接,浏览器每次请求都要与服务器建立起一个TCP连接,服务器完成请求处理后即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。

2、HTTP/1.1

HTTP/1.1的重点是修复HTTP设计中的缺陷,从扩展性,缓存处理,带宽优化,持久连接,HOST头,错误通知,信息传递,内容协商等都做了相关的改进。
连接:
在连接方面,HTTP/1.1支持持久连接,在一个TCP连接上传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和时间延迟。
请求头:
HTTP/1.1增加了更多的请求头和响应头信息,来增强HTTP功能。

三、HTTP请求方法

客户端请求web服务器时,告诉服务器具体执行什么操作

HTTP方法作用描述
GET客户请求指定的信息源,服务器返回指定资源
HEAD只请求响应报文HTTP的首部
POST将客户端的数据提交到服务器,例如:注册表
PUT从客户端传送的数据取代指定的文档内容
DELETE请求服务器删除Request-URI所有标识的资源
MOVE请求服务器将指定的页面移至另一个网络地址

四、HTTP状态码

状 态 码详细叙述说明
200- ok, 服务器成功返回网页,成功的http请求,返回标准状态码
301- moved permanently,永久跳转,所有请求的网页将永久跳转到被设定的心新的位置
403- Forbidden,禁止访问,这个请求是合法的,但是服务器因为匹配了预先设置的规则而拒绝客户的请求,此类问题一般是服务器或者服务权限配置不当导致
404- Not Found,服务器找不到客户端请求的指定页面,可能是客户端请求了服务器上不存在资源导致
500- Bad Gateway,坏的网关,一般是代理服务器请求后端服务器时,后端服务不可能或者没有完成响应网关服务器,一般为反向代理服务器下面的节点出问题
503- Server Unavailable,服务器当前不可用,可能因为服务器超载或者服务器停机维修导致,或者是反向服务器后面没有可提供服务的节点
504- Gateway Timeout,网关超时,一般是网关代理服务器访问后端服务器时,后端服务没有在特定的时间完成处理请求,一般是服务器过载导致没有在指定时间内返回数据给前端的代理服务器

五、HTTP报文

HTTP报文中有很多行内容,不同行的字段都是一些ASCALL码串,各个字段的长度也是不同的。HTTP报文可以分为两种,一种是从Web客户端发往Web服务器的HTTP报文,称之为请求报文;另一种是从Web服务器端发往Web客户端的报文,称之为响应报文,两种报文的数据格式相似。

1、HTTP请求报文(Request Message)

请求报文由请求行、请求头部(header)、空行和请求报文主体几个部分组成,如下表所示报文的格式:

报文格式报文信息
请求行请求方法URL协议版本
请求头字段名1:值1; 段名2:值2 …;例如:Accept:image/gif,image/jpeg;Accept-Language:zh-cn …
空行空白无内容
请求报文主体GET方法没有请求报文主体,POST方法才有

请求行:
请求报文的第一行,用来说明客户想要做什么,内容由请求方法字段、URL字段和PHP协议版本字段共三个字段组成,他们之间由空格分隔。下面由GET /index.html HTTP/1.1为例说明:

请求方法字段示例URL字段示例HTTP协议版本
GETindex.htmlHTTP/1.1

请求头部:
请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号":"分隔。请求头部的作用是客户端把相关的信息告诉给服务器,常见的请求的头部如下:

请求头部信息说明
Accept:image/gif,image/jpeg媒体类型
Accept-Language:zh-cn语言类型
Accept-Encoding:gzip,deflate支持压缩
User-Agent:Mozilla/4.0(compatible;MSIE 6.0;Windows NT;…)客户端类型
Host:www.etiantian.org主机名

空行
最后一个请求头部信息之后是一个空行,发送回车符和换行符,通知Web服务器空行一下不会有请求头部的信息了。

请求报告主体
请求报告主体包括了要发送给Web服务器的数据信息;请求报文主体不会应用于HTTP的GEt命令方法,而是应用于POST方法。POST方法适用于需要客户填表的场合。

2、HTTP响应报文(Response Message)

HTTP响应报文由起始行、响应头部(header)、空行和响应报文主体几个部分组成,与HTTP请求报文格式类似

报文格式报文信息
起始行协议及版本号,数字状态码,状态信息
响应头部字段名1:值1;字段名2:值2 …;例如:Content-Type:text/html;charset=utf-8;Content-Lenght:78 …
空行空白无内容
响应报文主体如下介绍

起始行:
响应报文的起始行,也叫状态行,用来说明服务器响应客户端的请求状况,一般为协议及版本号,数字状态码,状态情况。

响应头部:
和请求报文类似,起始行后面一般有若干个头部字段,每个头部字段包含一个名字和一个值,两者之间用冒号分隔,头部结尾也是一个空行结束

空行:
最后一个响应头部信息之后是一个空行,发送回车符和换行符,通知客户端行空行下无头部信息。

响应报文主体:
响应报文主体中装载要返回给客户端的数据,这些数据可以是文本,也可以是二进制的(如图片,视频),如下所示:

<html>
<head><title>oldboy's blog</title><head>
I am a oldboy ,mysql blog is ....
</body>
</html>

六、URL与URI介绍

1、URL

URL,全称Uniform Resoure Location,中文翻译为统一资源定位符,也称为网页地址(网址),Internet上用来描述资源信息的字符串,主要用在各种www客户端服务器和服务器程序上。
组成部分:
第一部分:协议,例如:http
第二部分:主机资源服务器IP或者域名(端口号),例如:www.oldboy.org
第三部分:主机资源的具体地址,如目录和文件名等
第一部分与第二部分之间用"//“符号隔开,第二部分与第三部分用”/"符号分隔。

2、URI

URI,全称Uniform Resoure Identifier,统一资源标识符,是一个用于标识某一互联网资源名称的字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值