JS//HTTP 协议

JS——HTTP 协议

HTTP——(hypertext transfer protocol)超文本传输协议

1)HTTP协议主要特点

简单快速:URI(Uniform Resource Identifiers, 统一资源符)是固定的;
灵活:通过HTTP协议可传输各种类型的数据;
无连接:连接一次后就会断开;
无状态:单从HTTP协议不能区分前后登录者身份;

2)HTTP报文的组成部分

请求报文:请求行——请求头——空行——请求体;
响应报文:状态行——状态头——空行——响应体;

3)HTTP的方法

GET——获取资源;
POST——传输资源;
PUT——更新资源;
DELETE——删除资源;
HEAD——获取报文首部;

4)GET 和 POST 的区别

(浏览器回退、缓存、请求参数保留、编码方式、参数长度、通过…传递)
① GET在浏览器回退时是无害的,POST则会再次提出请求
② GET请求会被浏览器主动缓存,POST则不会,除非手动设置
③ GET请求参数会被浏览器主动保留,POST则不会被保留
④ GET请求只能通过URL编码,POST则支持多种编码方式
⑤ GET请求在URL中传递的参数长度是有限的,POST 没有限制
⑥ GET 参数通过URL传递,POST被* 放在Request body中**;

5)HTTP状态码

1xx:指示信息-表示请求已接收,继续处理
2xx:成功-表示请求已被成功接收
3xx:重定向-要完成请求必须进行进一步的操作
4xx:客户端错误-请求有语法错误或请求无法实现
5xx:服务器错误-服务器未能实现合法的请求

※200: OK 服务器成功处理了请求(这个是我们见到最多的)
204: No Content 请求成功处理,没有实体的主体返回
206: Partial Content GET范围请求已成功处理

※301/302: Moved Permanently(重定向)请求的URL已移走。Response中应该包含一个Location URL, 说明资源现在所处的位置(永远重定向)
※303: See Other 临时重定向,期望使用GET定向获取(临时重定向)
304: Not Modified 发送的附带条件请求未满足
307: Temporary Redirect 临时重定向,POST不会变成GET

400: Bad Request 请求报文语法错误或参数错误
401: Unauthorized 需要通过HTTP认证,或认证失败
※403: Forbidden 请求资源被拒绝(页面禁止访问)
※404: Not Found(页面丢失)未找到资源

500: Internal Server Error 服务器故障或Web应用故障
501: Internal Server Error服务器遇到一个错误,使其无法对请求提供服务
503: Service Unavailable 服务器超负载或停机维护

6)HTTP持久连接

HTTP协议采用“请求-应答”模式
普通模式,即非Keep-Alive模式时,每个请求/应答客户和服务端都要重建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议)。
Keep-Alive(持久连接、连接重用),客户端到服务端的连接持续有效,当出现对服务端的后续请求时,Keep-Alive功能避免了建立或者重新建立连接。
(只有HTTP1.1版本支持持久连接)

7)HTTP管线化

  • 原理:把请求打包一次发送,把响应一次打包一次返回
  • 特点(说2句即可):
    ① 管线化机制通过持久连接完成,仅HTTP/1.1支持此技术
    只有GET和HEAD请求可进行管线化,而POST有所限制
    ③ 初次创建连接时不启动管线机制,因为对方(服务器)不一定支持HTTP/1.1版本的协议;

猜你喜欢

转载自blog.csdn.net/weixin_37877794/article/details/114215349