网卡对应的一个 mac 地址,厂家在出厂时打的标号,是你这个电脑在世界上的唯一地址,通过网卡,就可以给电脑插上网线,给它分配一个 IP 地址,通过网络层,传输层,给他举行 IP 传输,最终我们通过 IP 地址和一个软件举行通信,好比我在客户端电脑上,在应用层(指的是安装的各种各样的软件 浏览器) 通过浏览器发送HTTP请求,从我这台电脑的 IP 地址,然后经过 mac地址,经过这条呆板的网卡,最终通过互联网和其他人举行通信。
如何去搭建一个网站?以及让这个网站支持高可用的集群,以及能够支持一个高性能的并发,我们学习了这么多 linux 命令,我们会带着大家,比如说,一个网站,怎么把这个网站搭建出来,以及涉及它的域名,端口,以及我们能够让这个网站动态资源,静态资源,进行一个高性能的处理网站,可以展示图片,文字以及视频,登录以后才可以看到视频,它可以看到静态的内容,也可以看到动态的内容,比如购物车的数据啦,登录注册等等,问题来了,我们怎么去搭建这些服务呢?我们需要掌握 web 服务的基础知识。
复制代码
HTTP
http:hyper text transfer protocol
HTTP 协议用于 client 和 server 之间通信,一样平常是请求一个静态资源称之为客户端,提供资源的一方称之为服务端
也就是指你在浏览器访问了一个网站,输入了一个域名,比如想访问 baidu.com jd.com 等等,当你浏览器请求发出去之后,他是通过网络,通过HTTP协议,然后解析到TCP/IP层,因为域名要解析成IP地址,找到互联网中这太服务器淘宝,或者百度,京东他们这台服务器,我们向他们服务器寻求资料,通过tcp/ip协议,这个时候服务器接收到了请求,服务器只是 linux 的操作系统,他会把请求发送给手下干活的工人,他就是HTTP服务器,这个HTTP服务器是处于用户空间的,和用户离得最近的一款软件,(我们会在后面学习apache,nginx,web服务器)这时候,linux内核把用户的请求发给了HTTP服务器,它在这里对用户的请求进行解析,这个用户是想要图片,还是资料?视频?又或者是一个 html静态文件,又比如用户不仅是静态资源,它可能想要的是动态的请求,需要后端程序以及数据库进行一个交互,然后最终把数据库中的数据返回给用户,将动态的请求处理一下,这个时候web服务器,会在(3)这里判断到底是静态还是动态?假如是一个静态请,这个时候http服务器就会去内核空间,会通过linux系统,去访问磁盘上的资料,又或者是网络文件系统,这里指的是存储,它可以是存储,也可以是文件,或者是网络共享文件系统等,这时候静态资源到(4),访问存储资源,读取到后就是第(5)构建响应,资源返回给HTTP(web服务器)拿到了数据,它会构建一个响应头,响应体,告诉用户,你请求的数据是走什么协议的,什么类型的,大小以及客户端地址等等一些信息,构建响应然后走到了(6)发送响应,把数据给用户返回,用户在电脑上就看到了你服务器上的图片,文本,等信息,最终 web 服务器它会把一整套流程记录下来(7)记录事务处理整个流程。做一个日志记录,用于运维人员做运维操作。这是服务器接收请求与响应请求的一个流程
<script type="module">!function(){if(window.__vite_is_dynamic_import_support)return;console.warn("vite: loading legacy build because dynamic import is unsupported, syntax error above should be ignored");var e=document.getElementById("vite-legacy-polyfill"),n=document.createElement("script");n.src=e.src,n.onload=function(){System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))},document.body.appendChild(n)}();</script>
POST /log/web?0000171715070715998https%3A%2F%2Fwww.bilibili.com%2F|333.1007.first_level_zone_navigation.more.click||1715070715998|||1311x209|1||{%22b_ut%22:null,%22home_version%22:%22V8%22,%22i-wanna-go-back%22:null,%22in_new_ab%22:true,%22ab_version%22:{%22for_ai_home_version%22:%22V8%22,%22tianma_banner_inline%22:%22CONTROL%22,%22in_theme_version%22:%22CLOSE%22,%22exit_feed_btn%22:%22HIDE%22,%22force_to_feed%22:%22GO%22,%22enable_web_push%22:%22DISABLE%22},%22ab_split_num%22:{%22for_ai_home_version%22:0,%22tianma_banner_inline%22:0,%22in_theme_version%22:1,%22exit_feed_btn%22:53,%22force_to_feed%22:64,%22enable_web_push%22:19}}||A1CD5861-5C58-FDB4-28E8-52CCC76F6B5E80040infoc|zh-CN|null|1 HTTP/2
Host: data.bilibili.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0