day01:study HTTP协议
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day01:study HTTP协议相关的知识,希望对你有一定的参考价值。
总结:
1.对web客户端和web服务器之间的通讯有了基本原理有了简单理解。
2.对http协议有了相关概念的建立
3.B/S C/S 两种形式
4.搭建tomcat服务器的环境,相关配置(虚拟目录 ,虚拟主机),对服务器(操作系统,数据库,应用软件,容器、语言)有所了解
知识储备:
协议:
TCP/IP 是因特网的通信协议。协议族。
IP地址
每个计算机必须有一个 IP 地址才能够连入因特网。
每个 IP 包必须有一个地址才能够发送到另一台计算机。
IP 地址包含 4 组数字:TCP/IP 使用 4 组数字来为计算机编址。每个计算机必须有一个唯一的 4 组数字的地址。每组数字必须在 0 到 255 之间,并由点号隔开,比如:192.168.1.60。
域名
12 个阿拉伯数字很难记忆。使用一个名称更容易。
用于 TCP/IP 地址的名字被称为域名。runoob.com 就是一个域名。
当你键入一个像 http://www.runoob.com 这样的域名,域名会被一种 DNS 程序翻译为数字。
在全世界,数量庞大的 DNS 服务器被连入因特网。DNS 服务器负责将域名翻译为 TCP/IP 地址,同时负责使用新的域名信息更新彼此的系统。
当一个新的域名连同其 TCP/IP 地址一起注册后,全世界的 DNS 服务器都会对此信息进行更新。
TCP - 传输控制协议
TCP 用于从应用程序到网络的数据传输控制。
TCP 负责在数据传送之前将它们分割为 IP 包,然后在它们到达的时候将它们重组。
IP- 网际协议(Internet Protocol)
IP 负责计算机之间的通信。
IP 负责在因特网上发送和接收数据包。
服务器
服务器:服务器是指网络中能对其它机器提供某些服务的计算机系统。存储大量的信息和数据。
Web服务器是可以向发出请求的浏览器提供文档的程序。
Web服务器的工作原理并不复杂,一般可分成如下4个步骤:连接过程、请求过程、应答过程以及关闭连接。
连接过程就是Web服务器和其浏览器之间所建立起来的一种连接。查看连接过程是否实现,用户可以找到和打开socket这个虚拟文件,这个文件的建立意味着连接过程这一步骤已经成功建立。
请求过程就是Web的浏览器运用socket这个文件向其服务器而提出各种请求。
应答过程就是运用HTTP协议把在请求过程中所提出来的请求传输到Web的服务器,进而实施任务处理,然后运用HTTP协议把任务处理的结果传输到Web的浏览器,同时在Web的浏览器上面展示上述所请求之界面。
关闭连接就是当上一个步骤--应答过程完成以后,Web服务器和其浏览器之间断开连接之过程。Web服务器上述4个步骤环环相扣、紧密相联,逻辑性比较强,可以支持多个进程、多个线程以及多个进程与多个线程相混合的技术。
Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。
通俗理解:存储信息和数据,其他web浏览器可以通过url访问,随时随地的被访问,相当于一台PC,进行数据的交换。
web浏览器和服务器端如何通讯呢???达成协议(规定的格式)浏览器通讯服务器,服务器通讯浏览器。
URl
http://mail.163.com/index.html
1)http://:这个是协议,也就是HTTP超文本传输协议,也就是网页在网上传输的协议。
2)mail:这个是服务器名,代表着是一个邮箱服务器,所以是mail.
3)163.com:这个是域名,是用来定位网站的独一无二的名字。
4)mail.163.com:这个是网站名,由服务器名+域名组成。
5)/:这个是根目录,也就是说,通过网站名找到服务器,然后在服务器存放网页的根目录
6:)index.html:这个是根目录下的默认网页(当然,163的默认网页是不是这个我不知道,只是大部分的默认网页,都是index.html)
7)http://mail.163.com/index.html:这个叫做URL,统一资源定位符,全球性地址,用于定位网上的资源。
域名:把项目名的映射成虚拟目录。
HTTP协议
1.HTTP:超文本传输协议
功能:用于定义客户端与we 服务器通讯的格式。
2.HTTP请求:
2.1客户端像web服务器发生HTTP请求。客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送了一个HTTP请求
2.2内容
一个请求行(请求方式,请求方式有:POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT,常用的有: GET、 POST,请求HTTP版本号,请求的自愿)
不管POST或GET,都用于向服务器请求某个WEB资源,这两种方式的区别主要表现在数据传递上:如果请求方式为GET方式,则可以在请求的URL地址后以?的形式带上交给服务器的数据,多个数据之间以&进行分隔,例如:GET /mail/1.html?name=abc&password=xyz HTTP/1.1
GET方式的特点:在URL地址后附带的参数是有限制的,其数据容量通常不能超过1K。
如果请求方式为POST方式,则可以在请求的实体内容中向服务器发送数据,Post方式的特点:传送的数据量无限制。
多条消息头(描述请求的主机(Host),
HTTP请求中的常用消息头
accept:浏览器通过这个头告诉服务器,它所支持的数据类型
Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种字符集
Accept-Encoding:浏览器通过这个头告诉服务器,支持的压缩格式
Accept-Language:浏览器通过这个头告诉服务器,它的语言环境
Host:浏览器通过这个头告诉服务器,想访问哪台主机
If-Modified-Since: 浏览器通过这个头告诉服务器,缓存数据的时间
Referer:浏览器通过这个头告诉服务器,客户机是哪个页面来的 防盗链
Connection:浏览器通过这个头告诉服务器,请求完后是断开链接还是何持链接
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg,
application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Referer: http://localhost:8080/JavaWebDemoProject/Web/2.jsp
Accept-Language: zh-CN
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)
Accept-Encoding: gzip, deflate
Host: localhost:8080
Connection: Keep-Alive
3.HTTP响应:
一个HTTP响应代表服务器向客户端回送的数据
状态行:描述服务器对请求的处理结果
response.setStatus(302);//设置服务器的响应状态码
消息头:描述服务的基本信息
/** *设置响应头,服务器通过 Location这个头,来告诉浏览器跳到哪里,这就是所谓的请求重定向 */ response.setHeader("Location", "/JavaWeb_HttpProtocol_Study_20140528/1.jsp");
实体内容:具体数据(显示在浏览器页面上)
以上是关于day01:study HTTP协议的主要内容,如果未能解决你的问题,请参考以下文章