黑马程序员-浏览器原理
HTTP协议:
HTTP协议是基于TCP/IP协议之上的协议,是Web浏览器和Web服务器之间的应用层协议,是通用的、无状态的、面向对象的协议。HTTP消息头又可分为通用信息头、请求头、响应头、实体头和扩展头类。
浏览器:
浏览器基于客户端(web浏览区)和服务端(web服务器)的计算机模型,两者之间采用超文本传送协议(HTTP)进行通信, HTTP协议的作用原理是括四个步骤:连接,请求,应答,关闭。
步骤1:浏览器连接服务端
步骤2:请求:发送请求消息头和请求的数据体。
2.1浏览器通过socket向服务端发送请求。请求一般是GET或POST命令(POST用于FORM参数的传递)。GET命令的格式为:
GET 路径/文件名 HTTP/1.0 如:GET/myweb/demo.html HTTP/1.0
2.2浏览器发送的数据还包括请求消息头:请求消息头主要用于客户端在请求消息中向服务端传递附加信息。主要包括:客户端可以接受的数据类型,压缩方法,语言以及发送请求的超链接所属网页的URL地址等信息。
/*
请求消息头
GET/myweb/demo.html HTTP/1.0:请求行。
Accept:text/html,image/* 用于指定客户端希望接收哪些类型的信息;
Accept-Charset 用于指定客户端接收的字符集;
Accept-Encoding 指定可接收的内容编码,如gzip, deflate,先压缩,提高传输效率;
Accept-Language 用于指定客户端的语言;
Authorization 用于证明客户端有权限访问某个资源;
Host Internet要访问的服务器的主机和端口号,发送请求时必须指定该请求
User-Agent 允许客户端将自己的操作系统、浏览器等信息告诉给服务器,该请求不是必需的。
Range 用于指定返回请求内容的部分内容;
Referer 客户端向服务器发送该请求所属的网页的URL地址;
空格行————————-————————
要加一个空格,用于将请求消息头和请求的数据体。
*/
步骤3:应答:发送应答消息头和数据主体。
Web浏览器提交请求后,通过HTTP协议传送给Web服务器。 发送给客户端应答消息头。
应答消息头:http协议,Location,Server(如阿帕奇,last_modify(上次被修改的),ContentType等。
总结:连接,请求,应答。服务器返回浏览器的信息,没有消息头是因为浏览器在应用层,应用层使用http协议,该协议将消息头给解析了。
只显示用户可以看的信息,我们的软件在传输层。
转载于:https://www.cnblogs.com/heimaprogramer/p/3773143.html
黑马程序员-浏览器原理相关推荐
- 《MySQL数据库原理、设计与应用》课后习题及答案 黑马程序员编著
<MySQL数据库原理.设计与应用>课后习题及答案 黑马程序员编著 答案有文档形式,但是csdn必须要下载,,需要的人就去那里下载吧.<MySQL数据库原理.设计与应用>课后习 ...
- 黑马程序员:从零基础到精通的前端学习路线
黑马程序员:从零基础到精通的前端学习路线 随着互联网的深入发展,前端开发工程师一跃成为市场上非常抢手的人才.很多同学,包括以前做UI的.Java的.或者对于IT完全零基础的同学都想学习前端.下图是网上 ...
- [学习笔记]黑马程序员-Hadoop入门视频教程
文章目录 参考资料 第一章:大数据导论与Linux基础(p1-p17) 1.1 大数据导论 1.1.1 企业数据分析方向 1.1.2 数据分析基本流程步骤 明确分析的目的和思路 数据收集 数据处理 数 ...
- 【黑马程序员pink老师前端】JavaScript对象
java 学习笔记指路 基础知识 Python转java补充知识 Java中常见的名词解释 前端 [黑马程序员pink老师前端]HTML [黑马程序员pink老师前端]JavaScript基础大总结 ...
- 跟着黑马程序员pink老师学习的笔记及小破站学习的笔记
网页 1.网站是指在因特网上根据一定的规则,使用HTML等制作的用于展示特定内容相关的网页集合 2.什么是网页? 网页是网站中的一"页",通常是HTML格式的文件,它要通过浏览器来 ...
- 解析python网络爬虫pdf 黑马程序员_正版 解析Python网络爬虫 核心技术 Scrapy框架 分布式爬虫 黑马程序员 Python应用编程丛书 中国铁道出版社...
商品参数 书名:Python应用编程丛书:解析Python网络爬虫:核心技术.Scrapy框架.分布式爬虫 定价:52.00元 作者:[中国]黑马程序员 出版社:中国铁道出版社 出版日期:2018-0 ...
- jQuery学习笔记【黑马程序员】
文章目录 前言 JQury学习 1.引入JQury 2.jqury简介 3.jQuery入口函数 4.dom对象与jQuery对象 4.1.dom对象 4.2.jQuery对象 4.3.jQuery对 ...
- 黑马程序员_java自学学习笔记(八)----网络编程
黑马程序员_java自学学习笔记(八)----网络编程 android培训. java培训.期待与您交流! 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无 ...
- Ajax【黑马程序员】
目录 1.客户端 与 服务器 1.1 服务器:存放和对外提供资源 1.2 客户端:获取和消费资源 编辑 2.URL地址 2.1 URL地址的概念(统一资源定位符) 2.2 URL地址的组成部分 ① ...
- 黑马程序员---微服务笔记【实用篇】
微服务技术栈导学 微服务实现流程: 所有要学的技术: 分层次教学: 具体分层: 实用篇---第一天 一.认识微服务 单体架构 将业务所有功能集中在一个项目中开发,打成一个包部署 优点:架构简单.部署成 ...
最新文章
- 成功解决AttributeError: ‘Series‘ object has no attribute ‘columns‘
- GIt思维导图命令+案例分析
- html 按需加载插件,htmlwebpackplugin
- php对称算法_php里简单的对称加密算法
- c++中介者模式mediator
- 基于HT for Web的3D拓扑树的实现
- 【转】多线程之有状态对象和无状态对象
- keras 分布式_TensorFlow 2.0正式版官宣!深度集成Keras
- nutz 自定义sql的使用
- endnote无法同步原因_endnote不能同步(endnote retrieving references)的解决方法
- 190327每日一句
- 明解c语言中级篇微盘,明解C语言:中级篇
- jQuery介绍及各版本介绍(适合新手查看)
- cdr添加节点快捷键_CorelDRAW常用热键|cdr快捷键大全
- 使用pyquery爬取搜狗微信文章
- mysql 多条件求和_多条件求和的8种方法【Excel分享】
- 如何高效的利用谷歌学术搜索文献
- 采集用python还是火车头_我才知道爬虫也可以酱紫--火车采集器
- 详解Mysql执行计划explain
- python中自然数怎么表示_Python Numpy 自然数填充数组的实现
热门文章
- 30天敏捷结果(14):要事第一
- 孙鑫VC++讲座笔记(一)
- softlockup/hardlockup原理详细介绍
- goland gorm分组查询统计_MySQL·查询(一)
- NULL指针的奇妙之旅
- Linux文件系统(七)---系统调用之open操作(一)
- 编程python视频教程_Python高级编程实战系列视频课程
- 欧几里得算法、扩展欧几里得算法、求逆元、中国剩余定理、扩展中国剩余定理
- leetcode 877 stone game
- shell 计算代码运行时间