更新计算机网络

This commit is contained in:
huihut 2018-03-09 13:45:17 +08:00
parent 6e754bfab4
commit 4ade3ed1e6

101
README.md
View File

@ -1197,36 +1197,91 @@ UDP 首部
### 应用层
#### DNS
* DNSDomain Name System域名系统是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前对于每一级域名长度的限制是63个字符域名总长度则不能超过253个字符。
域名:
* 域名 ::= {<三级域名>.<二级域名>.<顶级域名>}blog.huihut.com
#### FTP
* FTPFile Transfer Protocol文件传输协议是用于在网络上进行文件传输的一套标准协议使用客户/服务器模式使用TCP数据报提供交互式访问双向传输。
* TFTPTrivial File Transfer Protocol简单文件传输协议一个小且易实现的文件传输协议也使用客户-服务器方式使用UDP数据报只支持文件传输而不支持交互没有列目录不能对用户进行身份鉴定
#### TELNET
* TELNET协议是TCP/IP协议族中的一员是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。
* HTTPHyperText Transfer Protocol超文本传输协议是用于从WWWWorld Wide Web万维网服务器传输超文本到本地浏览器的传送协议。
* FTPFile Transfer Protocol文件传输协议用于Internet上的控制文件的双向传输。同时它也是一个应用程序Application
* SMTPSimple Mail Transfer Protocol简单邮件传输协议是一组用于由源地址到目的地址传送邮件的规则由它来控制信件的中转方式。SMTP协议属于TCP/IP协议簇它帮助每台计算机在发送或中转信件时找到下一个目的地。
* Socket 建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API)对TCP/IP的封装TCP/IP也要提供可供程序员做网络开发所用的接口这就是Socket编程接口。
### HTTP
#### WWW
[runoob . HTTP教程](http://www.runoob.com/http/http-tutorial.html)
* WWWWorld Wide Web环球信息网万维网是一个由许多互相链接的超文本组成的系统通过互联网访问
#### HTTP 请求方法
* GET请求指定的页面信息并返回实体主体
* HEAD类似于get请求只不过返回的响应中没有具体的内容用于获取报头
* POST向指定资源提交数据进行处理请求例如提交表单或者上传文件。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
* PUT从客户端向服务器传送的数据取代指定的文档的内容。
* DELETE请求服务器删除指定的页面
* CONNECTHTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器
* OPTIONS允许客户端查看服务器的性能
* TRACE回显服务器收到的请求主要用于测试或诊断
##### URL
#### HTTP 状态码
* 200 OK: 请求成功
* 301 Moved Permanently: 永久移动。请求的资源已被永久的移动到新URI返回信息会包括新的URI浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替
* 400 Bad Request: 客户端请求的语法错误,服务器无法理解
* 401 Unauthorized: 请求要求用户的身份认证
* 403 Forbidden: 服务器理解请求客户端的请求,但是拒绝执行此请求
* 404 Not Found: 服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面
* 408 Request Timeout: 服务器等待客户端发送的请求时间过长,超时
* 500 Internal Server Error: 服务器内部错误,无法完成请求
* 503 Service Unavailable: 由于超载或系统维护服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中
* 504 Gateway Timeout: 充当网关或代理的服务器,未及时从远端服务器获取请求
* URLUniform Resource Locator统一资源定位符是因特网上标准的资源的地址Address
标准格式:
* 协议类型:[//服务器地址[:端口号]][/资源层级UNIX文件路径]文件名[?查询][#片段ID]
完整格式:
* 协议类型:[//[访问资源需要的凭证信息@]服务器地址[:端口号]][/资源层级UNIX文件路径]文件名[?查询][#片段ID]
> 其中【访问凭证信息@:端口号;?查询;#片段ID】都属于选填项
> 如https://github.com/huihut/interview#cc
##### HTTP
HTTPHyperText Transfer Protocol超文本传输协议是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。
请求方法
方法 | 意义
--- | ---
OPTIONS | 请求一些选项信息,允许客户端查看服务器的性能
GET | 请求指定的页面信息,并返回实体主体
HEAD | 类似于get请求只不过返回的响应中没有具体的内容用于获取报头
POST | 向指定资源提交数据进行处理请求例如提交表单或者上传文件。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改
PUT | 从客户端向服务器传送的数据取代指定的文档的内容
DELETE | 请求服务器删除指定的页面
TRACE | 回显服务器收到的请求,主要用于测试或诊断
状态吗Status-Code
* 1xx表示通知信息如请求收到了或正在进行处理
* 100 Continue继续客户端应继续其请求
* 101 Switching Protocols 切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议例如切换到HTTP的新版本协议
* 2xx表示成功如接收或知道了
* 200 OK: 请求成功
* 3xx表示重定向如要完成请求还必须采取进一步的行动
* 301 Moved Permanently: 永久移动。请求的资源已被永久的移动到新URI返回信息会包括新的URI浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替
* 4xx表示客户的差错如请求中有错误的语法或不能完成
* 400 Bad Request: 客户端请求的语法错误,服务器无法理解
* 401 Unauthorized: 请求要求用户的身份认证
* 403 Forbidden: 服务器理解请求客户端的请求,但是拒绝执行此请求
* 404 Not Found: 服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面
* 408 Request Timeout: 服务器等待客户端发送的请求时间过长,超时
* 5xx表示服务器的差错如服务器失效无法完成请求
* 500 Internal Server Error: 服务器内部错误,无法完成请求
* 503 Service Unavailable: 由于超载或系统维护服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中
* 504 Gateway Timeout: 充当网关或代理的服务器,未及时从远端服务器获取请求
> [菜鸟教程 . HTTP状态码](http://www.runoob.com/http/http-status-codes.html)
##### 其他协议
* SMTPSimple Main Transfer Protocol简单邮件传输协议是在Internet传输email的标准是一个相对简单的基于文本的协议。在其之上指定了一条消息的一个或多个接收者在大多数情况下被确认是存在的然后消息文本会被传输。可以很简单地通过telnet程序来测试一个SMTP服务器。SMTP使用TCP端口25。
* DHCPDynamic Host Configuration Protocol动态主机设置协议是一个局域网的网络协议使用UDP协议工作主要有两个用途
* 用于内部网络或网络服务供应商自动分配IP地址给用户
* 用于内部网络管理员作为对所有电脑作中央管理的手段
* SNMPSimple Network Management Protocol简单网络管理协议构成了互联网工程工作小组IETFInternet Engineering Task Force定义的Internet协议族的一部分。该协议能够支持网络管理系统用以监测连接到网络上的设备是否有任何引起管理上关注的情况。
## 网络编程