一、主要内容
1)通信要素:
》IP和端口号:InetAdress类
》网络通信协议:TCP网络通信协议、UDP网络通信协议
2)URL编程
3)网络编程的目的:
直接或者间接地通过网络协议与其他计算机进行通信
4)网络编程中有两个主要的问题:
》如何准确的定位网络上一台或者多台主机
》找到主机后如何可靠高效的进行数据传输
5)如何实现网络中的主机互相通信:
》通信双方地址
》TCP/IP参考模型
二、浏览器输入url之后发生了什么?
https://www.cnblogs.com/xuan52rock/p/6845637.html
https://www.cnblogs.com/tisikcci/p/5866753.html
0)URL解析:得到主要的域名,如www.baidu.com
1) DNS解析:
在DNS解析之前,会先想本机hosts文件中查看输入域名是否绑定了ip,如果没有,则去访问DNS服务器
DNS实际上是一个域名和IP对应的数据库。人们不会去记ip,就发明了域名
2)向该IP地址发起TCP连接,并建立TCP连接(三次握手)
建立起连接之后,浏览器和服务器之间就可以请求和传输数据了!
当然,在断开tcp连接时,要进行四次挥手
3)浏览器和服务器之间请求和传输数据
4)浏览器渲染页面
三、通讯要素之IP和端口
IP:
1)唯一标识Internet上的计算机
2)本地回环地址:127.0.0.1 主机名:localhost
端口:
1)不同的进行占用不同的端口
2)端口号0~65535。其中,每台机子的0~1023被预先定义的服务通信占用了(如Mysql占用了3306,http占用了80),所以,我们应该使用1024~65535这些端口中的某一个进行通信,以免发生端口冲突
3)IP与端口号组成了网络套接字
四、通信要素之TCP网络通信协议和UDP网络通信协议
1)内容:实现通信必须有一些约定,即通信协议,对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准
2)传输层的两大协议TCP以及UDP:
3)网络通信实际上是Socket之间的通信,TCP、UDP底层实现
TCP数据传输依靠套接字+流,UDP数据传输依靠数据报(含有数据信息以及地址信息)