[ 后端与计算机网络基础| 青训营笔记]

63 阅读7分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 15 天

1.IP地址的分类

image.png

2.IP数据报格式

image.png

3.NAT

当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。

这种方法需要在专用网(私网IP)连接到因特网(公网IP)的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址(公网IP地址)。这样,所有使用本地地址(私网IP地址)的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。

4.TCP报文格式

image.png

5.UDP报文格式

image.png

6.域名解析过程

image.png

7.FTP的工作原理

文件传输协议FTP只提供文件传送的一些基本的服务,它使用TCP可靠的运输服务。 FTP主要的功能是减少或消除在不同操作系统下处理文件的不兼容性。

FTP使用的是客户服务器的方式。一个FTP服务器进程可以同时为多个客户进程提供服务。FTP服务器的进程由两大部分组成:一个主进程,负责接收新的请求。另外有若干个从属进程,负责处理单个请求。

主进程的工作步骤如下:

打开21号端口,使客户能够连接上 等待客户进程发送出连接请求‘ 启动从属进程处理客户进程发送过来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程 回到等待状态,继续接收其他客户进程发来的请求。主进程与从属进程的处理是并发执行的。

8.HTTP的请求和响应

请求部分由三部分组成:

  •  Requset line:请求行,位于第一行
  •  Request headers:请求消息头,从第二行开始至第一个空行结束
  •  Request body:请求正文,从第一个空行之后的都是正文

响应部分也由三部分组成:

  •  Response line:响应行,位于第一行
  •  Response headers:响应消息头,从第二行开始至第一个空行结束
  •  Response body:响应正文,从第一个空行之后的都是正文

9.HTTP的请求方法

  • get 方法

发送一个请求来取得服务器上的某一资源。

  • post 方法

向 url 指定的资源提交数据或附加新的数据。

  • put 方法

put 方法跟 post 方法很像,也是向服务器提交数据,但是 put 方法指向了资源在服务器上的位置,而 post 方法没有。

  • head 方法

只请求页面的首部。

  • delete 方法

删除服务器上的某资源。

  • options 方法

options 方法用于获取当前 url 所支持的方法。如果请求成功,会有一个 allow 的头包含类似 getpost 这样的信息。

  • trace 方法

trace 方法被用于激发一个远程的,应用层的请求消息回路。

  • connect 方法

把请求连接转换到透明的 tcp/ip 通道。

10.HTTP的状态码

状态码状态码英文名称中文描述
100Continue继续。客户端应继续其请求
101Switching Protocols切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议
200OK请求成功。一般用于GET与POST请求
201Created已创建。成功请求并创建了新的资源
202Accepted已接受。已经接受请求,但未处理完成
203Non-Authoritative Information非授权信息。请求成功。但返回的meta信息不在原始的服务器,而是一个副本
204No Content无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档
205Reset Content重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域
206Partial Content部分内容。服务器成功处理了部分GET请求
300Multiple Choices多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择
301Moved Permanently永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替
302Found临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI
303See Other查看其它地址。与301类似。使用GET和POST请求查看
304Not Modified未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源
305Use Proxy使用代理。所请求的资源必须通过代理访问
306Unused已经被废弃的HTTP状态码
307Temporary Redirect临时重定向。与302类似。使用GET请求重定向
400Bad Request客户端请求的语法错误,服务器无法理解
401Unauthorized请求要求用户的身份认证
402Payment Required保留,将来使用
403Forbidden服务器理解请求客户端的请求,但是拒绝执行此请求
404Not Found服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面
405Method Not Allowed客户端请求中的方法被禁止
406Not Acceptable服务器无法根据客户端请求的内容特性完成请求
407Proxy Authentication Required请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权
408Request Time-out服务器等待客户端发送的请求时间过长,超时
409Conflict服务器完成客户端的 PUT 请求时可能返回此代码,服务器处理请求时发生了冲突
410Gone客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置
411Length Required服务器无法处理客户端发送的不带Content-Length的请求信息
412Precondition Failed客户端请求信息的先决条件错误
413Request Entity Too Large由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息
414Request-URI Too Large请求的URI过长(URI通常为网址),服务器无法处理
415Unsupported Media Type服务器无法处理请求附带的媒体格式
416Requested range not satisfiable客户端请求的范围无效
417Expectation Failed服务器无法满足Expect的请求头信息
500Internal Server Error服务器内部错误,无法完成请求
501Not Implemented服务器不支持请求的功能,无法完成请求
502Bad Gateway作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应
503Service Unavailable由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中
504Gateway Time-out充当网关或代理的服务器,未及时从远端服务器获取请求
505HTTP Version not supported服务器不支持请求的HTTP协议的版本,无法完成处理