网络连接核心
TCP/IP 体系结构(IP和端口)
什么是ip地址?
- IP地址是电子设备(计算机)在互联网上的唯一标识。
- 用来在互联网中寻找电脑。
内网(局域网)IP和公网(互联网)IP?
- 内网IP:路由以内的网络,可以连接互联网,但是互联网无法直接连接内网(需要端口映射)。
- 内网隔离安全保障、IPv4地址资源耗尽、运营商问题。
- 怎么判断自己的IP地址是公网还是内网:本地命令行输入ipconfig(Linux:ifconfig)与百度搜索IP得到的不一致则为内网IP。
- 公网IP:互联网IP,可以直接和互联网资源互通,不需要端口映射,日常应用如摄像头远程监控、电脑远程开机、主机游戏互联、NAS等。
- IP就像家庭地址一样,公网IP是小区地址,内网IP就是你家门牌号,可以从家走出小区(内网IP能连接互联网),但是外人进入你家,需要门卫检查(公网IP无法饺子二连接内网IP)。
IP地址和端口
什么是端口?
- 端口是应用程序(服务)在计算机中的唯一标识。
- 端口可以认为是设备与外界通讯交流的出口。
- 端口可以分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。
HTTP超文本传输协议
- 基于tcp/ip协议。
- 默认端口:80。
- 请求和响应一一对应。
- 每次请求相互独立,是无状态协议:保证了网站传输的安全性。
请求消息-request
组成:请求行,请求头,空行,请求体
请求行:
- 包括:请求方式、请求url、协议及版本
- 常见八种方式,最常用的有get和post。
- get请求:请求参数和对应的值附加在URL后面,利用一个问号 “?”代表URL的结尾与请求参数的开始,多个参数之间用”&”符号隔开,传递参数长度受限制。例如:/index.jsp?id=100&op=bind。显然,这种方式不适合传送私密数据。只能传输字符型。
- post请求:请求参数在请求体中,无大小限制,更安全。能传输字节型。
请求头:
- Host:请求主机域名/ip地址。
- User-Agent:浏览器的版本信息,供服务器解决浏览器兼容问题。
- Accept:传输文件类型。
- Referer:告诉服务器该网页是从哪个页面链接过来的。
- Accept-Encoding:浏览器申明可接收的编码方法。
- Accept-Language:浏览器申明可接收的语言。
空行:
发送回车符和换行符,通知服务器以下不再有请求头。
请求体:
- 请求体里的数据不在GET方法中使用,而是在POST方法中使用。
- POST方法适用于需要客户填写表单的场合以及传送私密数据。
- 与请求数据相关的最常使用的请求头是Content-Type和Content-Length。
响应消息-response
组成:响应行,响应头,空行,请求体
响应状态码:
- 1xx:服务器接收浏览器消息未完成
- 2xx:成功,200
- 3xx:重定向,302,304(访问缓存)
- 4xx:客户端错误,404(没有找到对应资源),405(请求方法不被允许)
- 5xx:服务器错误,500(服务器内部出现异常)