网络通信概述及TCP/IP协议、HTTP协议、HTTPS协议
------------恢复内容开始------------
一、网络通信
1.什么是网络
使用网络能够把多方链接在一起,然后可以进行数据传递
网络编程就是,让在不同的电脑上的软件能够进行数据传递,即进程之间的通信
地址就是用来标记地点的
ip地址:用来在网络中标记一台电脑
2.端口
如果一个程序需要收发网络数据,那么就需要端口,端口是通过端口号来标记的,端口号只有整数,范围是从0到65535(Linux系统)
**知名端口号,80端口分配给HTTP服务,21端口分配给FTP服务
**ip地址与网络服务的关系是一对多的关系,主机区分不同的网络服务是通过 “ip地址+端口号”来区分不同服务的,需要注意的是,端口并不是一一对应的。
3.TCP/IP协议
TCP/IP协议(传输控制协议/互联网协议)是一种面向连接的,可靠的基于字节流的传输层通信协议。 这不是简单的一个协议,而是一组特别的协议,包括:TCP,IP,UDP,ARP等,这些被称为子协议。在这些协议中,最重要的是TCP、IP。它是一种网络通信协议,它规范了网络上的所有通信设备,数据往来格式以及传送方式(传输)
TCP/IP协议是网络的基础,是internet的语言
网络传输-TCP/IP四层模型
链路层(数据链路层/网络接口层):包括操作系统中的设备驱动程序、计算机中对应的网络接口卡。
网络层:处理分组在网络中的活动
运输层:主要为两台主机上的应用提供端到端的通信
应用层:负责处理特定的应用程序细节
OSI(开放系统互联的7层从上到下分别是)7应用层6表示层5会话层4传输层3网络层2数据链路层1物理层
4.HTTP协议
HTTP协议就是超文本传输协议,用于传送WWW方式的数据,是浏览器和web服务器传输数据格式的协议,HTTP协议是一个应用层协议。
HTTP协议是基于TCP协议的,发送数据之前需要建立好连接。
常用的HTTP方法
- GET:用于请求访问已经被URL识别的资源,可以通过url传参给服务器
- POST:用于传输信息给服务器,主要功能与GET方法类似
- PUT:传输文件,报文主题中包含文件内容,保持到对应URI位置
- HEAD:获得报文首部,与GET方法类似,只是不返回报文主体
- DELETE:删除文件,与PUT方法相反,删除对应URI位置的文件
- OPTIONS:查询相应URI支持的HTTP方法
5.HTTPS协议
http+ssl,即对传输的内容进行加密
二 通信过程
- 在浏览器中输入网址:
需要将它先解析ip地址,得到ip地址后,浏览器以tcp的方式3次握手链接服务器,以tcp的方式发送http协议的请求数据给服务器,服务器tcp方式回应http协议的应答数据给浏览器 - 浏览器访问服务器的过程:
用户输入网址,浏览器请求DNS服务器,获取域名对应的ip地址,请求链接该IP地址服务器。发送资源请求 - 服务器
web服务器接收到请求,并解析请求,判断用户意图,获取用户想要的资源。将资源返回给web服务器程序。web服务器程序将资源数据通过网络发送给浏览器,浏览器解析请求的数据并且完成网页数据的显示。
三、网址
网址
又称为URL,表达的意思是统一资源定位符,即网络资源地址
URL的组成部分大概分为三部分:协议部分、域名部分、资源路径部分
域名
域名可以用来表示一个单位、机构或可以利用个人在internet上的确定的名称或位置,域名是唯一的
DNS
由于我们用域名来标识计算机的位置,但网络上标识主机的唯一标识是IP地址,因为一个域名和IP地址的对应关系,这个对应关系就存储在DNS服务器中,当我们向DNS发出请求时,DNS会返回给我们域名所对应的IP地址
浏览器访问服务器其实就是请求和响应的过程,URL就是请求资源在网络中的地址,通过域名可以解析出来一个ip地址,