黑马程序员-浏览器原理

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协议,该协议将消息头给解析了。

只显示用户可以看的信息,我们的软件在传输层。

时间: 2024-10-27 16:38:03

黑马程序员-浏览器原理的相关文章

黑马程序员:从零基础到精通的前端学习路线

随着互联网的深入发展,前端开发工程师一跃成为市场上非常抢手的人才.很多同学,包括以前做UI的.Java的.或者对于IT完全零基础的同学都想学习前端.下图是网上流传甚广的一张前端学习思维导图,很多初学者表示看到这些密密麻麻的知识点就已经晕了.确实,前端是一门涵盖面很广的学科.但是想学前端的你也不用慌张,内容虽多但有迹可循,只要循序渐进就不怕学不好前端! 那么前端开发到底需要学什么?应该怎么学?接下来黑马程序员前端学院教你如何从零基础学习前端. 一.前端开发入门 在入门阶段,你首先要学会最基本的技能

黑马程序员_毕向东_Java基础视频教程_Java基础学习知识点总结

黑马程序员_毕向东_Java基础视频教程 Java基础学习知识点总结 2016年01月06日  day01 一.基础知识:软件开发 1.什么是软件?软件:一系列按照特定顺序组织的计算机数据和指令的集合. 2.常见的软件:系统软件:如:DOS,Windows,Linux等.应用软件:如:扫雷,迅雷,QQ等. 3.什么是开发?制作软件. 二.基础知识:人机交互方式 4.软件的出现实现了人与计算机之间的更好的交互. 5.交互方式:图形化界面:这种方式简单直观,使用者易于接受,容易上手操作.命令行方式:

黑马程序员——网络编程篇

------- android培训.java培训.期待与您交流! ---------- 概述   1.网络模型        (1).OSI参考模型        (2).TCP/IP参考模型   2.网络通讯要素         (1).IP地址        (2).端口号         (3).传输协议    3.过程        1,找到对方IP. 2,数据要发送到对方指定的应用程序上.为了标识这些应用程序,所以给这些网络应用程序都用数字进行标识. 为了方便称呼这个数据,叫做端口(逻

黑马程序员------IO(五)

黑马程序员------IO(五) 1.1  操作对象(示例1)ObjectInputStream与ObjectOutputStream 被操作的对象需要实现Serializable. Serializable:用于给被序列化的类加入ID号,用于判断类和对象是否是同一个版本 类通过实现java.io.Serializable接口以启用序列化功能,Serializable只是一个标记接口. 1 示例1: 2 import java.io.*; 3 4 class ObjectStreamDemo 5

黑马程序员_关于黑马java班入学测试技术分享-后五(二)

??????????????????????????????????????????????????????????????????????????-----Java培训.Android培训.iOS培训..Net培训.期待与您交流! 作为本人首篇黑马技术博客有必要交代一下背景.个人理解博客的用作在于于己在于交流,于他在于学习,在交流学习中共同成长.下面进入正题.本文主要是介绍在做黑马入门测试时的一些问题(这个应该不是泄露题库吧). 本文只要是讲述黑马程序员基础测试题的6-10题,回过头来分析明显

黑马程序员_集合

集合1.集合和对象数组的区别: 数组的长度不可变,集合的可变: 数组可以存储基本数据类型和对象,集合只能存储对象. 集合的框架图 集合派系的顶层接口Collection1.Collection集合存储对象的方法: add(E e)将元素存储到集合中 addAll(Collection c)将一个集合添加到另外的集合中2.Collection集合提取对象的方法: 通过迭代器iterator中的方法:hasNext()和next()来取出 Iterator it=new iterator(); wh

黑马程序员_JAVA 基础加强学习笔记

一.面向对象 (一)继承  1.继承的好处: (1) 提高了代码的复用性. (2) 让类与类之间产生了关系,提供了另一个特征多态的前提. 注意: 子类中所有的构造函数都会默认访问父类中的空参数的构造函数,因为每一个子类构造内第一行都有默认的语句super();  如果父类中没有空参数的构造函数,那么子类的构造函数内,必须通过super语句指定要访问的父类中的构造函数. 如果子类构造函数中用this来指定调用子类自己的构造函数,那么被调用的构造函数也一样会访问父类中的构造函数. 2.final特点

黑马程序员——I/O流基础知识

I/O流 Io流 代表有能力产生数据的数据源对象或者有能力接收对象的数据接收端对象.字节流和字符流.中文字符也转编码表,jbk2万多中文字.unicode全世界的字符收录.乱码,两种不同形式的编码表.字符流里面的对象融合了编码表,以便别人使用的使用用你指定的编码方式. 基类:读和写~ 字节流 InputStream,OutputStream 字符流 Reader,Writer Writer 主力方法是writer().既然IO流是操作数据的,而数据的最常见体现形式是:文件. 需求:准备在硬盘上创

黑马程序员——IO篇

------- android培训.java培训.期待与您交流! ---------- IO(Input Output)流 1.IO流用来处理设备之间的数据传输 2.Java对数据的操作是通过流的方式 3.Java用于操作流的对象都在IO包中 4.流按操作数据分为两种:字节流与字符流 . 字符流的数据字节流其实都能处理,因为无论什么在计算机上最后都是以字节存在的,但是其中有一部分数据它是以文本形式存在的,所以为了方便有了字符流,字符流里融合了编码表,而只有文字用到了编码表,所以字符流用来处理文本