(1):什么是http协议?
Http:Hypertext Transfer protocol(超文本传输协议),它是TCP/IP协议的一个应用层协议,
用于定义web浏览器与web服务器之间交换数据的过程。
Http协议的二个版本:Http/1.0 ,HTTP/1.1。
(2):HTTP请求
什么是http请求呢?简单的说就是客户端给服务器的一个请求,请求某个web资源,
那么一个完整的HTTP请求包括哪些部分呢?
①:一个请求行:请求行用来描述客户端的请求方式,请求的资源名称,以及使用的HTTP协议的版本号 。格式:GET/项目名称/资源名称 HTTP/1.1
②: 若干消息头:用来描述客户端请求哪台主机,客户端的一些环境信息等。格式:Accerp:*/* ,Accept-Language:en-us,Connection:Keep-Alive,Host:localhost
③: 一个空行(消息头与实体内容之间需要空格隔开)
④:实体内容
补充说明:常用的HTTP请求头中的参数说明
1: Accept: 浏览器告诉服务器, 该浏览器可以接收的MIME类型
2:Accept-Charset:浏览器告诉服务器,该浏览器支持在字符集
3:3. Accept-Encoding:浏览器告诉服务器, 该浏览器可以支持哪些数据压缩格式
4:Accept-Language: 浏览器告诉服务器, 该浏览器可以支持的语言
5:Host:浏览器主机地址
6: If-Modified-Since:浏览器告诉服务器, 该浏览器最后缓存数据时间
7:Referer: 浏览器告诉服务器, 浏览器发送请求的来源
8: User-Agent: 浏览器告诉服务器,本地操作系统与浏览器的版本
(3):HTTP响应
HTTP响应就是服务器向客户端回送的数据,那么一个完成的响应有哪些部分呢?
①:一个状态行:描述服务器对请求的处理结果:比如:HTTP/1.1 200 ok
②:若干消息头:描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,
可以通知客服端如何处理它回送的数据。
③:一个空格:将消息头与实体内容分隔
④:实体内容: 服务器端向客户端回送的数据
补充说明1:
状态行:格式 HTTP 版本号状态码
常见的状态码:
200:表示的是成功接收到请求并已完成整个处理过程
302:表示的是请求的资源的位置发生了改变
304:表示请求没有修改,也就是说同一个链接发了好几次,资源没有发生修改
404:表示的是客户端的请求有错误,一般是url错误
500:表示的是服务器端出现了错误,比如空指针异常等等
补充说明2:常见的HTTP请求中常用的响应头
①:Location:服务器告诉浏览器,资源移动后的文章,常与状态吗302配合使用
②:Server: 服务器告诉浏览器,服务器使用的容器是什么
③:Content-Encoding:服务器告诉浏览器,服务器响应回来的是使用了什么压缩格式
④:Content-Length:服务器告诉浏览器,响应内容长度
⑤:Context-Language:服务器告诉浏览器,浏览器打开资源的语言类型
⑥:Context-Type:服务器告诉浏览器,浏览器移MIME类型打开
⑦:Last-Modified:服务器告诉浏览器,该资源最后修改的时间是多少
⑧:Refresh:服务器告诉浏览器,多长时间刷新一次
⑨:Content-Disposition attachment : filename = xx.zip,服务器告诉浏览器以文件下载的方式打开
⑩:Range:服务器告诉浏览器,响应的内容从什么位置开始
(4):总结
HTTP有什么特征呢?
① :B/S模式
②:客户端向服务器请求服务时,只需传送方法和路劲
③:灵活,HTTP应许传输任意类型的数据对象
④:无连接,每次只处理一个请求,请求完毕后断开连接
⑤:无状态,对事务的处理没有记忆功能。