[HTTP] 初识HTTP

初识HTTP

作为一个前端初学者,了解并掌握HTTP的知识是很有必要的,在我的理解中,他可以让我们对于数据传输有更细致全面的认识,扩宽前端的道路,也可以让我们以后在工作中与同事能更好地沟通合作,提高工作效率。

了解HTTP的含义

超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议[1]。HTTP是万维网的数据通信的基础。

HTTP的工作原理

HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)。通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口(默认端口为80)。我们称这个客户端为用户代理程序(user agent)。应答的服务器上存储着一些资源,比如HTML文件和图像。我们称这个应答服务器为源服务器(origin server)。在用户代理和源服务器中间可能存在多个“中间层”,比如代理服务器、网关或者隧道(tunnel)

HTTP的作用

指导浏览器和服务器进行沟通

HTTP的组成

HTTP由请求和响应组成

请求

HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。

HTTP请求组成
  • 请求行(如GET /images/logo.gif HTTP/1.1,表示从/images目录下请求logo.gif这个文件))
  • 请求头(例如Accept-Language: en)
  • 空行(即没有任何内容)
  • 其他消息体

我们可以用chorme的开发者工具来演示一下如何查看HTTP请求内容
首先打开chorme
然后按F12或者直接右键点击网页选择检查选项,得到如下界面,点击Network选项
然后再地址栏输入网址并确定
查看request,点击view source
就可以看到我们的HTTP请求内容了
如下图:


响应

HTTP响应组成
  • 状态行(如HTTP/1.1 200 OK,表示HTTP协议/版本号、状态码200,说明响应成功)
  • 消息报头
  • 空行(即没有任何内容)
  • 响应正文

我们可以用chorme的开发者工具来演示一下如何查看HTTP响应内容
首先打开chorme
然后按F12或者直接右键点击网页选择检查选项,得到如下界面,点击Network选项
然后再地址栏输入网址并确定
查看response,点击view source
就可以看到我们的HTTP响应内容了
如下图:


curl

我们也可以用curl命令来实践HTTP的请求响应

curl是利用URL语法在命令行方式下工作的开源文件传输工具。 它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。

打开Git Bash

在命令行中输入curl -s -v -H "no1harm: xxx" -- "https://www.baidu.com"

访问百度首页,我们就会看到相对应的HTTP请求和响应信息,如下图:

如果在使用curl的过程中对于相关的指令不熟悉,我们还可以回到之前的博文中,利用explainshell来查询相关指令的具体作用

英语基础相对较差的同学也可以在Linux命令大全中进行更深入的了解curl的用法

原文地址:https://www.cnblogs.com/No-harm/p/9382159.html