计算机网络(八)——web的工作原理

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,等把最小系统板搞定了之后买回来研究研究。

发布了99 篇原创文章 · 获赞 29 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_44586750/article/details/100567300