首页 >web前端 >js教程 >http协议的主要特点及不同状态码的含义

http协议的主要特点及不同状态码的含义

yulia
yulia原创
2018-09-08 18:02:342466浏览

http协议的主要特点:

主要特点:简单快速, 灵活, 无连接(非keep-alive),无状态
1、每个资源URI是固定的,想访问某个资源 ,浏览器里输入URI就可以了。
2、灵活:HTTP允许传输任意类型的数据对象,正在传输的类型由Content-Type加以标记。
3、无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
4、无状态:是指协议对于事务处理没有记忆能力。后续处理需要前面的信息的时候必须要重新传。

【补充】什么是URI? 什么是URL? 区别是什么?
 简单总结:
           URI--统一资源标识符
           URL(Uniform Resource Locator):统一资源定位符有时也被俗称为网页地址。
           URL 是 URI 的子集 

 http2.png

HTTP方法

POST:传输实体内容资源
GET:获取资源
PUT:更新资源
HEAD:获得报文首部
DELET:删除文件

【考点:POST和GET的区别?】(记住3-5个)

GET在浏览器回退时是无害的,而POST会再次提交请求。  
GET产生的URL地址可以被Bookmark,而POST不可以。  
GET请求会被浏览器主动cache,而POST不会,除非手动设置。  
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。  
GET请求在URL中传送的参数是有长度限制的(2kb 不同浏览器也会有所不同),而POST没有。  
对参数的数据类型,GET只接受ASCII字符,而POST没有限制。  
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
GET参数通过URL传递,POST放在Request body(请求主体)中。
GET请求只能进行url编码 -- encodeURIComponent(),而POST支持多种编码方式。

【补充】POST数据的格式与查询字符串格式相同,如果需要将页面中表单的数据进行序列化,然后再通过 XHR 发送到服务器,可以使用 serialize()函数来创建这个字符串,也就是表单序列化
         
HTTP状态码

需要记住一些经常碰到的,其他状态码可查阅HTTP状态码文档
1xx:指示信息,请求正在处理中
2xx:请求正常接收
200: ok
206:“Partial Content”响应: 客户端发送了一个带有Range请求头的Get请求,是表明自己只需要url上部分的资源,服务器完成了它。 比如:video audio播放一个很大的视频/音频地址时,一般会返回206
3xx:重定向 需要进行附加操作才算完成请求
301: 永久重定向,所请求的页面已经转移至新的URL
302: 临时重定向
304:缓存,服务器告诉浏览器可以直接使用缓存,不用请求服务器了
4xx(客户端错误)
400: 客户端语法错误
401: 请求授权失败
403: 请求不允许 Forbidden资源禁止被访问
404: 没有发现文件、查询或URl
5xx(服务器端错误)
500:服务器不可预计的错误
501: "Internal Server Error" 服务器端在执行请求时发生了错误,此时服务器并没有正常工作
503: 服务器当前不能处理客户端的请求 临时过载和当机
504: 服务器没连上
505: 服务器不支持或拒绝支请求头中指定的HTTP版本

以上是http协议的主要特点及不同状态码的含义的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn