Web开发基础

1、网络基础

  • IP地址 (32bit)
  • MAC地址 (48bit)

2、OSI模型

应用层:

应用层提供各种各样的应用层协议,这些协议嵌入在各种我们使用的应用程序中,为用户与网络之间提供一个打交道的接口。

  1. 用户接口:应用层是用户与网络,以及应用程序与网络间的直接接口,使得用户与网络进 行交户式联系。
  2. 实现各种服务:该层具有的各种应用层协议可以实现用户请求的各种服务。

网络协议:HTTP(80)、TFTP(69)、SMTP(25)、

​ FTP(20):FTP传输数据端口,是否会用到20端口与FTP传输模式有关,主动模式使用20 端口传输,被动模式下服务器端和客户端协商决定端口。

​ FTP(21):FTP传输控制信息端口(默认)

表示层:

处理用户信息的表示问题,如编码、数据格式转换和加密解密等。

  1. 数据格式处理:协商和建立数据交换的格式,解决各应用程序之间在数据格式表示上的差异
  2. 数据的编码:处理字符集和数字的转换
  3. 压缩和解压缩:为了减少数据的传输量,这一层还负责数据的压缩与恢复
  4. 数据的加密与解密:可以提高数据在传输过程中的安全性

网络协议:Telnet(23)、SNMP(UDP161)、Gopher(70)

会话:

组织和协调两个会话进程之间的通信,并对数据交换进行管理。

  1. 会话管理:允许用户在两个实体设备之间建立、维持和终止会话,并支持它们之间的数据交 换。
  2. 会话流量控制:提供会话流量控制和交叉会话功能。
  3. 寻址:使用远程地址建立会话连接。
  4. 出错控制:接收来自传输层的数据,并负责纠正错误。

网络协议: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与网络安全的关系:

  1. SQL注入
  2. outfile和dumpfile写shell
  3. 日志getshell
  4. mof提权和udf提权

8、web应用架构:

web前端

  • web应用:电商平台、教育平台
  • web开发框架:ThinkPHP、Spring
  • web语言:PHP、Java

中间件

IIS、Nginx、Apache、Tomcat

数据库

Mysql、Oracle、SQL server

服务器

Windows、Linux

2.Web开发基础的更多相关文章

  1. [置顶] 提高生产力:Web开发基础平台WebCommon的设计和实现

    Web开发中,存在着各种各样的重复性的工作.为了提高开发效率,不在当码农,我在思考和实践如何搭建一个Web开发的基础平台. Web开发基础平台的目标和功能 1.提供一套基础的开发环境,整合了常用的框架 ...

  2. 提高生产力:Web开发基础平台WebCommon的设计和实现

    Web开发中,存在着各种各样的重复性的工作.为了提高开发效率,不在当码农,我在思考和实践如何搭建一个Web开发的基础平台. Web开发基础平台的目标和功能 1.提供一套基础的开发环境,整合了常用的框架 ...

  3. PHP 系列:PHP Web 开发基础

    PHP是动态类型的Web开发的脚本语言,PHP以页面文件作为加载和运行的单元,PHP现在有了Composer作为开发包管理. 1.使用Composer管理依赖 自从.NET开发用了Nuget管理程序集 ...

  4. 移动WEB开发基础入门

    什么是移动WEB开发,我个人理解就是,将网页更好的显示在移动端的一些设置,简单来说就两点如下: 1.流式布局,即百分比自适应布局 将body下的div容器的样式设置如下: div{ width:100 ...

  5. 第五模块:WEB开发基础 第3章·BootStrap&JQuery开发

    01-JQuery介绍 02-jQuery文件引入和加载的区别 03-jQuery的基础选择器 04-jQuery的层级选择器 05-jQuery的基本过滤选择器 06-jQuery的属性选择器 07 ...

  6. 第五模块:WEB开发基础 第1章·HTML&CSS基础

    01-前端介绍 02-HTML介绍 03-HTML文档结构 04-head标签相关内容 05-常用标签一之h1~h6,p,a 06-常用标签一之ul.ol.div.img.span 07-常用标签二- ...

  7. Web开发基础知识

    综述 最近开始Java Web方面的工作,千里之行始于足下,我们在开发过程中要善于总结自己遇到的问题.善于管理一些优秀的代码片段.本文的主要内容是Web开发的基础知识,对于大牛来说可以忽略,对于初入W ...

  8. 移动端web开发基础概念

    最近在了解移动端web开发的相关知识,有些概念总是模糊不清,这次花费了一些时间整体的梳理了一遍. 分辨率 分辨率可以从显示分辨率与图像分辨率两个方向来分类.显示分辨率(屏幕分辨率)是屏幕图像的精密度, ...

  9. web开发基础--字节序

    字节是网络传输上的最小单位,是web开发中需要了解的一个知识点. 1.有效位 在谈字节序前需要先了解有效位,有效位分为两种:最低有效位(LSB: Least Significant Bit) 和最高有 ...

  10. Java Web开发基础(3)-JSTL

    在DRP项目中接触到了JSTL标签库,对我这样的比較懒的人来说,第一感觉就是"惊艳". JSTL标签库的使用.能够消除大量复杂.繁复的工作.工作量降低的不是一点半点.是降低了一大半 ...

随机推荐

  1. sequelize的创建接口以及模糊查询

    第一步: 在routes里面复制index.js更改为xxx.js(例如arctile.js) res.json()返回的就是json文件 第二步: 在views里app.js引用路由 第三步:查找数 ...

  2. Java 基础(二)

    类的初始 类中包括:属性,方法. 快速使用 我们都是人,而人的共同特点有很多. 比如:名字,年龄,性别,吃饭,睡觉... // 定义类 public class Person { // 定义属性 St ...

  3. kafka例子

    <dependencies> <dependency> <groupId>org.apache.kafka</groupId> <artifact ...

  4. oracle建表和sqlserver建表

    oracle declare num number;begin select count(1) into num from user_all_tables where Upper(Table_Name ...

  5. pycharm cv2 的方法不能智能提示

    按住ctrl,光标放在cv2上,就能跳转到cv2的__init__.py文件 全选,按Ctrl+/注释掉所有语句,然后将如下语句添加到__init__.py中 import sys import os ...

  6. ES7-ES12总结篇

    脑图模式       插入 ES7-ES12  ES7  Array.prototype.includes()   includes() 方法用来判断一个数组是否包含一个指定的值,如果包含则 ...

  7. Jmeter-接口测试(三)

    一.jmeter接口关联 1.正则表达式实现接口关联 正则表达式可以这样测试 2.jsonpath表达式实现接口关联(只能作用于返回值是token的) 从根目录开始找$.token 从任意目录开始找( ...

  8. java中锁的应用(ReentrantLock)

    package com.xielu.test; public class explicit { private static Lock lock = new ReentrantLock(); priv ...

  9. laravel5.5 数据查询记录

    laravel5.5版本数据查询 基于 prettus/l5-repository 插件 首先安装好 prettus/l5-repository插件 配置相关参数 1 根据条件查询数据总数 publi ...

  10. Redis集群模式及工作原理

    Redis有三种集群模式:主从模式.哨兵模式和集群模式. 1. 主从模式 所有的写请求都被发送到主数据库上,再由主数据库将数据同步到从数据库上.主数据库主要用于执行写操作和数据同步,从数据库主要用于执 ...