为什么要写网络?

作为网站开发人员,你所开发的软件产品最终是要在网络上运行的。这就像一个生产商,要生产供给东北地区的产品,而生产商对东北的天气、地理、人文毫无了解。生产商的产品肯定是不可用的,或者低端的!产品质量不好,那是自然的。产品质量好,那算你点儿高。那么作为ASP.NET开发人员,如果一点不懂http协议、不晓得Ajax、甚至根本不了解JavaScript,效果也是一样的。总之,丰富的知识储备,会为你的软件产品带来更多的品质保障。我们要了解的主要是HTTP协议

关于体系结构

1.OSI、TCP/IP、与五层体系结构

说道网络的体系结构,总共有两个经典的划分方式,分别是OSI七层 和 TCP/IP四层。

1)OSI

OSI的七层协议体系结构、清晰,完整。       但复杂度高,又不实用。

2)TCP/IP

相比的OSI七层的复杂,TCP/IP的四层结构 得到了广泛的应用。

但是从实际角度看,TCP/IP在实际应用中仅使用了上三层。

3)五层体系结构。

TCP/IP 最下层网络接口层,没有什么特别新的具体内容,跟一般的通信链路没有多大差别。

所以在学习的时候采用一种中庸的做法,就是把TCP/IP体系、和OSI体系结合

形成一个从物理层、数据链路层、网际层、运输层到应用层的五层体系结构。

2.对于五层协议、每层的描述

1)物理层

定义了通信设备的 机械、电气、功能归程特性。(当年就是这么背的,我理解的呢就是这样,“方形的插头、插不进去圆形的口。就是定义这样一个标准吗”)

设备: 集线器  (组成一个碰撞域)

2)数据链路层

建立、维护和释放网络实体间的数据链路,这种数据链路对网络变现为一条无误差的信道。(MAC媒介访问层、LLC逻辑链路层)

主要特性记住三点》  1. 封装成帧

2.透明传输

3.差错检测

设备:网桥、有缓存,接受MAC帧。

3)网络层:

属于通信子网,通过网络连接交换传输层实体放出的数据。它解决的是路由选择,网络拥塞,异构网络互联的问题。(发送的是报文)

IP       网际协议

ARP   地址解析协议

RARP 反向地址解析协议

ICMP 网际控制报文协议

IGMP 网际组管理协议

4)传输层

实现发送端和接收端,端到端的数据分组传送,负责保证实现数据包无差错、无丢失和无冗余的传输。 (服务的访问点为端口)

TCP   (传输控制协议) 可靠、面向连接、有应答机制

UDP  (用户数据报协议)不可靠、无连接、无应答机制

5)应用层

虽然我们是程序开发人员,但是上面基层的协议说的什么呢?实话说跟我们联系不大。到了应用层才跟我们得工作息息相关。

HTTP   超文本传输协议 这个才是我们需要懂的。

FTP      文件传输协议

DHCP  动态主机配置协议

NFS      网络文件系统

Telnet  远程登录协议

DNS     域名系统

SNMP  简单网络管理协议

 

网络基础知识HTTP(1) --转载的更多相关文章

  1. iOS网络基础知识

    iOS网络基础知识 1.一次HTTP请求的完整过程 (1)浏览器或应用发起Http请求,请求包含Http请求Http(请求),地址(url),协议(Http1.1)请求为头部 (2)web服务器接收到 ...

  2. 网络基础知识、ASP.NET 核心知识(1)*

    为什么要写网络? 我原本的计划是这样的,连续两天梳理ASP.NET开发的核心知识.说到这呢,有人问了.“不是说好了做ASP.NET笔记吗?为啥要写网络基础知识?是不是傻?” 原因是这样的.作为网站开发 ...

  3. Java 网络编程(一) 网络基础知识

    链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951826.html 网络基础知识 网络编程的目的:直接或间接地通过网络协议与其他计算机 ...

  4. Linux运维笔记(一)网络基础知识

    网络基础知识 一.基本概念 1.ARPANET & TCP/IP:以“软件”技术将网络硬件整合,使得不同的计算机或者数据可以通过这个软件达成数据沟通(TCP/IP技术也被称为Internet) ...

  5. 转:TCP/IP协议(一)网络基础知识

    转载:http://www.cnblogs.com/imyalost/p/6086808.html 参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知 ...

  6. TCP/IP协议(一)网络基础知识

    参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...

  7. TCP/IP协议(一)网络基础知识 网络七层协议

    参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...

  8. 软件开发架构、网络基础知识、osi七层模型

    一.软件开发的架构 涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq.微信.网盘.优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度.知乎.博客园等使用浏览器访问就可以 ...

  9. 网络基础知识 tcp

    网络基础相关的知识(1)架构a. C / S架构: client客户端和server服务器端 优势: 能充分发挥PC机的性能b. B / S架构: browser浏览器和server服务器 隶属于C ...

随机推荐

  1. <经验杂谈>查询表结构的SQL语句

    在我们使用SQL数据库的过程中,经常会遇到查询表结构的情况,以下就是sql语句的写法: --查询非系统数据库 SELECT name FROM Master..SysDatabases 查询数据库下所 ...

  2. 如何把一个表中的部分字段值插入到另一个表中去 这sql吊

    Insert into  JHAC_TB_CODE(CID,CODE,ADD_TIME,USERID,PRO_CODE,USERNAME)  select f_code.FID,f_code.Fcod ...

  3. 类型“XXX”的控件“XXXX”必须放在具有 runat=server 的窗体标记内。

    问题:类型“Grid1”的控件“XXXX”必须放在具有 runat=server 的窗体标记内. 注:Grid1为表格的ID. 查找网上的解决大致为: 1)把Grid放到<form runat= ...

  4. AngularJs练习Demo6

    @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport&quo ...

  5. 客户Oracle数据库在插入数据的时候报超出最大长度的错误(规避风险)

    背景: 项目使用oracle数据,在开发环境测试一些正常.项目部署到客户的服务器上后,系统在添加数据的时候报错.输出错误信息,发现是“超出最大长度”的异常. 但是按照数据库的设计,添加的数据应该在允许 ...

  6. Mahout快速入门教程

    Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,包括:被称为Taste的分布式协同过滤的实现.分类.聚类等.Mahout最大的优点就是基于hadoop实现,把很多以前运行于单 ...

  7. c++第三天

    今天完成的事情: [主线] 1.复习了一下昨天的内容 while(std::cin >> value) 扫描[标准输入] 2.在网上下载Sales_item.h 代码如下 #ifndef ...

  8. 树莓派 wheezy安装与远程登录配置

    一.准备工作 1:wheezy系统镜像 2:Win32DiskImager-0.9.5-install 3:SDFormatter 4:SD卡 我用的是8G 二.安装系统 流程:SDFormatter ...

  9. Android setTextColor无效_安卓setTextColor()的参数设置方式

    通过代码setTextColor时.如果color是一个资源文件 会set失败 没有效果 遇到这样的情况有两种解决办法.亲测过.两种都是有效的 一.注解方式 通过在方法上面添加注解解决问题 代码如下 ...

  10. 深入浅出Node.js (4) - 异步编程

    4.1 函数式编程 4.1.1 高阶函数 4.1.2 偏函数用法 4.2 异步编程的优势与难点 4.2.1 优势 4.2.2 难点 4.3 异步编程解决方案 4.3.1 事件发布/订阅模式 4.3.2 ...