HTTP知识填补
1、HTTP协议
HTTP协议是计算机通信的一种协议
流程:
1、http客户端发起请求,例如手机访问baidu.com,创建端口,一般位80
2、http服务器在端口监听客户端请求
3、http接收到请求后,会给客户端返回状态和内容。
2、DNS域名解析
1、浏览器请求baidu.com,chrome首先查看自身的DNS缓存
2、搜索操作系统自身的DNs缓存查看
3、读取本地的host文件
4、浏览器发起一个DNS系统调用(向宽带运营商请求)
4.1宽带运营商DNS服务器缓存
4.2宽带运营商发起一个迭代DNS解析请求
4.2.1向根域问你知道baidu.com的域名的IP地址是多少
4.2.2根域一看是顶级域的IP域名,于是回复,我只知道com域的DNS服务器IP地址
4.2.3运营商DNS服务器向com域的DNS服务器发出请求,你知道baidu.com的域名的IP地址是多少
4.2.4com域的DNS服务器回复,我只知道baidu.com域的IP地址(域名注册商提供)
4.2.5宽带运营商DNS服务器向baidu.com域请求,你知道baidu.com的域名的IP地址是多少,一看,真在这,将dns服务器的IP地址发送给运营商服务器,运营商服务器将IP地址缓存在操作系统中,再发送给浏览器。
最终浏览器拿到了baidu.com的DNS服务器的IP地址
5、浏览器发起TCP请求的“三次握手”(经过层层路由)
6、Tcp/IP连接建立后,浏览器就可以向服务器发送HTTP请求,例如用HTTP的GET方法请求一个根域的一个域名,协议可以采取HTTP1.0的协议
7、服务器接收到请求,经过后端处理,将处理后的结果数据返回给浏览器。例如,将baidu.com完整的HTML页面代码返回给浏览器。
8、浏览器拿到网页的HTML代码,在解析和渲染这个页面的时候,里面的JS、CSS、图片资源,他们同样是一个个HTTP请求。都需要前面的主要七个步骤。
9、浏览器根据拿到的资源对页面进行渲染,最终得到一个完整的页面呈现给大家。
3、状态码
1xx 指示信息,代表请求接受到,准备处理
2xx 请求成功,服务器正确处理
3xx 重定向
4xx 客户端错误,服务器解析不了
5xx 服务器端的错误
具体如下:
200 成功
400 客户端错误
401 请求未经授权
403 服务器收到请求,但没有权限执行
404 请求资源不存在(URL错误)
500 服务器发生不可预知错误
503 服务器当前无法处理请求,可能过段时间就可以处理。
HTTP知识填补的更多相关文章
- 为什么JavaScript开发如此疯狂
本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! Web开发太有意思了! 但是JavaScript则……令人望而生畏. Web开发中其他一切对你而言都是小菜一碟, ...
- 《Ext JS模板与组件基本知识框架图----模板》
最近在整理Ext JS的模板和组件,在参考<Ext JS权威指南>,<Ext JS Web应用程序开发指南>,<Ext JS API>等相关书籍后才写下这篇< ...
- Github优秀java项目集合(中文版) - 涉及java所有的知识体系
Java资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-java 就是 akullpp 发起维护的 Java 资源列表,内容 ...
- Python 数据分析(一) 本实验将学习 pandas 基础,数据加载、存储与文件格式,数据规整化,绘图和可视化的知识
第1节 pandas 回顾 第2节 读写文本格式的数据 第3节 使用 HTML 和 Web API 第4节 使用数据库 第5节 合并数据集 第6节 重塑和轴向旋转 第7节 数据转换 第8节 字符串操作 ...
- 基OOP知识
从今天开始,我开始总结GAO还通高老师<android道路的建筑师>,尝试一个星期写三个博客. 相对而言.看到这篇文章有点速度比你可以观看视频,刚才看的视频是更具体的.假设有兴趣,跟着我去 ...
- 学习Spring必学的Java基础知识(2)----动态代理
Spring AOP使用动态代理技术在运行期织入增强的代码,为了揭示Spring AOP底层的工作机理,有必要对涉及到的Java知识进行学习.Spring AOP使用了两种代理机制:一种是基于JDK的 ...
- 【RL-TCPnet网络教程】第2章 嵌入式网络协议栈基础知识
第2章 嵌入式网络协议栈基础知识 本章教程为大家介绍嵌入式网络协议栈基础知识,本章先让大家有一个全面的认识,后面章节中会为大家逐一讲解用到的协议. 基础知识整理自百度百科,wiki百科等 ...
- PHP之道 - php各方面的知识汇总
看到一个PHP的知识各方面的汇总,写的很有借鉴意义,搬过来了 转自: https://laravel-china.github.io/php-the-right-way/ 欢迎阅读 其他语言版本 参与 ...
- [No000016D]把知识种进脑子:像读教材一样读书
读书,常常是书读一遍,过后脑子却空白一片.旁人问起感受,只能以不错.很好作答.更有甚者,有时翻阅豆瓣才发现一本书竟早已「读过」,这事儿可真叫尴尬.为了对付这症状,我笔记也做过,思维导图也画过,奈何只是 ...
随机推荐
- 在java程序中访问windows有用户名和密码保护的共享目录
在java程序中访问windows有用户名和密码保护的共享目录 Posted on 2015-11-20 14:03 云自无心水自闲 阅读(3744) 评论(0) 编辑 收藏 --> Jav ...
- SQL Server 和Oracle 数据类型对应
SqlServer 2k转换为Oracle 10g 列名 SqlServer数据类型 SqlServer长度 Oracle数据类型 column1 bigint 8 NUMBER(19) column ...
- jps
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上 ...
- YUV到RGB的转换
以下内容来源于网络,下面三个链接里的内容是比较好的,感谢博主的分享. http://blog.csdn.net/housisong/article/details/1859084 http://blo ...
- 使用eclipse的快捷键自动生成的map或者reduce函数的参数中:“org.apache.hadoop.mapreduce.Reducer.Context context”
今天在测试mapreduce的程序时,就是简单的去重,对照课本上的程序和自己的程序,唯一不同的就是“org.apache.hadoop.mapreduce.Reducer.Context contex ...
- NFC(2)NFC、蓝牙和红外之间的差异
NFC(2)NFC.蓝牙和红外之间的差异表
- 新装的win7 64位系统上装了IE11,想调试网页的时候,按F12,工具会出来,但是没法正常使用,出现空白。
Windows专区开了一帖,没人应.这边再开一帖,看看各位遇到过没.如题,新装的win7 64位系统上装了IE11,想调试网页的时候,按F12,工具会出来,但是没法正常使用.尤其是想切换文档模式,只能 ...
- java_十进制数转换为二进制,八进制,十六进制数的算法
java_十进制数转换为二进制,八进制,十六进制数的算法 java Ê®½øÖÆÊýת»»Îª¶þ½øÖÆ,°Ë½øÖÆ,Ê®Áù½øÖÆÊýµÄË㕨 using System; using S ...
- Android系列之Fragment(一)----Fragment加载到Activity当中
Android上 的界面展示都是通过Activity实现的,Activity实在是太常用了.但是Activity也有它的局限性,同样的界面在手机上显示可能很好看, 在平板上就未必了,因为平板的屏幕非常 ...
- SQL Server索引怎么用
什么是索引 拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K .为了加快查找的速度,汉语字(词)典一般都有按拼音. ...