2.Web开发基础
Web开发基础
1、网络基础
- IP地址 (32bit)
- MAC地址 (48bit)
2、OSI模型
应用层:
应用层提供各种各样的应用层协议,这些协议嵌入在各种我们使用的应用程序中,为用户与网络之间提供一个打交道的接口。
- 用户接口:应用层是用户与网络,以及应用程序与网络间的直接接口,使得用户与网络进 行交户式联系。
- 实现各种服务:该层具有的各种应用层协议可以实现用户请求的各种服务。
网络协议:HTTP(80)、TFTP(69)、SMTP(25)、
FTP(20):FTP传输数据端口,是否会用到20端口与FTP传输模式有关,主动模式使用20 端口传输,被动模式下服务器端和客户端协商决定端口。
FTP(21):FTP传输控制信息端口(默认)
表示层:
处理用户信息的表示问题,如编码、数据格式转换和加密解密等。
- 数据格式处理:协商和建立数据交换的格式,解决各应用程序之间在数据格式表示上的差异
- 数据的编码:处理字符集和数字的转换
- 压缩和解压缩:为了减少数据的传输量,这一层还负责数据的压缩与恢复
- 数据的加密与解密:可以提高数据在传输过程中的安全性
网络协议:Telnet(23)、SNMP(UDP161)、Gopher(70)
会话:
组织和协调两个会话进程之间的通信,并对数据交换进行管理。
- 会话管理:允许用户在两个实体设备之间建立、维持和终止会话,并支持它们之间的数据交 换。
- 会话流量控制:提供会话流量控制和交叉会话功能。
- 寻址:使用远程地址建立会话连接。
- 出错控制:接收来自传输层的数据,并负责纠正错误。
网络协议:DNS(53):TCP是用来做区域传送。
UDP是用来做DNS解析的。
传输层:
向用户提供可靠的端到端的差错检测和流量控制,保证报文的正确传输,同时向高层屏蔽下层数据通信的细节,即向用户透明的传送报文。
网络协议:TCP、UDP
网络层:
在数据链路层的基础上,进一步管理网络中的数据通信,控制数据链路层与传输层之间的信息转发、建立、维持和终止网络的连接。
网络协议:IP、ICMP、ARP
数据链路层:
在物理层提供比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路,提供可靠的物理介质传输数据的方法。
网络协议:PPP
物理层:
利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。不可靠的。
网络协议:IEEE 802.2到IEEE 802.11
3、通信子网:(数据通信)
物理层、数据链路层、网络层
提供各种面向网络的服务。
4、资源子网:(数据处理)
会话层、表示层、应用层
提供各种面向用户的服务。
传输层位于通信子网与资源子网的连接处,主要功能是实现底层协议与高层协议的接口和转换。
5、DNS
DNS域名的层次结构:
- 顶级域名:.com、.edu、 .gov、 .mil
- 二级域名
- 子域名
DNS查找顺序:
浏览器缓存--->本地hosts文件--->DNS服务器
DNS查询方式:
- 递归查询
- 迭代查询
6、HTTP
HTTP请求方法:
- GET:请求指定的页面信息,并返回实体主体
- POST:向指定资源提交数据进行处理请求
- HEAD:类似于GET请求,只不过返回的响应中没有具体内容,用于获取报头
- PUT:从客户端向服务器传送的数据取代指定的文档的内容
- DELETE:请求服务器删除指定的页面
- OPTIONS:允许客户端查看服务器的性能
HTTP状态码:
1xx:信息,服务器收到请求,需要请求者继续执行操作
2xx:成功,操作被成功接收并处理
- 200:请求成功。一般用于GET和POST请求
- 201:成功请求并创建了新的资源
3xx:重定向,需要进一步的操作以完成请求
- 301:资源永久移动
- 302:资源临时移动
4xx:客户端错误,请求包含语法错误或者无法完成请求
- 400:客户端请求的语法错误,服务器无法理解
- 401:请求要求用户的身份认证
- 403:服务器理解请求客户端的请求,但是拒绝执行
- 404:无法找到资源
- 405:客户端请求中的方法被禁止
5xx:服务器错误,服务器在处理请求的过程中发生了错误
- 500:服务器内部错误,无法完成请求
7、MySQL与网络安全的关系:
- SQL注入
- outfile和dumpfile写shell
- 日志getshell
- mof提权和udf提权
8、web应用架构:
web前端
- web应用:电商平台、教育平台
- web开发框架:ThinkPHP、Spring
- web语言:PHP、Java
中间件
IIS、Nginx、Apache、Tomcat
数据库
Mysql、Oracle、SQL server
服务器
Windows、Linux