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. limit资源限制ulimit 详解

    系统性能一直是一个受关注的话题,如何通过最简单的设置来实现最有效的性能调优,如何在有限资源的条件下保证程序的运作,ulimit 是我们在处理这些问题时,经常使用的一种简单手段.ulimit 是一种 L ...

  2. javase我的笔记

    学习java编程 |--需要遵循其语法规范 |--在其开发环境下编程 准备开发java环境 |--安装jdk |--配置jdk jdk:含义是java提供的一套开发工具,包含jre\编译器等 |--编 ...

  3. openEuler22.09初始化脚本

    #!/bin/bash s=`nmcli d | grep "已断开" | awk '{print $1}'` echo /etc/sysconfig/network-script ...

  4. loadrunner 11

    1  环境windows server 2012  2019 的.net 时, 服务器管理器--仪表板--勾选.net后报错? 其中一个办法就是将服务器临时联网,就能安装成功. 2   联机时 提示如 ...

  5. HashMap长度为什么是2的幂

    虽然hash值很多,范围很大,但是内存存不了那么大的数组,所以取hash的散列值的时候,需要用hash值,除以数组长度取余数.又由于取余数(%)的性能不如与运算(&),所以想用与运算来代替取余 ...

  6. ReSharp的安装和使用教程

    1.ReSharp的安装及破解: (1)不多说,直接上下载链接: 链接:https://pan.baidu.com/s/1cJmTQxDS-OHmHs46Q_hbMg 提取码:shiz (2)下载好解 ...

  7. jquery 时间戳转化为日期时间格式,年月日 时分秒

    <script type="text/javascript"> var strDate = ''; $(function(){ // 获取时间戳 时间戳为10位需*10 ...

  8. 使用Eclipse快速开发jsp和.编码问题、JSP页面元素以及request对象

    在IDEA中创建的Web项目: 浏览器可以直接访问WebContent中的文件. 例如http:// localhost:8888/MyJspProject/index1.jsp其中的index1.j ...

  9. gstreamer样例

    #!/bin/bash xrandr -s 0 --output DSI-1 xrandr -s 0 --output HDMI-1 xrandr --fb 1024x600 --output DSI ...

  10. MySql.Data 链接MySql数据库 查询语句中带有中文的奇怪问题

    首先Nuget管理器安装MySql.Data 1.ado.net 直接链接 public static void Test() { MySqlConnection myconn = null; MyS ...