网络通信是靠IP地址和端口号,当我们在地址栏输入主机名之后,浏览器会将主机名转换为IP地址才可以发送数据接受数据。
IP地址是主机和主机之间通信,端口号是应用程序和应用程序之间通信。
一、DNS解析(把主机名转换成IP地址)
查找主机名对应的IP地址,首先在浏览器缓存文件中查找,如果没有找到,继续在主机缓存中查找,是在hosts文件夹里面查找,如果没有就要通过DNS服务器查找。
DNS服务器查找过程:
开机后,DHCP服务器会自动给主机配上IP、子网掩码、网关、DNS服务器地址,主机通过DNS服务器地址找到DNS服务器并查询,如果DNS服务器知道所要查找的IP地址,会直接告诉客户端,如果不知道,会找别的服务器帮忙查找,这时会有两种查找方式:
1、递归查询
DNS和服务器请求服务器1查找,如果没有,服务器1又请求服务器2继续查找,直到找到为止,最后找到IP地址的服务器n又通过之前的服务器将IP地址告诉给客户端。
2、迭代查询
DNS服务器知道服务器1可能知道所要查询的IP地址,就把服务器1的IP告诉客户端,客户端通过IP地址找到服务器1,服务器1并没有要查询的IP地址,它知道服务器2可能知道要查询的IP地址,又把服务器2的IP告诉客户端,直到找到所要查询的IP地址。
二、主机通过HTTP协议访问服务器的80端口和它通信。
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。
HTTP协议中常见的3种方法:
1、get
向特定资源发出请求(例如,刷新页面,浏览器向服务器发出请求)
2、post
向指定资源提交数据进行处理请求(例如,提交表单)
3、put
向指定资源上传最新内容(例如,上传图片、简历)
HTTP状态码(HTTP Status Code):
是用以表示网页服务器HTTP响应状态的3位数字代码。
1、从100到199范围的HTTP状态码是信息报告码。
2、从200到299范围的状态码是操作成功代码。
3、从300到399范围的状态码是重定向代码。
4、在400范围的状态码是客户端错误码。
5、500级状态码表示的是服务器错误。
404:无法找到指定位置的资源
503:服务器由于维护或者负载过重未能答应。