发布网站流程以及http和url解析

一个网站发布需要哪些东西

  1. 项目(前后端的代码)
    1)前端代码和后端需要进行交互,前端需要用ajax和后端进行交互;1) :请求数据 2) : 更新数据 3) 新增数据 4)删除数据
  2. 服务器(云服务器、真实的服务器)
    1).每一台服务器都有一个唯一的IP地址;
    2).每一台服务器最多有65535个端口,每一个端口都有一个对应的端口号;0–65535;所以一台服务器最多可以部署65535个项目;
    3)中小型公司大多使用云服务器,大公司才会有自己的服务器;
  3. ftp 上传;把项目上传到服务器上;
  4. 域名: 万网 https://www.baidu.com;
  5. DNS服务器 : DNS解析器将域名和服务器的IP地址进行绑定;备案(将域名和服务器捆绑到一起)
    DNS解析器:将域名和IP映射的一个数据库;能够将域名解析成一个浏览器识别的IP地址;
    https:对应的端口一般都是443 http:80

从浏览器输入url发生了什么

1.发送请求,浏览器先解析这个域名,浏览器判断是否之前访问过,找自身的缓存;如果浏览器缓存没有,那么再找本地硬盘,如果也没有,浏览器发送DNS请求,如果本地DNS服务器先找缓存,缓存再去列表查找,如果也没有,就会域服务器查找,直到找到,会把这个域名和IP缓存到本地,方便下次进行访问。
2.得到服务器IP地址以后,需要和服务器建立TCP连接;(三次握手,四次挥手)
3. 握手成功以后,客户端要发送真正http请求请求方法,请求头,请求正文;
4. 服务器根据请求信息进行数据的查找,数据的整合,最后返回给客户端;
5. 关闭TCP连接(四次挥手),客户端和服务器需要相互确认,信息是否传输完毕;
6. 当浏览器接受html,css ,js,浏览器需要进行解析和加载,先形成DOM–>css树—>render树;
7. 浏览器最终渲染;

http协议

	http协议 : 超文本传输协议;不仅可以传输文本,还可以传输图片,音视频等内容;
    http就是浏览器和服务器之间的快递小哥;帮助浏览器和服务器传输东西的;
    http : 超文本传输协议;端口80
    https : 是一种更加安全的传输加密协议;端口443
    http是无状态的;cookie;

http请求请求阶段

 1. 建立TCP连接,三次握手
 2.客户端向服务端http请求
 3.先发送请求头,然后再发送请求体,最后发送发送一段空白,告诉服务器请求完毕;

http的服务器处理阶段

  1.当服务器接收到前端的http请求响应,服务器根据请求的url,找到对应端口
  2. 找到端口,根据请求的url,找到对应文件,然后把这个url下的数据处理;
  3. 先发送一个响应头给客户端,然后再把请求的数据以响应体方式传给客户端;

http最终响应客户端阶段

  1. 先接受到一个响应头,根据响应头信息,按照响应头信息接受不同的数据
  2. 客户端接受html,css,js等,会按照特定的格式进行解析加载
  3.  如果是HTML,会形成DOM树,css树,render树;最后渲染

传输时三次握手及四次挥手

三次握手:

 1. 客户端先发送SYN数据包给服务器
 2. 服务器接受到SYN包,把这个包进行处理,成为SYN/ACK包
 3. 客户端再次发送收到的确认信息

四次挥手:

 1. 客户端数据已经传输完毕,告诉服务器传输完毕FIN包
 2. 服务器收到会给客户端发送ACK包,告诉客户端可以关闭;
 3. 当服务器数据处理传输完毕,会给客户端发送FIN包,服务器已经传输完毕
 4. 客户端在发送ACK包,确认接收完毕,服务器把数据传输通道关闭;

URL URI URN

URI:Uniform Resource Identifier 统一资源标识符
URL:Uniform Resource Locator 统一资源定位符
URN : Uniform Resource Name 统一资源名称

	URL 和 URN都属于URI
    统一资源定位符
    http://127.0.0.1:5501/6sdsadassdasa2/4.htta议ads.html?username=a&&password=b#abc
  	   http : 协议 https
	   :// : 层级标记符号;
   	   127.0.0.1 : 域名(本机域名)locahost[自己的电脑作为服务器,启动了5501的端口号,把项目部署到了这个端口上]
	   127.0.0.1===localhost
 	   port :端口号
  	   6sdsadassdasa2/4.htta议ads.html: 资源的路径
 	  ?:后面是参数
	   # : hash值
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章