http协议

HTTP(超文本传输协议)是互联网上应用最广泛的协议,用于发布和接收HTML页面。从HTTP/0.9到HTTP/2.0,协议不断演进,增加了缓存、错误处理、多请求支持等功能。HTTP事务包括请求和响应,常见状态码如200表示成功,404表示未找到资源,500表示服务器错误。HTTP方法有GET、POST等,用于不同类型的资源交互。
摘要由CSDN通过智能技术生成

http协议

http协议简介

http(HyperText Transfer Protocol,超文本传输协议)是互联网上应用最为广泛的一种网络协议。所有的www文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext)。这成为HTTP超文本传输协议标准架构的发展根基。

超文本就是带有超链接的文本,超链接就是基于一些链接实现文档间跳转的文本。

http协议的版本

  • HTTP/0.9:

    • 最原始版本,功能简陋。
    • 只接受get一种请求方法,
    • 并且在通讯中不指定版本号
    • 没有 header 描述数据的信息
      已被市场所淘汰
  • HTTP/1.0:

    • 在这个版本里面它增加了很多命令 。 例如:head (害d)/ post / put / 。
    • 还增加了协议号,
    • 1.0是HTTP被广泛使用的第一个版本,特别是在代理服务器中
  • HTTP/1.1:

    • 增加了缓存功能,引入了长连接
    • 支持以管理的方式同时发送多个请求,以便降低线路负载,提高传输速度。
    • 但是 在传输数据时是以明文方式传输,安全性略差、并且每次传输都要重新连接
  • HTTP/2.0:

    • 解决了上几个版本的一系列问题, 所有数据以’二进制’传输
    • 还大幅度提升了web性能,减少网络延迟,通常用于https

HTTP/1.1相较于 HTTP/1.0 协议的区别主要体现在:

a) 缓存处理

b) 带宽优化及网络连接的使用

c) 错误通知的管理

d) 消息在网络中的发送

e) 互联网地址的维护

f) 安全性及完整性

名词解释

HTML:HyperText Mark Language,超文本标记语言

URI:Uniform Resource Indentifier,统一资源标识符。用于定义全局范围内(包括但不仅限于互联网)去标记唯一的、定位一种资源访问路径的方式,或者命名方式,被称作统一资源标识符。这里的统一指的是路径格式上的统一。

URL:Uniform Resource Location,统一资源定位符,是URI的一个子集,用于描述在互联网上互联网资源的统一表示格式(protocol://host:port/path/to/file)

URL基本语法:

<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>1.

params:参数,如http://www.idfsoft.com/bbs/index.html;gender=f,这里的gender=f就是一个参数

URN:Uniform Resource Naming,统一资源命名符,也是URI的一个子集

MIME:Multipurpose Internet Mail Extension,多用途互联网邮件扩展。

MIME可以将非文本数据在传输前重新编码为文本格式再传输给对方,接收方能够用相反的方式将其重新还原为原来的格式,还能够调用相应的程序来打开此文件

http事务:http协议的一次请求(request)和响应(response)的过程就称之为http事务

动态网页:包含静态内容和动态内容(动态内容需要执行)

服务器端存储的不是HTML文档,而是编程语言开发的脚本,脚本接受参数之后在服务器端运行一次,运行完成之后会生成HTML格式的文档,并把生成好的HTML文档传给客户端

Web资源:web resource

静态文件:.jpg,.gif,.html,.txt,.js,.css,.mp3,.avi

动态文件:.php,.jsp

PV:Page View,打开了多少页面

UV:User View,独立IP量

访问网站的方法

GET:从服务器获取一个资源

HEAD:只从服务器获取文档的响应首部,而不会发送响应内容。当我们只需要查看某个页面的状态的时候,使用HEAD是非常高效的

POST:向服务器发送要处理的数据。服务器端通常通过提供一个表单,客户端填入数据时会把内容放入entity-body中提交提交给服务器端

PUT:将请求的主体部分存储在服务器上。说白点就是上传数据

DELETE:请求删除服务器上指定的文档

TRACE:追踪请求到达服务器中间经过的代理服务器

OPTIONS:请求服务器返回对指定资源支持使用的请求方法

常用的状态码

status:响应状态码,用于标记请求处理过程中发生的情况,常见的响应状态码有以下几种:

1xx:100-101,纯信息提示

   100:服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求,响应状态码为"Continue"

   101:服务器转换协议,服务器将遵从客户的请求转换到另外一种协议,响应状态码为"Switching Protocols"

2XX:200-206,“成功”类的信息

   200:请求资源正常。请求的所有数据通过响应报文的entity-body部分发送,响应状态码为“OK”

   201:请求被创建完成,同时新的资源被创建,响应状态码为"Created"

   202:供处理的请求已被接受,但处理未完成,响应状态码为"Accepted"

   203:文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝,响应状态码为"Non-authoritative information"

   204:没有新文档。浏览器应该继续显示原来的文档。响应状态码为"No Content"

   205:没有新文档。但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容,响应状态码为"Reset Content"

   206:客户发送了一个带有Range头的GET请求,服务器完成了它

3XX:300-305,“重定向”类的信息

   301:永久重定向,响应状态码为“Moved Permanently”

​    请求的URL指向的资源已经被删除,但在响应报文中通过首部Location指明了资源现在所处的新位置,客户端需要请求新位置的资源

   302:临时重定向,我这里正忙,你要的资源在另一个地方也有,你先去那里要,响应状态码为“Found”
   与301相似,但在响应报文中通过Location指明资源现在所处的临时新位置

   304:客户端发出了条件式请求,但服务器端发现客户端请求的资源已被客户端缓存过且未发生改变,让客户端直接到缓存里去取。响应状态码为“Not Modified”

4XX:400-415,“客户端错误”类的信息

   400:由于客户端请求有语法错误,不能被服务器所理解,响应状态码为“Bad Request”

   401:需要输入帐号和密码认证方能访问资源,响应状态码为“Unauthorized”

   403:请求被禁止,响应状态码为“Forbidden”

   404:服务器无法找到客户端请求的资源,响应状态码为“Not Found”

5XX:500-505,“服务端错误”类的信息

   500:服务器内部错误,响应状态码为“Internal Server Error”

   502:代理服务器从后端服务器收到了一条伪响应,响应状态码为“Bad Gateway”

   503:服务器当前不能够处理客户端的请求,在一段时间之后,响应状态码为“Service”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值