likes
comments
collection
share

HTTP协议之发送和响应消息重点——网络基础知识(一)

作者站长头像
站长
· 阅读数 2

熟悉网络编程、熟悉TCP/IP、HTTP协议,看到这句话是不是特别亲切,这是大多数招聘信息要求上会看到的。作为开发者,不管前端还是后端,网络知识是必须要掌握的,这也是我想写这部分系列文章的初衷。网络部分知识很抽象复杂,但是大多数都是死的,如果说学不会,那没有别的,就是懒,不肯去记。本系列文章写的是基础的网络知识,这是第一篇,会从浏览器访问网页开始说起,这是我们日常接触网络最频繁的操作。本系列文章也是参考了《网络是怎样连接的》一书的很多内容,这是一本好书,推荐有空的朋友可以买来看看。

URL类型

HTTP协议之发送和响应消息重点——网络基础知识(一) 不同的URL写法不同,但是开头的文字都表示浏览器应当使用的访问方法,比如说访问Web服务器时应该使用HTTP协议,访问FTP服务器使用FTP协议,我们就理解为访问时使用的协议。

HTTP协议

解析完URL之后,知道了访问的目标在哪里,浏览器会使用HTTP协议来访问服务器。HTTP协议定义了客户端与服务端之间交互的消息内容和步骤。我的理解就是,HTTP协议是必须要遵守的规则,很多东西就是需要死记硬背,理解里面的每一项代表的含义,然后去照做就可以了。可以看看HTTP的基本思路。

HTTP的基本思路

HTTP协议之发送和响应消息重点——网络基础知识(一) 对URL解析了以后,浏览器确定了Web服务器和文件名,就会根据这些信息生成HTTP信息,也就是图中的请求信息。请求信息发出去以后,就会返回响应信息。Http在格式上有严格的规定,浏览器会按照规定的格式来生成请求消息,而如果是我们平时开发中,也是需要严格去遵守这些规定。

HTTP消息格式

HTTP协议之发送和响应消息重点——网络基础知识(一) 看上面的图可能比较抽象,可以对照我们平时开发时候的请求信息和响应信息

请求消息举例

HTTP协议之发送和响应消息重点——网络基础知识(一) 响应消息举例 HTTP协议之发送和响应消息重点——网络基础知识(一) 平时我们做开发调试或者抓包的时候,经常需要得到这些信息去做判断。相信做开发的都很熟悉这些信息,不过多的去解释,就补充几个知识点。

请求消息重点讲解

请求消息第一行,重点看请求行中的请求方法。平时我们用得最多的就是GET和POST方法,GET一般是获取数据的时候,POST一般是在表单填写数据并且发送到服务器的时候用。(表单:网页中的文本框、复选框等能输入数据的部分),除了这两个方法,还有其它的方法,我们也应该去了解。 HTTP主要方法

HTTP协议之发送和响应消息重点——网络基础知识(一) 第二行开始为消息头,也就是存放一些额外的详细信息,这些细节的信息非常多。消息头的内容会随着浏览器类型、版本号、设置等的不同而不同,不懂的时候可以在网上搜索一下,或者参考一下这篇文章https://blog.csdn.net/sinat_22840937/article/details/64438253。

写完消息头以后要添加一行空行,然后再是需要发送的数据。有些时候是不需要填写任何数据的,比如说我们单纯的获取服务器的数据。

响应消息重点讲解

讲完请求消息的一些重点,现在我们来看看响应消息。响应消息的格式和基本思路和请求消息是相同的。有区别的是第一行,响应消息的内容是状态码和响应短语。状态码是向程序告知执行的结果,响应短语是一段文字,是向人们告知执行的结果。比如我们访问一个网页,会遇到返回的内容是“404 Not found”的情况,这就是告诉我们,这个网页找不到。对于状态码,我们应该很熟悉,平时做安卓开发的时候,也是需要和后台协商,什么情况下返回什么状态码。

HTTP状态码概要

HTTP协议之发送和响应消息重点——网络基础知识(一)

总结