We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CreateTime:2016-09-06 20:07:17 Author:zhongxia 浏览器输入URL之后,发生了什么? 针对前端来说,最重要的是 http 和 浏览器渲染。底层硬件,网络通讯,后端的相关知识,这里就大概一概而过了。 这一篇主要讲解一下http相关方面的。
用户输入URL地址,浏览器会去解析URL地址,得到请求服务器地址,请求页面文件路径,以及请求参数
根据域名解析服务器的IP地址, ip地址是一串数据,不方便记忆,因此有了域名。
浏览器发出一个 HTTP协议的请求,组织了一个请求的数据包(走OSI七层模型,从应用层 到 最低层的数据链路层 的数据包层层封装,然后传到服务器在 层层解开)
请求头 和 请求正文之间有 一个空行,空行是 HTTP规定的消息头和消息体的分界线
1xx:信息响应类,表示接收到请求并且继续处理
2xx:处理成功响应类,表示动作被成功接收、理解和接受
3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理
4xx:客户端错误,客户请求包含语法错误或者是不能正确执行
5xx:服务端错误,服务器不能正确执行一个正确的请求
三层架构(浏览器,web服务器,数据库),http 是用在 浏览器 和 web服务器之间通讯
两个核心(浏览器发出request请求, Web服务器response返回数据(text,xml,流等))
一个记住(HTTP是无状态的)
无状态是指_协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态_。即我们给服务器发送 HTTP 请求之后,服务器根据请求,会给我们发送数据过来,但是,发送完,不会记录任何信息。 keep-alive 也无法改变这个无状态
1、请求头:
我们现在通过谷歌浏览器来查看一下请求头:
以打开百度首页为例,然后在谷歌浏览器中打开“工具-开发者工具”,切换到network标签, 然后刷新页面:
上图中,打开箭头处html格式的文件,显示如下:
上图中的Request Headers就是我们所需要的请求头。里面的内容全部是键值对。服务器拿到这些键值对后会对其进行分析。
我们再来重复一下常见请求头键值对的含义:
注:上面的这些指的是get请求的请求头。
2、响应头:
我们再来看一下响应头的内容:
常见的响应头键值对的含义:
注: 之所以三个头是一个功能,是因为历史原因。不同的浏览器对这三个头支持的不同,一般来说这三个头要同时使用,以确保不同的浏览器都能实现控制缓存的功能
The text was updated successfully, but these errors were encountered:
No branches or pull requests
浏览器输入URL,发生了什么?【HTTP篇】
1. 浏览器输入URL,解析URL
用户输入URL地址,浏览器会去解析URL地址,得到请求服务器地址,请求页面文件路径,以及请求参数
2. DNS解析
根据域名解析服务器的IP地址, ip地址是一串数据,不方便记忆,因此有了域名。
3. 浏览器发送HTTP请求
浏览器发出一个 HTTP协议的请求,组织了一个请求的数据包(走OSI七层模型,从应用层 到 最低层的数据链路层 的数据包层层封装,然后传到服务器在 层层解开)
3.1 请求消息
3.2 响应消息
1xx:信息响应类,表示接收到请求并且继续处理
2xx:处理成功响应类,表示动作被成功接收、理解和接受
3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理
4xx:客户端错误,客户请求包含语法错误或者是不能正确执行
5xx:服务端错误,服务器不能正确执行一个正确的请求
3.3 HTTP相关知识:
三层架构(浏览器,web服务器,数据库),http 是用在 浏览器 和 web服务器之间通讯
两个核心(浏览器发出request请求, Web服务器response返回数据(text,xml,流等))
一个记住(HTTP是无状态的)
4. 以百度首页为例获取请求头和响应头内容:
1、请求头:
我们现在通过谷歌浏览器来查看一下请求头:
以打开百度首页为例,然后在谷歌浏览器中打开“工具-开发者工具”,切换到network标签, 然后刷新页面:

上图中,打开箭头处html格式的文件,显示如下:

上图中的Request Headers就是我们所需要的请求头。里面的内容全部是键值对。服务器拿到这些键值对后会对其进行分析。
我们再来重复一下常见请求头键值对的含义:
2、响应头:
我们再来看一下响应头的内容:

常见的响应头键值对的含义:
参考文章
The text was updated successfully, but these errors were encountered: