HTTP协议和APACHE
#互联网Internet
#Internet与中国
Internet最早来源于美国国防部高级研究计划局ARPA建立的ARPANet,1969年投入运行。1983年,ARPAnet分裂为两部分:ARPAnet和纯军事用的MILNET。当年1月,ARPA把TCP/IP协议作为ARPAnet的标准协议,这个以ARPAnet为主干网的网际互联网便被称为Internet。1986年,美国国家科学基金会建立计算机通信网络NSFnet。此后,NSFNet逐渐取代ARPANet在Internet的地位。1990年,ARPANet正式关闭
北京时间1987年9月20日,钱天白建立起一个网络节点,通过电话拨号连接到国际互联网,向他的德国朋友发出来自中国的第一封电子邮件:Across the Great Wall we can reach every corner in the world,自此,中国与国际计算机网络开始连接在一起
#Internet在中国的历史
1990年10月
钱天白教授代表中国正式在国际互联网络信息中心的前身DDN-NIC注册登记了我国的顶级域名CN,并且从此开通了使用中国顶级域名CN的国际电子邮件服务。由于当时中国尚未正式连入Internet,所以委托德国卡尔斯鲁厄大学运行CN域名服务器
1993年3月2日
中国科学院高能物理研究所租用AT&T公司的国际卫星信道接入美国斯坦福线性加速器中心(SLAC)的64K专线正式开通,专线开通后,美国政府以Internet上有许多科技信息和其它各种资源,不能让社会主义国家接入为由,只允许这条专线进入美国能源网而不能连接到其它地方。尽管如此,这条专线仍是我国部分连入Internet的第一根专线
1994年4月20日
中国通过一条64k的国际专线全功能接入国际互联网,成为国际互联网大家庭中的第77个成员,正式开启了互联网时代。随后,中科院高能物理研究所推出第一个WWW网站和第一套网页
1994年5月21日
在钱天白教授和德国卡尔斯鲁厄大学的协助下,中国科学院计算机网络信息中心完成了中国国家顶级域名(CN)服务器的设置,改变了中国CN顶级域名服务器一直放在国外的历史
1995年5月17日
第27个世界电信日,邮电部正式宣布,向国内社会开放计算机互联网接入服务。
1995年5月
北京的中关村南大街上出现了一块巨大的广告牌,“中国离信息高速公路还有多远?向北1500米。”那个位置就是一家叫“瀛海威”的网络科教馆,瀛海威正是information highway的音译,作为中国第一个互联网接入服务商,瀛海威几乎就是当时互联网的代名词
1996年1月
中国互联网全国骨干网建成并正式开通,开始提供服务
1995年4月
马云凑了两万块钱,成立杭州海博网络公司,专门给企业做主页
1997年5月
丁磊创立网易
1998年
张朝阳创立搜狐。
1998年6月18日
刘强东在中关村创办京东公司,代理销售光磁产品
1998年11月
马化腾和张志东成立深圳市腾讯计算机系统有限公司,OICQ开通
1998年12月
新浪网成立,关键人物:王志东
1999年5月18日
中国第一家电子商务企业8848.com成立,创始人王峻涛也曾被誉为“中国电子商务教父”。2000年底,调查显示接近70%的人说上网买东西首选8848
2000年1月
李彦宏创建了百度
2003年5月
阿里巴巴集团在创立淘宝网
2003年10月
淘宝网首次推出支付宝服务
2004年1月
京东多媒体网正式开通,启用域名www.jdlaser.com
2010年4月
雷军创办小米
2011年1月21日
腾讯公司推出微信 (WeChat)
2012年3月
今日头条由张一鸣于创建
2012年7月10日
北京小桔科技有限公司成立,滴滴司机端3个月后北京上线
#中国互联网连接世界
https://www.ruanyifeng.com/blog/2010/08/cable_world_map.html
1885年台湾建省,首任巡抚刘铭传派人与福州船政联系,使用船政电报学堂毕业生为技术人员,于1887年铺设成功台湾淡水至福州川石海底电缆,全长117海里。这是我国自行设计安装的第一条海底电缆。此电缆毁于第二次世界大战
我国于1989年开始投入到全球海底光缆的投资与建设中来,并于1993年实现了首条国际海底光缆的登陆(中日之间C-J海底光缆系统);随后在1997年,我国参与建设的全球海底光缆系统(FLAG)建成并投入运营,这也是第一条在我国登陆的洲际海底光缆
中国连接世界目前共有8条光缆,四个登陆站允许入境,目前我国的登陆站设立在三个城市的四个地区,分别是山东青岛登陆站(隶属中国联通)、上海崇明登陆站(隶属中国电信)、上海南汇登陆站(隶属中国联通)和广东汕头登陆站(隶属中国电信)
1987年9月20日,在北京ICA王运丰教授和西德卡尔斯鲁厄大学维尔纳·措恩教授的主导下,中华人民共和国大陆地区与外界互联网创建了首个连接。而中国第一封成功对外发出的电邮则是在1987年9月14日发出,内容为“Across the Great Wall, we can reach every corner in the world”(越过长城,走向世界每个角落)
TCP/IP协议
跨网络的主机间通讯
- 在建立通信连接的每一端,进程间的传输要有两个标志:
- IP地址和端口号,合称为套接字地址 socket address
- 客户机套接字地址定义了一个唯一的客户进程
- 服务器套接字地址定义了一个唯一的服务器进程
Socket套接字
- Socket: 套接字,进程间通信IPC的一种实现,允许位于不同主机(或同一主机)上不同进程之间进行通信和数据交换
- Socket API:封装了内核中所提供的socket通信相关的系统调用
- Socket Domain:根据其所使用的地址
- AF_INET:Address Family,IPv4
- AF_INET6:IPv6
- AF_UNIX:同一主机上不同进程之间通信时使用
- Socket Type:根据使用的传输层协议
- SOCK_STREAM:流,tcp套接字,可靠地传递、面向连接
- SOCK_DGRAM:数据报,udp套接字,不可靠地传递、无连接
- SOCK_RAW: 裸套接字,无须tcp或udp,APP直接通过IP包通信
客户/服务器程序的套接字函数
系统调用
套接字相关的系统调用: | 用途 |
---|---|
socket() | 创建一个套接字 |
bind() | 绑定IP和端口 |
listen() | 监听 |
accept() | 接收请求 |
connect() | 请求连接建立 |
write() | 发送 |
read() | 接收 |
close() | 关闭连接 |
Socket通信示例:
服务器端tcpserver.py
import socket
HOST='127.0.0.1'
PORT=9527
BUFFER=4096
sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.bind((HOST,PORT))
sock.listen(3)
print('tcpServer listen at: %s:%s\n\r' %(HOST,PORT))
while True:
client_sock,client_addr=sock.accept()
print('%s:%s connect' %client_addr)
while True:
recv=client_sock.recv(BUFFER)
if not recv:
client_sock.close()
break
print('[Client %s:%s said]:%s' %(client_addr[0],client_addr[1],recv))
client_sock.send(‘I am tcpServer and has received your message')
sock.close()
客户端tcpclient.py
import socket
HOST='127.0.0.1'
PORT=9527
BUFFER=4096
sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.connect((HOST,PORT))
sock.send(‘hello, tcpServer!,I am TcpClient')
recv=sock.recv(BUFFER)
print('[tcpServer said]: %s' % recv)
sock.close()