前端开发中常见的 HTTP 相关知识(一)

栏目: 后端 · 前端 · 发布时间: 4年前

内容简介:前端开发中总是要和接口打交道,所以为了尽可能减少自己表述上的不严谨,文中会有不少外链,建议大家还是能点进去看一下,也欢迎帮忙纠正。老司机可以直接忽略本段内容,我们先简单了解下

前言

前端开发中总是要和接口打交道,所以 HTTP 相关内容多多少少还是要知道一些,干起活来才能事半功倍。下面我从业务出发,简单说下一些可能会碰到的知识点。

为了尽可能减少自己表述上的不严谨,文中会有不少外链,建议大家还是能点进去看一下,也欢迎帮忙纠正。

开始前的准备

老司机可以直接忽略本段内容,我们先简单了解下 HTTP 的基本知识

什么是HTTP协议

HTTPHypertext Transfer Protocol 超文本传输协议 的缩写,和 HTML 一样都是出自 Hypertext 家族的。处于 OSI model 中的应用层。

目前为止,经历了几个版本的迭代到了2, HTTP/3目前也是即将要标准化了

关于目前所有的HTTP相关协议的目录可以直接看 这里

wikipedia上关于HTTP的介绍

The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems.[1] HTTP is the foundation of data communication for the World Wide Web, where hypertext documents include hyperlinks to other resources that the user can easily access, for example by a mouse click or by tapping the screen in a web browser. HTTP was developed to facilitate hypertext and the World Wide Web.

Development of HTTP was initiated by Tim Berners-Lee at CERN in 1989. Development of HTTP standards was coordinated by the Internet Engineering Task Force (IETF) and the World Wide Web Consortium (W3C), culminating in the publication of a series of Requests for Comments (RFCs). The first definition of HTTP/1.1, the version of HTTP in common use, occurred in RFC 2068 in 1997, although this was made obsolete by RFC 2616 in 1999 and then again by the RFC 7230 family of RFCs in 2014.

A later version, the successor HTTP/2, was standardized in 2015 (and HTTP/3 is its proposed successor (Internet Draft), that builds on HTTP/2 2 ), and is now supported by major web servers and browsers over Transport Layer Security (TLS) using Application-Layer Protocol Negotiation (ALPN) extension[4] where TLS 1.2 or newer is required.[5]

起始

最早是由万维网的创始人 Tim Berners-Lee 在1989年发起并于1990年完成了第一次服务器与客户端之间的通讯。

HTTP/0.9

发布于1991年的0.9版本,当时只有一个 GET 命令,只能回应HTML格式的字符串,结束以后就关闭TCP连接

HTTP/1.0 RFC-1945

发布于1996年的 1.0 版本,除了最早的 GET 以外还引入了 POSTHEAD 命令,以及各类标识缓存,请求状态等headers,使任何文件都可以通过http请求进行传输。

HTTP/1.1 RFC-2616

发布于1999年的 1.1 版本,也是目前使用基数最大的版本,

新增了几个基础 Method

  • PUT
  • DELETE
  • TRACE
  • OPTIONS
  • CONNECT

弥补了之前HTTP/1.0的一些不足, 包括:

  • 完善了之前缓存相关的设定,也便有了我们现在常说的 强缓存协商缓存 的概念
  • 默认采用持久连接,并能很好地配合代理服务器工作。支持以 piplining 的方式同时发送多个请求,从而降低了线路的负载也提升了HTTP请求的响应速度。
  • 部分安全性问题

HTTP/2.0 RFC-7540

发布于2015年的 2.0 版本,也是当前的最新标准。

基于谷歌提出的 SPDY 而来,之前用于Chrome浏览器中来访问Google的SSL加密服务,在HTTP/2发布后功成身退。

主要新增了以下内容

  • 多路复用
  • 请求头压缩 HPACK: RFC-7541
  • 帧、消息、流和TCP连接
  • 服务器推送

因为强制绑定了TLS,相关的证书又是一笔新的开支,加上各种历史遗留问题,目前大部分公司对HTTP/2的支持也是较为尴尬,就如同 ES6 一般,在落地好多年后依旧会被叫做 新特性

而解决的问题如服务器推送之类的在之前是可以通过 websocket 甚至客户端轮询等操作解决,而头部压缩等也只是对现有方式进行了少部分优化,所以实际应用也没那么多,而出现的不确定性又增多了,而本身又揽了一些TCP干的活,所以协议定下后争议还是挺多的。

可能还需要时间把老服务器老电脑老项目老 程序员 给替换掉才行。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据挖掘技术

数据挖掘技术

[美]MichaelJ.A.B / 别荣芳、尹静、邓六爱 / 机械工业 / 2006-7 / 49.00元

本书是数据挖掘领域的经典著作,数年来畅销不衰。全书从技术和应用两个方面,全面、系统地介绍了数据挖掘的商业环境、数据挖掘技术及其在商业环境中的应用。自从1997年本书第1版出版以来,数据挖掘界发生了巨大的变化,其中的大部分核心算法仍然保持不变,但是算法嵌入的软件、应用算法的数据库以及用于解决的商业问题都有所演进。第2版展示如何利用基本的数据挖掘方法和技术,解决常见的商业问题。 本书涵盖核心的数......一起来看看 《数据挖掘技术》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

SHA 加密
SHA 加密

SHA 加密工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试