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

第一章 浏览器生成信息

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 部分写上图片的文件名并生成和发送请求消息就可以了。

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

相关推荐
陈逸轩*^_^*1 小时前
Java 网络编程基础
java·网络·计算机网络
Ljubim.te1 小时前
软件设计师——数据结构
数据结构·笔记
speop3 小时前
【笔记】I/O总结王道强化视频笔记
笔记·音视频
yngsqq3 小时前
031集——文本文件按空格分行——C#学习笔记
笔记·学习·c#
sealaugh324 小时前
aws(学习笔记第一课) AWS CLI,创建ec2 server以及drawio进行aws画图
笔记·学习·aws
CXDNW4 小时前
【网络篇】计算机网络——应用层详述(笔记)
服务器·笔记·计算机网络·http·web·cdn·dns
向上的车轮4 小时前
Django学习笔记五:templates使用详解
笔记·学习·django
看山还是山,看水还是。5 小时前
MySQL 管理
数据库·笔记·mysql·adb
BeyondESH5 小时前
计算机网络—大端序和小端序
计算机网络
训山6 小时前
【11】纯血鸿蒙HarmonyOS NEXT星河版开发0基础学习笔记-模块化语法与自定义组件
笔记·学习·华为·harmonyos·鸿蒙系统