web的一些基本概念

来源:https://blog.csdn.net/d_weirdo/article/details/79859964
URL:
"全球资源定位器 ( Uniform Resource Locator ). 真的好专业, 挺能唬人, 呵呵~ 简单来说, 就是用来描述Internet上的某一个资源所在位置的一个字符串, 比如我们平时说的网址, 当然也可以是Internet上的一张图片, 一个视频或其它东东. 根据URL计算机至少可以得到2个信息: (a) 资源所在的服务器的地址; (b) 资源在服务器上的存放路径.

HTTP协议:
超文本传输协议 ( Hyper Text Transport Protocol ). 呵呵, 还是好专业…… 好吧, 简单点说, 就是一种计算机之间传输数据所遵循的协议, 这里所说的协议其实是一种数据封装的规范. 计算机会把要传输的数据封装成一个叫做"数据包"的东东, 协议就规定了这个"数据包"里应该有些什么信息, 这些信息分别应该放在什么位置, 等等. HTTP协议就是众多协议中的一种, 它详细规定了浏览器与网站服务器之间进行数据传输的规范. 具体HTTP协议里规定了些什么东东? 感兴趣的同学可以查一下别的资料. 但可以想到里面肯定包含了收发方的地址信息和我们要传输的数据主体, 呵呵~ 总之, 上网看八卦就得靠它了……我的理解是,将数据以一定格式打包成数据包后发出去。

(1)遵循HTTP协议封装的数据还要经过更低层的一些协议封装,即每经过一层加上该层的包直到到达链路层, 最后通过物理链路(网线+路由)传输到服务器。

(2)服务器收到HTTP请求之后干什么呢? 大体来说, 3件事: (a) 找到你要的东西(个人理解,对得到的数据包进行解析,然后去寻找相应资源); (b) 进行一些应该在服务器端完成的处理, 比如: 执行服务器端脚本. 当然这一步并非对所有请求都是必须的; © 把处理结果封装成HTTP协议描述的数据包, 返回给客户端。

(3) 浏览器收到服务器返回的响应之后, 解析得到的数据, 将其转化成一个图形化的界面, 就是我们看到的网页. 当然, 如果其中还包含Javascript之类的脚本, 浏览器还会执行它……

注意:
1.无论什么设备, 只要它能接收HTTP请求, 返回HTTP响应那也就可以姑且称作"WEB服务器", 至于它如何处理接收到的请求, 那就得看你装了什么WEB服务器端软件了. 所以, 客户端可以是电脑, 手机或别的东东, 服务器端也不一定就是多么高档的一台机器, 它也可能就是一个单片机或嵌入式系统. 想想你进入路由器设置的那个界面(这玩意就是我想搞的东西。。。), 呵呵~

2.HTTP 和 HTML没有必然的联系! HTTP是描述数据封装格式的一种规范, 而HTML是用来告诉浏览器网页内容的一种语言. 所以, 通过HTTP协议传输的不一定非得是HTML文档, 也可以是"纯数据", 在使用Ajax技术时大多数情况下从服务器返回的仅是数据而已, 并非完整的HTML文档. 当然, 还可以想到…… 可以使用HTTP协议下载一个文件.。

网站的访问过程

来源:https://blog.csdn.net/vM199zkg3Y7150u5/article/details/78474503
(1)输入URLhttps://www.github.com
(2)浏览器解析URL中包含的信息。包括协议(“https”),域名(“github.com”)和资源(“/”)。 在这种情况下,“.com”之后没有指示特定的资源,所以浏览器知道检索主(索引)页面
(3)利用DNS服务查找该域名对应的IP地址
(4)的浏览器从URL中获取IP地址和给定的端口号(HTTP协议默认为端口80,HTTPS默认为端口443),并打开TCP套接字连接。 此时,您的Web浏览器和Web服务器终于连接了。
(5)您的网络浏览器向网页服务器发送HTTP请求,请求 www.github.com. 的主页面
(6)Web服务器接收请求并查找该HTML页面。 如果页面存在,则Web服务器准备响应并将其发送回您的浏览器。 如果服务器找不到请求的页面,它将发送一个HTTP 404错误消息,代表“找不到页面”。
(7)您的Web浏览器将接收到HTML页面,然后通过它从上到按下解析寻找列出的其他资源,如图像,CSS文件,JavaScript文件等。
(8)对于列出的每个资源,浏览器重复上述整个过程(即再去对嵌套在资源中的资源发起请求),向服务器发送HTTP请求。
(9)浏览器完成加载HTML页面中列出的所有其他资源后,页面将最终加载到浏览器窗口中,并且连接将被关闭。

嵌入式web服务器

(1)需要一套嵌入式的TCP/IP协议栈(嵌入式中常用LWIP),这样才能进行网络通信
(2)先按照xml格式写网页,转换成二进制写入flash中,服务器接收到请求后,查表确定回复网页,然后将二进制网页发回去
具体的也不是特别清楚,只是有个大概了解。。。w5500好像很nb,等把最小系统板搞定了之后买回来研究研究。

计算机网络(八)——web的工作原理相关推荐

  1. java 网页应用 原理_【转载】Web应用工作原理

    问题描述: Web应用工作原理 问题解决: 前言 什么是web应用程序?web应用程序又是如何进行工作的呢?什么是动态网页技术?又有 哪些动态网页技术呢?这次这篇文章需要探求总结的. Web应用 我们 ...

  2. Web应用工作原理、动态网页技术

    我们知道应用程序有两种模式,C/S模式和B/S模式.C/S模式是客户端/服务器模式,这类 应用程序一般独立的运行.B/S模式是浏览器/服务器模型,需要借助浏览器来运行. web应用程序一般就是B/S模 ...

  3. Web服务器工作原理详解(基础篇)

    概述:Web服务器概念较为广泛,我们最常说的Web服务器指的是网站服务器,它是建立在Internet之上并且驻留在某种计算机上的程序.Web服务器可以向Web客户端(如浏览器)提供文档或其他服务,只要 ...

  4. WebRTC源码研究(4)web服务器工作原理和常用协议基础

    文章目录 WebRTC源码研究(4)web服务器工作原理和常用协议基础 前言 做WebRTC 开发为啥要懂服务器开发知识 1. Web 服务器简介 2. Web 服务器的类型 3. Web 服务器的工 ...

  5. WebRTC源码研究(4)web服务器工作原理和常用协议基础(转载)

    前言 前面3篇博客分别对WebRTC框架的介绍,WebRTC源码目录,WebRTC的运行机制进行了介绍,接下来讲解一点关于服务器原理的知识.后面博客会写关于WebRTC服务器相关的开发,目前git上面 ...

  6. 计算机网络之交换机的工作原理---超详细解析,谁都看得懂!!

    在了解交换机的工作原理之前,我们先要了解几个概念. 一.相关概念  1.OSI七层模型是哪七层? 自上而下分别是: 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 交换机工作在数据链路层, ...

  7. cookie和session、web服务工作原理、Apache配置php扩展、php简介

    cookie和session: cookie和session区别:cookie数据是存在本地的,而session数据是存在服务端的,session比cookie更安全. cookie:用于http做会 ...

  8. 【计算机网络】ARP协议工作原理

    地址解析协议ARP 一 发送数据的过程 在学习ARP协议的工作原理之前,我们需要先知道为什么需要ARP协议,它在数据传输过程中有怎样的作用. 以下是计算机网络中发送数据的一个大致过程. 首先要知道,源 ...

  9. Web搜索引擎工作原理和体系结构

    1.Web搜索引擎的基本要求 搜索引擎是一个网络应用软件系统,如下图所示,对它有如下基本要求. 能够接受用户通过浏览器提交的查询词或者短语,记作q,例如"大数据","Sp ...

  10. 计算机组成原理/计算机网络 - 网卡 - 探究其工作原理

    1.应用场景 主要用于了解网卡的工作原理,一部分一部分拆解计算机原理. 包括计算机组成原理,操作系统,计算机网络,数据结构与算法,也就是基础类学科. 2.学习/操作 1.文档阅读 CPU:网卡老哥,你 ...

最新文章

  1. android的支付宝sdk 提示系统繁忙 请稍后再试_《活动运营中防系统扑街指南》
  2. 【转】OpenMP 入门教程
  3. js怎么在一个div中嵌入另一网站_好程序员web前端学习路线分享HTML5常见面试题集锦一...
  4. Python基础(一)--初识Python
  5. Oracle中修改存储过程名语句,修改存储过程中使用的语句是,select 语句使用存储过程...
  6. jupyter lab插件无法打开,且报错Error: 500 (Internal Server Error)
  7. python 数据写入json文件时中文显示Unicode编码问题
  8. 如何使用JavaScript获取客户端的IP地址?
  9. lua 给userdata设置元表_Programming in Lualua学习第9期 Lua元表与元方法
  10. 《微信背后的产品观》一书
  11. Centos7虚拟机的镜像下载及创建
  12. iPhone手机绑定163邮箱解决方案
  13. ECSHOP漏洞集:http://sebug.net/appdir/ECSHOP
  14. 【JS提升】六边形的两种画法
  15. 主干光缆线路的组网结构
  16. 对u盘的分区进行删除和格式化
  17. Excel 2007 设置每页打印标题
  18. 【Java】并发模式
  19. linux解压xz文件
  20. @Compoment

热门文章

  1. sqlite和java_Java和SQLite
  2. Java 算法 特殊的数字四十
  3. Java 蓝桥杯 字符串对比
  4. java二次指数平滑法预测未来的值
  5. linux 查看hdfs文件,Hadoop之HDFS文件操作
  6. pstack 安装linux_pstack命令
  7. HuggingFace学习2:使用Bert模型训练文本分类任务
  8. Scrapy 一些常用方法总结(调试,定时与测试)
  9. mysql.sys_MySQL sys Schema
  10. android+动画+锯齿,Android_rotate--animation 动画旋转两图片,消除动画锯齿现象 android 开发:动画旋转两图片 - 下载 - 搜珍网...