Web开发基础之“网络协议”

1. TCP/IP协议

 

参考内容:http://www.ruanyifeng.com/blog/2009/03/tcp-ip_model.html

     TCP/IP (Transmission Control Protocol/Internet Protocol,传输控制协议/因特网互联协议-网络通讯协议)协议集是计算机网络中使用最广泛的体系结构之一,它是为互联网设计的。是由网络层的IP协议和传输层的TCP协议组成。

image

 

TCP/IP的四层结构,上一层的协议都以下一层的协议为基础。TCP/IP协议是以TCP和IP为基础的所有相关协议的集合。

从上到下的四层分别为,

(1)应用层(Application Layer)

应用层负责传送各种最终形态的数据,是直接与用户打交道的层,典型协议是HTTP/FTP等;

应用层有SMTP(简单邮件传输协议)、NNTP(网络新闻传输协议)和HTTP(超文本传输协议)。

HTTP协议是平时上网浏览网页时用的协议,它们是通信所遵循的规则。

(2)传输层(Transport Layer)

传输层负责传送文本数据,主要协议是TCP协议。

TCP协议是Transfer Control Protocol的简称,是一个面向连接的、保证可靠传输的数据流服务的协议。

通过TCP协议传输,得到的是一个顺序的、无差错的数据流。客户端和服务器端的两个成对的Socket之间必须建立相应连接。

(3)网络层(Internet Layer)

网络层负责分配地址和传送二进制数据,主要协议是IP协议。

IP协议是一种数据报文协议,作用是通过IP来找到网络中的位移主机。

(4)连接层(Link Layer)

连接层负责建立电路连接,是整个网络的物理基础,典型的协议包括以太网、ASDL等。

 

例如浏览器端在应用层用HTTP协议与主机进行对话,而这些对话的底层协议,都是TCP协议,因为这是负责文本传输的协议;而TCP协议又必须依靠IP协议,进行二进制数据的传输;而二进制数据的传输,离不开最底层负责网络连接的物理协议。因此通过应用层-传输层-网络层-连接层的网络架构,就实现了整个互联网的通信。

 

2. HTTP协议

 

参考来源:

http://baike.baidu.com/link?url=QvRluiLPBaPnWMweavIswsaKFA-k80WutXIQO1pyRz3zyThrP4Vb50pZjihWfrxedVIGsE67iNgoaJCKn7iL8l4vRbViqKzUnpuBxQKxV_5YxPFMY2FgJGt1-00Fe_DfYygE1vCJWq6WbZdy2Vr0HmgH0ljs903d6XOvYlLcVAq

 

HTTP(Hypertext transfer protocol)定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。

从层次的角度看,HTTP是面向(transaction-oriented)应用层协议,是万维网上能够可靠地交换文件(如文本、声音、图像等各种媒体文件)的重要基础。

如欲了解更详细的HTTP协议的知识,极力推荐以下博文:

http://www.cnblogs.com/TankXiao/archive/2012/02/13/2342672.html

 

3. URL(统一资源定位符)

IP地址,是为了实现网络中不同计算机之间的通信而设置的,使每个机器有不一样的标识。

DNS(域名系统),服务器是需要通过IP地址来进行访问的。但平常上网时,只是输入如www.baidu.com这样的网址,那么就需要用到DNS。

DNS的作用是将平常输入的文本网络地址转换成难懂但很高效的网络地址。这是网络发展的重要一步,因为人更容易记住文本形式的地址,但对于服务器来说,它执行数字地址要比文本地址快得多。

URL——Uniform Resource Locator的缩写,是统一资源定位器的简称,它表示Internet上某一资源的地址。

通过URL可以访问Internet上的各种网络资源,如最常见的WWW、FTP站点。浏览器通过解析给定的URL可以在网络上访问相应的文件或其他资源,互联网上的每个文件都有一个唯一的URL。

 

URL的组成

基本URL包含模式(或称协议)、服务器名称(或IP地址)、路径和文件名。

URL是由协议名和资源名组成的,基本形式如protocl://resourceName。

协议名(protocol)指明获取资源所使用的传输协议,如HTTP,FTP,GOPHER,FILE等;

资源名(resourceName)则应该是所要访问资源的完整地址,它是由能转换成主机名的文本地址或直接指定多访问服务器的端口、文件名或文件内部的一个引用所组成的。

http://www.baidu.com/是由协议名加主机名组成的;

http://home.netscape.com/home/welcome.html则是由协议名加主机名加文件名组成的。

 

模式/协议

URL-模式/协议(scheme):它告诉浏览器如何处理将要打开的文件。最常用的模式是超文本传输协议(Hypertext Transfer Protocol, HTTP),这个协议可以用来访问网络。

最常见的模式和协议如下:

  • http-超文本传输协议资源;
  • https-用安全套接字层传送的超文本传输协议;
  • ftp-文件传输协议;
  • mailto-电子邮件地址;
  • file-当地电脑或网上分享的文件;
  • telnet-telnet协议;
  • idap-轻型目录访问协议搜索;
  • news-Usenet新闻组;
  • gopher-Gopher协议。

 

服务器名称/IP地址

文件所在的服务器的名称或IP地址,后面是到达这个文件的路径和文件本身的名称。服务器的名称或IP地址后面有时还跟一个冒号和一个端口号。

如安装Tomcat服务器并启动后,测试Tomcat安装是否成功时,可以先启动Tomcat,然后再在地址栏中输入:http://localhost:8080。这里8080就是Tomcat的默认端口号。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Web前端开发需要掌握的网络基础知识包括: - HTML: 超文本标记语言,用于描述网页的结构 - CSS: 层叠样式表,用于控制网页的外观 - JavaScript: 用于控制网页的行为 - HTTP: 超文本传输协议,用于在浏览器和服务器之间传输数据 - HTTPS: 安全的HTTP协议,用于在浏览器和服务器之间传输加密数据 - AJAX: 异步javascript和XML,用于在网页上实现异步数据交互 - API: 应用程序编程接口,用于网页和服务器之间传输数据 - IP地址,DNS,TCP/UDP,端口号,这些都是基础网络知识 ### 回答2: Web前端开发需要掌握以下网络基础知识: 1. HTTP协议:了解HTTP协议的基本概念、请求方法、状态码、报文格式等。掌握HTTP请求和响应过程,以及常见的HTTP头部字段。 2. 网络通信基础:了解TCP/IP协议族的基本原理和工作机制,包括IP地址、域名解析、端口等。理解TCP和UDP协议的区别和特点。 3. DNS解析:了解域名系统(DNS)的作用和工作原理,包括域名解析过程、DNS缓存等。掌握如何配置和管理域名。 4. 网络安全:了解网络安全的基本概念,包括跨站脚本攻击(XSS)、跨站请求伪造(CSRF)、SQL注入等常见的网络安全问题。学习如何防范和处理这些安全漏洞。 5. WebSocket:了解WebSocket协议的基本原理和特点,能够使用WebSocket实现实时通信功能。 6. 前后端交互:掌握AJAX技术,了解JSON、XML等数据格式的基本概念。能够使用XMLHttpRequest对象向服务器发送异步请求,获取并处理服务器返回的数据。 7. 网络调试工具:掌握常用的网络调试工具,如浏览器开发者工具、Postman等,能够利用这些工具进行网络请求的调试和分析。 8. 前端性能优化:了解前端性能优化的基本原则和常用方法,如压缩资源、合并文件、使用CDN等。能够通过优化网络请求和渲染流程来提升网页的加载速度和响应性能。 总之,掌握了这些网络基础知识,能够更好地理解Web前端开发中的网络交互过程,解决常见的网络问题,并进行性能优化,从而提供更好的用户体验。 ### 回答3: Web前端开发需要掌握以下网络基础知识: 1. HTTP协议:了解HTTP协议的工作原理和常见的请求方法(GET、POST等),了解HTTP头部信息和状态码的含义,以及HTTP的持久连接和缓存等相关概念。 2. HTML和CSS:熟悉HTML和CSS的基本语法和常用标签,了解HTML文档的结构和CSS样式的应用方式,能够根据设计稿实现页面的布局和样式。 3. JavaScript:熟悉JavaScript的基本语法和常用的DOM操作,了解事件处理、Ajax和跨域请求等基本概念,能够编写简单的交互逻辑和动态网页。 4. 网络安全:了解常见的网络攻击方式(如XSS和CSRF)以及相应的防御方法,熟悉HTTPS协议的工作原理和使用方式,能够编写安全性较高的前端代码。 5. 前端性能优化:了解前端页面加载的过程和性能优化的方法,包括减少HTTP请求、压缩和合并静态资源、使用缓存、异步加载等。 6. 浏览器原理:了解浏览器的工作原理,包括渲染引擎的处理流程、页面解析和布局、渲染性能优化等,能够针对不同浏览器进行兼容性处理。 7. 前端框架和工具:熟悉常用的前端框架和工具(如React、Vue、Webpack等),了解它们的工作原理和使用方式,能够快速搭建和优化项目。 综上所述,掌握以上网络基础知识能够使前端开发者更好地理解和应用Web技术,提高开发效率和网页性能,并且能够处理一些网络安全和兼容性问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

inter_peng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值