美文网首页Go语言学习笔记
go web笔记(一):网页实现原理

go web笔记(一):网页实现原理

作者: 六分钟热度 | 来源:发表于2020-11-26 21:11 被阅读0次

阴差阳错,我成为了一名go开发工程师。虽说放弃之前的JAVA积累稍显可惜,不过转念一想,反正我JAVA也那么菜,倒不如换个赛道重新起跑哈哈哈。那么今后go语言就将成为我主修的语言了,不能再像大学期间那样得过且过,必须认真钻研

今天的我们,已经习惯了在一个又一个纷繁复杂的网页之间快速点击,从中获取自己想要的信息。但这背后的逻辑到底是怎样的呢?那些文字、图片、视频是怎样传输到我们的电脑屏幕前的呢?想知道这些,就有必要了解一下构建出整个网页系统的web的工作方式了。

平时浏览网页的时候,我们会网页上方的输入框输入一个网址,比如:www.baidu.com,网址输入完成后,一个回车,网页就跳转到了百度的首页。在黑盒视角的用户看来,这是再简单不过的操作,但以一个web开发者看来,这么一个步骤实际上经过了诸多过程:

  • DNS服务器将域名(便于记忆)转换成服务器所在的ip地址
  • 浏览器与服务器之间建立TCP连接
  • 浏览器向服务器发送HTTP Request
  • 服务器对请求进行处理,返回HTTP Response
  • 断开连接,浏览器将Response中的body取出,解析成网页界面

这就是一次网页请求中发生的事情,需要注意的是,客户端和服务器之间的通信是非持久连接的,当服务器发送了应答后,就断开连接,等待下一次的请求。(扩展学习:三次握手/四次挥手/DNS解析url的过程)


通过域名,我们一般可以进入到网站的首页,但是一个网站系统当然不止有一个页面,那么网站之间的浏览又是怎么样的呢?答案是url
何谓url?就拿当前我正在编辑的这个网站来举例吧
https://www.jianshu.com/writer#/notebooks/22427209/notes/80422877/preview
https : 传输所用的协议,有http、https、ftp等
www.jianshu.com:域名
80 :端口号,默认不写就是80
write ...preview:发送给服务器的数据


DNS的工作模式:

  • 操作系统检查本地的host文件是否已经存在映射(所以本地host文件的配置可以禁用掉一些网站)
  • 如果host中没有映射,就去本地DNS查找缓存(如果之前DNS查找过会保留缓存)
  • 如果缓存中也没有,那就本地DNS服务器查找
  • 如果本地服务器也没有,那么就去根服务器查询

HTTP Request请求

  • 请求行
  • 请求头
    请求体

相关文章

  • go web笔记(一):网页实现原理

    阴差阳错,我成为了一名go开发工程师。虽说放弃之前的JAVA积累稍显可惜,不过转念一想,反正我JAVA也那么菜,倒...

  • go web开发学习之路

    基础:go 原生web开发1、go web的工作原理2、搭建一个简单的go web站点3、go web中载入静态文...

  • Go语言——垃圾回收GC

    Go语言——垃圾回收GC 参考: Go 垃圾回收原理 Golang源码探索(三) GC的实现原理 Getting ...

  • goweb协程

    参考Go如何使得web工作go:net/http ListenAndServe执行流程如下图,Go为了实现高并发和...

  • 2018-05-24raft实现代码

    1.go语言实现raft分发原理main.go 文件代码如下

  • Golang聚合

    教程 Go Web 编程Go语言圣经(中文版) Tips Golang 学习笔记——交叉编译 & 部署Golang...

  • Golang之Map源码

    引用 深入 Go 的 Map 使用和实现原理 哈希表 深度解密Go语言之map Golang map 的底层实现 使用

  • mux源码解读

    mux简介 go语言中一个强大的web路由,在这里我准备理解其原理后实现一个python版的mux,同时也为了进一...

  • GO——学习笔记(十一):简单的mysql数据库调用

    上篇:GO——学习笔记(十) 参考: https://github.com/astaxie/build-web-a...

  • GO——学习笔记(一)

    下篇:GO——学习笔记(二) 参考: https://github.com/astaxie/build-web-a...

网友评论

    本文标题:go web笔记(一):网页实现原理

    本文链接:https://www.haomeiwen.com/subject/pibziktx.html