HTTP协议详解
admin
2023-03-21 17:21:11
0

HTTP协议简介

    HTTP协议,中文名称“超文本传输协议”,是互联网最常用的一种网络协议。HTTP的重要应用就是WWW服务(上网服务),即用于WEB浏览器和WEB服务器之间通信的应用,我们习惯称为www应用或web应用。

    当初设计HTTP协议的目的就是提供一种发布和接收HTML(一种页面标记语言 超文本标记语言)页面的方法。

    WWW,简称web,中文译为“万维网”。WWW应用使用的是HTTP协议。HTTP协议的WWW服务的默认服务端口为80;另外一个加密的WWW服务https的默认端口为443.

HTTP协议的版本

    HTTP协议从诞生到现在经历了HTTP/0.9, HTTP/1.0, HTTP/1.1 这几个版本,其中,HTTP/1.0是第一个得到广泛使用的版本,而HTTP/1.1为当前使用的主流版本。

HTTP/1.0介绍

    HTTP/1.0在HTTP/0.9的基础上增加了HTTP请求头、支持更多的请求方法,以及对多媒体对象的处理。HTTP/1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。

HTTP/1.1介绍

    HTTP/1.1重要是修复HTTP设计中的缺陷,从可扩展性,缓存处理,宽带优化,持久连接,HOST头,错误通知,消息传递、内容协商几个方面做了相关改进。

    在连接方面,HTTP/1.1支持持久连接,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟。

    在请求头方面,HTTP/1.1增加更多的请求头和响应头信息,来增强HTTP功能。这使得WEB浏览器可以使用主机头名来明确表示要访问服务器上的哪个WEB站点,这样就可以使用WEB服务在同一个IP地址和端口上配置多个虚拟WEB站点。

HTTP请求方法

    在HTTP通信中,每个HTTP请求报文都包含一个方法。用以告诉WEB服务器端要执行什么具体的动作,这些动作包括:获取指定WEB页面、提交内容到服务器、删除服务器上的资源等,这些HTTP请求报文中包含的方法被称为HTTP方法。

常用的HTTP方法

    GET    客户端请求指定资源信息,服务器返回指定资源

    HEAD   只请求响应报文中的HTTP首部

    POST   将客户端的数据提交到服务器,例:注册表单

    PUT   从客户端向服务器传送的数据取代指定的文档内容

    DELETE 请求服务器删除指定的资源

    MOVE   请求服务器将指定的页面移至另一个网络地址

HTTP状态码

    每当客户端向服务器发送一个HTTP请求时,WEB服务器都会返回一个状态响应代码。这个状态码是一个三位数字,作用是告知WEB客户端此次的请求是否成功,或者是采取其它的动作方式。

HTTP/1.1的状态码分为五大类

 100-199  用于指定客户端相应的某些动作

 200-299  用于表示请求成功

 300-399  用于已经移动的文件且常被包含在定位头信息中指定新的地址信息。(重定向)

 400-499  用于指出客户端的错误

 500-599  用于指出服务器错误

常见的状态码及对应的作用

200 OK 服务器成功返回网页,这是成功的http请求返回的标准状态码

301 Moved Permanently 永久重定向

403 Forbidden 禁止访问,这个请求是合法的,但是服务器端因为匹配了预先设置的规则而拒绝响应客户端的请求,此类问题一般为服务器权限配置不当所致。

404 Not Found 服务器找不到客户端请求的指定页面,可能是客户端请求了服务器不存在的资源导致。

500 Internal Server Error 内部服务器错误,服务器遇到了意料不到的情况,不能完成客户的请求。这是一个笼统的报错,一般为服务器的设置或者内部程序问题导致。(selinux未关闭,)

502 Bad Gateway 坏的网关,一般是代理服务器请求后端服务时,后端服务不可用或者没有完成响应网关服务器,一般为代理服务器下面的节点出问题导致

503 Service Unavailable 服务当前不可用,可能因为服务器超载或停机维护导致,或者是代理服务器后面没有可以提供服务的节点。

504 Gateway Timeout 网关超时,一般是网关代理服务器请求后端服务时,后端服务没有在特定的时间内完成处理请求,一般是服务器过载导致没有在指定的时间内返回数据给代理服务器

HTTP报文有两种

一种是WEB客户端发往WEB服务器的HTTP报文,称为请求报文。

一种是从WEB服务器发往WEB客户端的报文,称为响应报文。

HTTP请求报文由请求行、请求头部(header)、空行和请求报文主体几个部分组成。

  请求行  请求方法  URL           协议版本

          GET   /index.html   HTTP/1.1

  请求头  字段名1: 值1

          字段名2: 值2


  空行

  请求报文主体 GET方法没有请求报文主体,POST方法才有

HTTP响应报文由起始行、响应头部(header)、空行和响应报文主体几个部分组成。

HTTP响应报文的一般格式

    起始行    协议及版本号    数字状态码   状态信息

         HTTP/1.1        200          OK

    响应头部  字段名1:值1

     字段名2:值2

    空行

    响应报文主体(可能是网页,视频,图片)

Fiddler Web Debugger 4(简称Fiddler4)是一款功能强大的HTTP网页抓包调试工具(HTTP协议调试代理工具)。Fiddler4数据抓包软件能记录所有客户端和服务器的http和https请求,允许用户监视,设置断点,甚至修改输入输出数据。

HTTP协议MIME(多用途因特网邮件扩展)类型介绍

当web服务器响应HTTP请求时,会为每一个HTTP对象数据加一个MIME类型。当WEB浏览器获取到服务器返回的对象时,会去查看相关的MIME类型,进行相应处理。

    可以从www服务软件nginx的配置文件conf目录下,查看其支持的媒体(MIME)类型。

    less mime.types

    MIME类型         文件类型

    text/html     html htm shtml;

    text/css         css;

    p_w_picpath/gif        gif;

    ......

HTTP协议之URI与URL

URL,全称“统一资源定位符”,也被称为网页地址;

URI 统一资源标识符

可以这样理解,所有的URL都是URI。

相关内容

热门资讯

不法人员“刘佳”冒充下属企业投... 澎湃新闻记者 岳怀让5月7日,中国国新控股有限责任公司(简称“中国国新”)在官网发布了一则《关于不法...
“拖延军购只会使中国大陆获利”... 台立法机构5月8日表决通过蓝白版“军购特别条例”,预算上限由赖清德当局要求的1.25万亿新台币降至7...
经济热点快评丨前4个月进出口增... 王东辉据海关统计,今年前4月,我国货物贸易进出口总值16.23万亿元,同比增长14.9%,出口、进口...
陈高雅、马晓霖:欧洲议会的“傲... ▎2026年4月30日,欧洲议会在法国斯特拉斯堡举行全体会议。图源:欧洲议会多媒体中心作者 | 陈高...
国家体育总局:关注运动员赛场表... 国家体育总局有关部门负责人近日表示,近期,我们关注到全国多地出现通过商场大屏照片投放、线下粉丝聚集应...
华为坤灵代理商选型指南:重庆五... 导语:在数字化转型加速的当下,企业网络基础设施的稳定性与适配性直接影响业务效率。以华为坤灵系列产品为...
马里中部新一波极端武装袭击致数... 马里中部9日发生多起武装袭击,造成数十人死亡。一名消息人士表示,当地局势“令人担忧”。据悉,一个关联...
第四代自主超导量子计算机“本源... 来源:市场资讯 (来源:贝壳财经) 新京报贝壳财经讯(记者程子姣)5月9日,据本源量子官方公众号,本...
“AI赋能智能制造:大模型时代... 为深入贯彻落实工业和信息化部“人工智能+制造”专项行动,服务黑龙江省“数字龙江”战略与老工业基地振兴...