Http协议
一、Http概述
二、http协议特点:
1支持客户/服务器模式(B/S)
通常这里所指的客户端是浏览器
2简单快速
客户向服务器请求服务时,只需传送请求方法和路径,请求方法常用的有get/head/post。每种方法规定了客户与服务器联系的不同类型。后面会作详解说明。
3灵活
http协议允许传输任意类型的数据对象,正在传输的类型由context-type加以标记。通过在head中定义meta标签指定。
4无连接:
无连接的含义是指限制每次连接只处理一个请求服务器修理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
5无状态:
http协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传递的数据量增大。
另一方面,在服务器不需要先前信息时他的应答就较快。
三、Http协议url:
就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。
URL由三部分组成:资源类型、存放资源的主机域名、资源文件名。
一个常用的url地址如下::80/server/index.html下面我们对这个url进行详细说明.
1、[http://]这一部分是说明这个请求是基于http协议的,这里请大家注意,我们日常使用的浏览器默认都是基于http协议的所以这一部分内容我们可以省略,浏览器会自动处理。
2、这部分内容表示我们请求的http服务器的域名,这个域名最终会解析为一个ip地址,指向网络中的一台http服务器计算机
3、[:80]:这里指的是端口号,必须是一个整数,http协议的默认端口号是80,如果服务器部署的端口号是80那么这里可以省略,web浏览器会自动加上80端口。
如果说我们服务器地址是我们的门牌号,那么端口号就可以说是房间号。
4、server:表示服务器上的一个目录,也可以说是在服务器上部署的一个应用程序。
5、index.html:服务器最终会返回给客户端的结果文件,这里是一个html网页.
四、Http请求协议
请求协议的格式:
2.1 GET请求
打开IE浏览器,地址栏输入http://localhost:8080/HelloWorld/index.jsp ie浏览器按F12,弹出开发人员工具如下图:
在弹出窗口中点击网络选项卡的开始捕捉按钮就可以捕捉请求的相关信息,如下图:
刷新一下页面就会出现请求内容:
上述请求说明:
GET /HelloWorld/index.jsp HTTP/1.1请求行:GET请求,请求的服务器路径是/HelloWorld/index.jsp,http协议版本1.1
Accept application/x-shockwave-flash,image/gif,image/jpeg,image/pjpeg,
application/vnd.ms-excel,application/vnd.ms-powerpoint,application/msword,
application/xaml+xml, application/x-ms-xbap, application/x-ms-application, */*
告诉服务器,当前客户端可以接收的文档类型,*/*,表示什么都可以接收;
Accept-Encoding gzip, deflate支持的压缩格式。数据在网络上传递时,可能服务器会把数据压缩后再发送,提高网页打开的速度,节省流量。
Accept-Language zh-cn当前客户端支持的语言,浏览器工具-→Intenet选选项---→常规--→语言中看到相关设置。
2.2 POST请求
为了能够看到post请求,需要在index .jsp页面中添加一个表单
点击请求正文可以看到我们提交的姓名数据
五、Http响应协议
4.1 http响应格式和说明
4.2 常见响应码