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

为什么要写网络?

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

原因是这样的。作为网站开发人员,你所开发的软件产品最终是要在网络上运行的。这就像一个生产商,要生产供给东北地区的产品,而生产商对东北的天气、地理、人文毫无了解。生产商的产品肯定是不可用的,或者低端的!产品质量不好,那是自然的。产品质量好,那算你点儿高。那么作为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  简单网络管理协议

需要了解的几个概念

1.URL

    这个东西的学名加:统一资源定位符。他表示找到互联网中一个资源的资源位置、访问资源的方法。

  通常的结构是这样的

 《协议》://《主机》:《端口》/《路径》?请求参数

http下就是这样

http://《主机》:《端口》/《路径》

2.HTTP协议

  • 这货的学名叫:超文本传输协议。
    顾名思义,http协议定义了浏览器如何向网络服务器请求文档,以及服务器怎样把文档传送给浏览器。
  • http协议是请求、响应式的。没有请求就木有响应。
  • http是面向文本的,所以报文中的每一个字段都是一些ASCII码串,所以各个字段的长度不确定。
  • http报文总共就有两类,请求报文、响应报文。
    1)请求报文  
    2)响应报文
  • 无论是请求报文,还是响应报文,都可以划分为三部分。
    1)开始行
    2)首部行
       我的习惯是把上面的的两部分叫,报文头。下面这部分叫报文体。(也不知掉对不对)
    3)实际主体
  • 具体细节,下篇博文里专写一个关于HTTP协议的浅显研究。
时间: 2024-10-05 05:07:38

网络基础知识、ASP.NET 核心知识(1)*的相关文章

网络基础知识、ASP.NET 核心知识(1)--转载

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

关于Http协议、ASP.NET 核心知识(2)

简介HTTP (对于http协议的描述我前部分有写,但基于保证文档独立完整性的原则,我再写一遍.反正又不花钱.) 这货的学名叫:超文本传输协议 英文名字:(HTTP,HyperText Transfer Protocol) 他是互联网上应用最为广泛的一种网络协议.http协议定义了浏览器如何向网络服务器请求文档,以及服务器怎样把文档传送给浏览器. 可以这样说嘛?网站就是活在http协议上的.所以对于ASP.NET开发人员来说,这部分内容,是必须了解的. HTTP协议的特点 这部分内容是我认为的,

ASP.NET内核几大对象、ASP.NET核心知识(7)--转载

本文的学习流程是这样安排的. 一个简单的GDI小案例 1.说明 如果你想思考如何生成验证码,那么您第一个要解决的问题,一定是.NET动态生成图片问题. //GDI:.Net程序中进行绘图的一些类. 2.代码 1 //这段代码开始前,要添加System.Drawing的引用. 2 //创建一个尺寸为500*500的内存图片 3 using (Bitmap bmp = new Bitmap(500, 500)) 4 //得到图片的画布 5 using (Graphics g = Graphics.F

关于Http协议、ASP.NET 核心知识(2)--转载

原文链接:http://www.cnblogs.com/mcad/ HTTP工作原理图 请求报文 1.请求报文长什么样?  Chrome核心的请求报文 2.报文结构 3.报文头部每个字段的意义 //从开发者工具上复制的东西 GET /index.php HTTP/1.1 Host: www.baidu.com Connection: keep-alive Cache-Control: no-cache Accept: text/html,application/xhtml+xml,applica

写一个简易浏览器、ASP.NET核心知识(3)

前言 先在文章前面说好了,省得大家发现我根本没有这样的头发,duang的一下一堆人骂我. 这篇文章的标题有点大,其实挺low的,我需要在开头解释一下.我这里只想写一个小的控制台,旨在模拟浏览器的http通信. 不是真的能用的浏览器. 简单的说,今天的全部工作就是 建立Socket→发送请求报文→ 服务器返回报文→显示报文.仅此而已喏. 实话说出来,是不是一下就low了? 我的目的只有两个. 1.加深对http协议的理解   2.深化对B/S结构的认识. 如果您已经非常了解这些东西了.那就甭搭理我

ASP.NET内核几大对象、ASP.NET核心知识(6)

描述 其实今天的博文,是一般处理程序的后续部分,理论上应该叫一般处理程序(2).但是觉得文章标题后面的系列名已经有个数字,再加一个2有点怪. 这篇博文主要介绍一下几个对象. 1)HttpContext 2)HttpRequest 3)HttpResponse 4)context. Server HttpContext 1.描述 和本次请求相关对象的一个上下文对象,一般通过它获取其他对象. 2.截图 3.对HttpContext.Current的说明 在HttpHandler的ProcessReq

写一个简易web服务器、ASP.NET核心知识(4)

前言 昨天尝试了,基于对http协议的探究,我们用控制台写了一个简单的浏览器.尽管浏览器很low,但是对于http协议有个更好的理解. 说了上面这一段,诸位猜到我要干嘛了吗?(其实不用猜哈,标题里都有,又都不瞎...我就是调侃一下,说些没营养的笑话.我认为这样能不那么枯燥,尽管不好笑吧,但这不重要!) 没错,今天要尝试的东西,是自己写一个web服务器.初衷依旧和昨天一样,旨在理解一些东西,而不是真的写出一个多牛的东西. 第一次尝试(V1.0) 1.理论支持 其实关于http协议的理论方面我在<写

网络基础实用知识(五)

第二章认识网络常用设备(一) 一.     家庭用路由器 1.家庭路由器图例 家用路由器在市场上品牌很多,设置方法看各路由器说明书.家庭路由器一般作为家庭网的出口设备. 2.家庭路由器连接示意图 3.设置方法 连线 按照说明书给的路由器ip地址,配置电脑ip与路由器同网段. 在浏览器里输入:http://路由器ip地址 输入说明书提供的用户名和密码登陆路由器 配置上网方式:根据你实际情况配置静态地址或者PPPOE拨号. 配置是否开启DHCP. 设置无线开放状态包括:SSID的发布.密码等. 联网

网络基础知识查询

第一章.基础网络概念 1.1 网络是个什么玩意儿 全世界的人种有很多,人类使用的语言种类也多的很.那如果你想要跟外国人沟通时,除了比手划脚之外,你要如何跟对方讲话? 大概只有两种方式啰,一种是强迫他学中文,一种则是我们学他的语言,这样才能沟通啊.在目前世界上的强势语言还是属于英语系国家, 所以啰,不管是啥人种,只要学好英文,那么大家都讲英文,彼此就能够沟通了.希望不久的未来,咱们的中文能够成为强势语言啊! 这个观念延伸到网络上面也是行的通的,全世界的操作系统多的很,不是只有 Windows/Li