前言
放暑假了,我好久没有写博客了,主要是因为整个六月都很忙,忙着去完成编程实训,忙着去期末复习,还有个原因就是自己变懒了,我发现坚持写文章可以使自己勤奋起来,于是我开始了新的旅程……本来想着去深入学习一下计算机网络这门课程,可是我了解到这门课程需要花很多的时间,而我现在的精力主要放在算法与数据结构上面,所以就选择了《网络是怎么连接的》这本计网的入门科普书进行学习
整书目录:

1.网址中的"www"只是Web服务器上的一种命名 ,是World Wide Web的缩写,它不是一个协议的名字,而是Web的提出者最早开发的浏览器兼HTML编辑器的名字。
2.互联网中常见的几种URL(统一资源定位系统(uniform resource locator;URL)是因特网的万维网服务程序上用于指定信息位置的表示方法。它最初是由蒂姆·伯纳斯·李发明用来作为万维网的地址。现在它已经被万维网联盟编制为互联网标准RFC1738。):

浏览器要做的第一步工作就是对URL进行解析:

在这里介绍一下 http 协议 (资料来自知乎:详细链接)
HTTP协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。
HTTP是一种无状态 (stateless) 协议,HTTP协议本身不会对发送过的请求和相应的通信状态进行持久化处理。这样做的目的是为了保持HTTP协议的简单性,从而能够快速处理大量的事务, 提高效率。
HTTP协议定义了客户端和服务器之间交互的消息内容和步骤,其基本思路非常简单。首先,客户端会向服务器发送请求消息 。请求消息中包含的内容是“对什么”和“进行怎样的操作”两个部分。其中相当于“对什么”的部分称为URI 。一般来说,URI的内容是一个存放网页数据的文件名或者是一个CGI程序[插图]的文件名,例如“/dir1/file1.html”“/dir1/program1.cgi”等 。不过,URI不仅限于此,也可以直接使用“http:”开头的URL 来作为URI。换句话说就是,这里可以写各种访问目标,而这些访问目标统称为URI。
相当于接下来“进行怎样的操作”的部分称为方法,常见的方法如下:



写好方法之后,加一个空格,然后写URI。URI部分的格式 一般是文件和程序的路径名。
第二行开始为消息头。尽管通过第一行我们就可以大致理解请求的内容,但有些情况下还需要一些额外的详细信息,而消息头的功能就是用来存放这些信息。消息头的规格中定义了很多项目,如日期、客户端支持的数据类型、语言、压缩格式、客户端和服务器的软件名称和版本、数据有效期和最后更新时间等。
当我们将上述请求消息发送出去之后,Web服务器会返回响应消息。
响应消息的格式请求消息是基本相同的 ,差别只在第一行上。在响应消息中,第一行的内容为状态码和响应短语,用来表示请求的执行结果是成功还是出错。状态码和响应短语表示的内容一致,但它们的用途不同。状态码是一个数字,它主要用来向程序告知执行的结果 ;相对地,响应短语则是一段文字,用来向人们告知执行的结果。
关于状态码,我发现了一篇很好的文章:HTTP状态码详解
