计算机网络书籍--《网络是怎样连接的》阅读笔记

第一章 浏览器生成信息

1.1 生成HTTP请求信息

1.1.1 URL

Uniform Resource Locator, 统一资源定位符。就是网址。

不同的URL能够用来判断使用哪种功能来访问相应的数据,比如访问Web服务器就要用"http:",而访问FTP服务器用"ftp:"。

  • FTP:FileTransferProtocol,文件传送协议。这是一种在上传、下载文件时使用的协议。使用FTP协议来传送文件的程序也被叫作FTP。

1.1.2 解析URL

主要内容包括:协议,要访问的服务器和访问什么文件。

1.1.3 HTTP的基本思路

主要由两部分组成:

  1. 请求信息
  2. 响应信息

每条请求信息中只能写一个URI,所以每次只能获取一个文件,如果需要获取多个文件,必须对每个文件单独发送一条请求。

1.1.3.1 请求信息

由两部分组成:

  1. 对什么进行请求
  2. 进行怎样的操作

"对什么请求"部分称为URI,一般来说,URI的内容是一个存放网页数据的文件名或者是一个CGI程序的文件名,是访问目标的统称。格式为 /<目录名>/.../<文件名> 。因为路径名一般都包含在URL中,因此只要从URL提取出来写上去就行。

  • URI: Uniform Resource Identifier,统一资源标识符。

    CGI程序:对Web服务器程序调用其他程序的规则所做的定义就是CGI。

"进行怎样的操作"的部分称为方法,方法表示让Web服务器完成怎样的操作,比如读取URI表示的数据、将客户端输入的数据发送给URI表示的程序等。下面是一些HTTP的主要方法。

常用的方法是GET和POST,GET多用于访问Web服务器获取网页数据时;POST多用于在表单中填写数据并将其发送给Web服务器时。因为GET方法能够发送的数据只有几百个字节,如果表单的数据超过这一长度,则必须使用POST方法来请求。

除该两种部分,还有一些还有一些用来表示附加信息的头字段。客户端向 Web 服务器发送数据时,会先发送头字段,然后再发送数据。

请求信息的格式

  1. 请求行
  2. 信息头
  3. 信息体

请求行可以大致了解请求的内容,包含方法、URI和HTTP版本,大致可以清楚向谁(URI)进行怎样的操作(方法)。

信息头是对请求内容进行更为详细的补充。

信息体就是想向服务端发送的信息,比如账号密码,一般和POST请求匹配使用,将表单中的信息发送给服务端。

1.1.3.2 响应信息

和请求信息大致相同,只不过不是请求行,而是状态行,内容为HTTP版本、状态码和响应短语。状态码为一个数字,用来告知程序执行的结果;响应短语则是一段文字,用来向人们告知执行的结果。

返回响应信息后,就可以得到请求信息对应的结果,如果无错误,则正常显示在浏览器上。为文字时,则该对信息全部处理完毕,如果还包含图片等资源,则还有下文。

当有图片时,网页中相应位置嵌入表示图片文件的标签(<img src = "image1.jpg>)的控制信息。浏览器在读到该标签时,会在屏幕上留出来显示图片的空间,然后再次访问Web服务器,按照按照标签中指定的文件名向 Web 服务器请求获取相应的图片并显示在预留的空间中。这个步骤和获取网页文件时一样,只要在 URI 部分写上图片的文件名并生成和发送请求消息就可以了。

且因为每次请求只能获取一个文件,所以遇到图片时还要对存在的图片进行的请求。

相关推荐
一只小菜鸡..7 小时前
Stanford CS144 学习笔记 (七):跨越虚实的边界——物理层、链路层与无线网络
网络·笔记·学习
大大的大大7 小时前
拼多多电商运营-马扁标题2
笔记·产品运营
玖玥拾8 小时前
Unity 3D 笔记(八)ScrollRect 滚动视图、NavMesh 自动寻路系统
笔记·3d·unity
sugar__salt9 小时前
Vue3 基础知识点整理 —— 从入门到响应式核心完全指南
vue.js·笔记·vue·vue3
凉、介9 小时前
Virtio(三):Virtqueue 建立与 Buffer 提交
笔记·学习·嵌入式·arm·虚拟化·virtio
三水不滴9 小时前
RAG 评测数据集,到底该怎么准备?
经验分享·笔记
Lhappy嘻嘻10 小时前
网络(四)|全网最细网络层原理:IP 协议、IP 地址分类、子网划分、路由转发、NAT 穿透详解
java·笔记·网络协议·计算机网络
鱼子星_10 小时前
【C++】vector
开发语言·c++·笔记·stl
吃着火锅x唱着歌10 小时前
Effective C++ 学习笔记 条款38 通过复合塑模出has-a或“根据某物实现出”
c++·笔记·学习
syagain_zsx10 小时前
库制作与原理 · 链接知识笔记
c语言·c++·笔记·动态库·静态库