javaweb开发篇——HTTP协议请求和响应详解(上)
2015-02-06 23:04
363 查看
HTTP协议请求和响应详解(上)
1,什么是HTTP协议以及特点
HTTP协议是超文本传输协议,它是TCP/IP协议的一个应用层面向对象协议,
用于定义web浏览器与web服务器之间交换数据的过程。
HTTP协议的主要特点可概括如下:
(1)支持客户/服务器模式。
(2)简单快速:客户向服务器请求服务时,只需传送请求方法和路径。
请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。
由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
(3)灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
(4)无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,
并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
(5)无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。
缺少状态意味着如果后续处理需要前面的信息,则它必须重传,
这样可能导致每次连接传送的数据量增大。
另一方面,在服务器不需要先前信息时它的应答就较快。
2,HTTP/1.0和HTTP/1.1
1,基于HTTP协议的客户端和服务端信息图
注:客户端和服务器连接的时间是短暂的,并且每次连接只能处理一个请求和响应。
通信传输都是完全独立的请求和响应。每次请求或响应的输出内容可以是HTML文本
或二进制的图片、视频等。
支持代理:
2,HTTP/1.1 的特点
(1)在一个TCP连接上可以传送多个HTTP请求和响应
(2)多个请求和响应过程可以重叠进行
(3)增加了更多的请求头和响应头,Host等
事例:在请求一个带有三个图片的页面。
使用Http/1.1,在与服务器建立一次连接时,可以连续三次请求和响应
以至得到完整页面(三次要快速),然后断开连接。
3,如何在cmd中手动连接服务器
第一步:
打开cmd,使用telnet(是windows自带的网络客户端软件,可以连接任何服务器),
win7中没有的话可以在控制面板中打开
第二步:
假设访问www.baidu.com
操作步骤:
(1)打开cmd后输入: telnet www.baidu.com 80 回车,这时屏幕应该是一片漆黑
(2)按ctrl+]回显字符
(3)按下回车,打开输入界面。
(4)输入GET / HTTP/1.1 然后两次按回车,
注释:/代表访问百度首页,两次回车(第一次是结束输入命令,
第二次是把命令提交给服务器)。
在输入请求命令时要快速准确,要不然就会失去连接(百度大约5秒)。
操作图:
最好可以下载浏览器查看HTTP协议的插件,方便查看。
1,什么是HTTP协议以及特点
HTTP协议是超文本传输协议,它是TCP/IP协议的一个应用层面向对象协议,
用于定义web浏览器与web服务器之间交换数据的过程。
HTTP协议的主要特点可概括如下:
(1)支持客户/服务器模式。
(2)简单快速:客户向服务器请求服务时,只需传送请求方法和路径。
请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。
由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
(3)灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
(4)无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,
并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
(5)无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。
缺少状态意味着如果后续处理需要前面的信息,则它必须重传,
这样可能导致每次连接传送的数据量增大。
另一方面,在服务器不需要先前信息时它的应答就较快。
2,HTTP/1.0和HTTP/1.1
1,基于HTTP协议的客户端和服务端信息图
注:客户端和服务器连接的时间是短暂的,并且每次连接只能处理一个请求和响应。
通信传输都是完全独立的请求和响应。每次请求或响应的输出内容可以是HTML文本
或二进制的图片、视频等。
支持代理:
2,HTTP/1.1 的特点
(1)在一个TCP连接上可以传送多个HTTP请求和响应
(2)多个请求和响应过程可以重叠进行
(3)增加了更多的请求头和响应头,Host等
事例:在请求一个带有三个图片的页面。
使用Http/1.1,在与服务器建立一次连接时,可以连续三次请求和响应
以至得到完整页面(三次要快速),然后断开连接。
3,如何在cmd中手动连接服务器
第一步:
打开cmd,使用telnet(是windows自带的网络客户端软件,可以连接任何服务器),
win7中没有的话可以在控制面板中打开
第二步:
假设访问www.baidu.com
操作步骤:
(1)打开cmd后输入: telnet www.baidu.com 80 回车,这时屏幕应该是一片漆黑
(2)按ctrl+]回显字符
(3)按下回车,打开输入界面。
(4)输入GET / HTTP/1.1 然后两次按回车,
注释:/代表访问百度首页,两次回车(第一次是结束输入命令,
第二次是把命令提交给服务器)。
在输入请求命令时要快速准确,要不然就会失去连接(百度大约5秒)。
操作图:
最好可以下载浏览器查看HTTP协议的插件,方便查看。
相关文章推荐
- Java_Web学习----http协议详解(请求)
- javaweb开发篇——HTTP协议请求和响应详解(下)
- Java web 入门知识 及HTTP协议详解
- JAVA请求与响应编码详解
- javaWeb如何实现请求、响应?
- javaWeb 简单注册登录(含数据库连接) -- (三) 实现用户注册请求的响应
- web 学习笔记8-HTTP协议,请求头,响应头
- 【Java Web】: HTTP协议详解
- Java Web ——http协议请求报文
- 我的Java之旅 第六课 JAVA WEB 请求与响应
- javaweb中Http协议详解
- JavaWeb 修炼之路(五)服务器中的请求和响应
- Java web 入门知识 及HTTP协议详解
- JavaWeb之Servlet:请求 与 响应
- JAVAWEB开发之Struts2详解(二)——Action接受请求参数、类型转换器、使用Struts2的输入校验、以及遵守约定规则实现Struts2的零配置
- 使用Filter统计Java(J2EE)的web程序http请求响应时间
- java_Web14-Http响应头字段详解
- http协议请求响应详解
- java web开发(五)请求和响应
- JavaWeb——响应编码与请求编码