网络是怎样连接的

presence ['prezns] n.出席;存在;到场;接近
Point of Presence, PoP 接入点/入网点

浏览器 -> DNS服务器(查询域名对应的IP地址) -> 浏览器 -> 操作系统 -> 网络控制软件(协议栈) -> 网卡 -> 交换机 -> 路由器 -> 接入网 -> 接入点/入网点 -> 各网络运营商路由器群 -> 防火墙 -> 缓存服务器 -> 负载均衡器 -> Web服务器

CGI程序:对Web服务器程序调用其他程序的规则所做的定义就是CGI,而按照CGI规范来工作的程序就称为CGI程序。
CGI(Common Gateway Interface)是WWW技术中最重要的技术之一,有着不可替代的重要地位。CGI是外部应用程序(CGI程序)与WEB服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的过程。CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。

1.1.5 生成HTTP请求消息

请求消息 第一行称为请求行
<方法><空格><URI><空格><HTTP版本>
响应消息 第一行称为状态行
<HTTP版本><空格><状态码><空格><响应短语>

当method="GET"时的消息
GET /cgi/sample.cgi?Field1=ABCDEFG&SendButton=SEND HTTP/1.1
(若干行的头字段)

当method="POST"时的消息
POST /cgi/sample.cgi HTTP/1.1
(若干行的头字段)
Field1=ABCDEFG&SendButton=SEND
请求消息中的消息体(message body)包含客户端向服务器发送的数据,例如用POST方法向Web服务器发送的网页表单数据。

authorization [ˌɔ:θəraɪˈzeɪʃn] n.授权,批准; 批准(或授权)的证书

1.1.6 发送请求后会收到响应

状态码 含义
1xx 告知请求的处理进度和情况
2xx 成功
3xx 表示需要进一步操作
4xx 客户端错误
5xx 服务器错误

注意: 1条请求消息中只能写1个URI。如果需要获取多个文件,必须对每个文件单独发送1条请求。

1.4.1 数据收发操作概览
收发数据操作的整体思路:
向操作系统内部的协议栈发出委托时,需要按照指定的顺序来调用Socket库中的程序组件。

在进行收发数据操作之前,双方需要先建立起相应的管道才行。建立管道的关键在于管道两端的数据出入口,这些出入口称为套接字。
源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字。

套接字,是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程。
非常简单的举例说明下:Socket=Ip address+ TCP/UDP + port。

Socket,socket,套接字(英文也是socket)等看起来非常容易混淆的词,其中小写的socket表示程序组件的名称,大写字母开头的Socket表示库,而汉字的"套接字"则表示管道两端的接口。


2 应用程序通过Socket库中的程序组件控制操作系统的协议栈
2.1 创建套接字
IP协议:1. 寻址 2. IP协议控制网络包的收发操作。

2.1.2 套接字的实体就是通信控制信息
在协议栈内部有一块用于存放控制信息的内存空间,这里记录了用于控制通信操作的控制信息,例如通信对象的IP地址、端口号、通信操作的进行状态等。本来套接字就只是一个概念而已,并不存在实体,如果一定要赋予它一个实体,我们可以说这些控制信息就是套接字的实体,或者说存放控制信息的内存空间就是套接字的实体。

协议栈是根据套接字中记录的控制信息来工作的。

2.1.3 调用socket时的操作
socket:大写字母开头的Socket表示Socket库,而小写字母开头的socket表示Socket库中名为socket的程序组件。
Socket库有socket、connect、write、read、close等程序组件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值