一、浏览器访问服务器的过程
浏览器拿着域名请求dns服务器
dns服务器返回域名对应的ip地址
浏览器利用ip地址+端口号访问服务器
二、域名
pan.baidu.com
com *域名
baidu 二级域名
pan 三级域名
三、DNS
DNS解析过程
寻找本地hosts文件
寻找DNS缓存
寻找首选DNS服务器
直接请求根服务器
DNS 使用UDP 通信
使用DNS的好处:
不用记忆了IP端口
当IP发生改变时,不影响用户体验
四、URL
作用:定位网络资源
http://www.baidu.com/
构成: 协议 + 域名(IP+Port)+ 绝对路径(虚拟路径)
http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name
协议+域名+绝对路径 +参数+锚
拓展:URI、URL和URNURI :Uniform Resource Identifier,统一资源标识符;URL:Uniform Resource Locator,统一资源定位符;URN:Uniform Resource Name,统一资源名称。其中,URL,URN是URI 的子集。
Web上地址的基本形式是URI,它代表统一资源标识符。有两种形式:URL:目前URI的最普遍形式就是无处不在的URL或统一资源定位器。URN:URL的一种更新形式,统一资源名称(URN, Uniform Resource Name)不依赖于位置,并且有可能减少失效连接的个数。但是其流行还需假以时日,因为它需要更精密软件的支持。URI是以某种统一的(标准化的)方式标识资源的简单字符串。
五、请求报文格式
请求行: 请求方法+空格+URL+空格+协议版本+\r\n
请求头: k:v+\r\n
? k:v+\r\n
? ...
? k:v+\r\n
空行: 作用为标识请求头的结束
请求体
六、响应报文格式
状态行: 协议版本+空格+状态码+空格+状态码描述符+\r\n
响应头: k:v+\r\n
? k:v+\r\n
? ...
? k:v+\r\n
空行:作用为标识响应头的结束
响应体
七、回调函数
作用: 与前面URL模式绑定, 用于处理前面URL的请求
调用时机: 浏览器请求的url匹配到前面url模式时
类型: 固定, 为 func (w http.ResponseWriter, req *http.Request)
八、URL匹配规则
最长前缀匹配
注意: 后端服务器注册的模式必须是URL的前缀才能进行匹配
当我们在后端服务器只注册了/hello/, 而没有注册/hello 时,http包会自动把/hello重定向至/hello/
文件可能会匹配到目录,但是目录绝对不会匹配到文件
http.Request 结构体分析展示
http.Response 结构体分析展示
Web基础知识点千锋教育整理。来源网络,侵权联系删除。