HTTP 基础知识
HTTP是一种协议。HTTP使用流程,一般情况下,
第一:由HTTP客户端发出请求,创建端口。
第二:HTTP服务器在端口监听客户端的请求。
第三:一旦收到请求,HTTP服务器向客户端返回状态和内容。
当输入网址后搜索,计算机和浏览器就做了很多的事,首先呢就是域名解析了。
域名解析第一步:浏览器先搜索自身的DNS缓存,
第二步:搜索操作系统自身的DNS缓存(浏览器没有找到缓存或缓存已经失效)
第三步:读取本地的HOST文件
第四步:浏览器发起一个DNS的一个系统调用:
1.宽带运营商服务器查看本身缓存
2.宽带运营商服务器发起一个迭代DNS解析的请求,运营商服务器把结果返回操作系统内核同时缓存起来,操作系统内核把结果返回浏览器,最终浏览器拿到了一个网站所对应的IP地址。
第五步:浏览器获得域名对应的IP地址后,发给HTTP的“三次握手”。
第六步:TCO/IP连接建立后,浏览器就可以向服务器发送HTTP请求了。如:用HTTP的GET方法请求了一个根域里的一个域名,协议可以采用HTTP1.0的一个协议。
第七步:服务器端接收到了这个请求,根据路径参数经过后端的一些处理后,把处理的结果的数据返回浏览器。如一个网页,就返回完整的HTML代码。
第八步:浏览器拿到了结果后,就开始加载网页。
HTTP协议定义了八种方法:
1.GET:常用于请求加载信息,如:打开一个网页,客户端向服务器请求网页的HTML.CSS,JS代码等....
2.POST:常用于新建信息。
3.PUT:常用于更新信息,如:用户更新头像等
4.DELETE:删除,请求服务器来删除我们标识的某个资源
5.HEAD:和GET方法类似,向服务器发出指定某个的请求,但服务器不返回全部的信息
6.TRACE:由于不是常用,有兴趣可以上网查找资料
7.OPTIONS:由于不是常用,有兴趣可以上网查找资料。
.....
HTTP 基础知识的更多相关文章
- .NET面试题系列[1] - .NET框架基础知识(1)
很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...
- RabbitMQ基础知识
RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- selenium自动化基础知识
什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
- [SQL] SQL 基础知识梳理(二) - 查询基础
SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(三) - 聚合和排序
SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...
- [SQL] SQL 基础知识梳理(四) - 数据更新
SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(五) - 复杂查询
SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...
- APP测试入门篇之APP基础知识(001)
前言 最近两月比较多的事情混杂在一起,静不下心来写点东西,月初想发表一遍接口测试的总结,或者APP测试相关的内容,一晃就月底了,总结提炼一时半会也整不完.放几个早年总结内部培训PPT出来 ...
随机推荐
- Visual Studio 2013 Preview 高清多图先睹为快
Visual Studio 2013 Preview已经发布.大家可以下载试用了哦: 选项加载明显比之前版本要快很多.
- PHPmailer关于Extension missing: openssl报错的解决
最近在写一个网页的时候,需要用到PHPmailer来发送邮件,按照官网上给出的demo写出一个例子,却报错Extension missing: openssl 最后发现需要修改php.ini中的配置: ...
- Python攻关之Django(一)
课程简介: Django流程介绍 Django url Django view Django models Django template Django form Django admin (后台数据 ...
- 安卓gridview 网格,多行多列实现
主Activity() private int[] image = { R.drawable.camera, R.drawable.wifi, R.drawable.temperature, R.dr ...
- [LeetCode] Can I Win 我能赢吗
In the "100 game," two players take turns adding, to a running total, any integer from 1.. ...
- [LeetCode] Unique Binary Search Trees 独一无二的二叉搜索树
Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For examp ...
- Asp.net 后台添加CSS、JS、Meta标签
Asp.net 后台添加CSS.JS.Meta标签的写法,我这里写成函数方便以后使用.如果函数放在页面类中, Page参数也可以不要. 首先导入命名空间 using System.Web.UI.Htm ...
- eclipse直接访问数据库
本文转载至百度经验 http://jingyan.baidu.com/article/a501d80cea3ed4ec630f5e2f.html 以oracle 11g 数据库为例
- CentOS 7.0 使用 yum 安装 MariaDB 与 MariaDB 的简单配置
1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB,两条命令都可以 systemctl sta ...
- .Net Core Linux centos7行—发布程序到生产环境
实验demo现在需要发布到生产环境,发现在发布的时候要考虑到不一致的几个地方. 1.各类配置文件线下,线上不一致. 2.绑定的url不一致,可能是域名不一致,也可能是schema不一致(http,ht ...