HTTP协议(web基础)

1.清单
2.简介
3.请求信息
4.响应消息
5.请求行和状态行
6.使用GET和POST方式传递参数
7.响应状态码
8.通用信息头
10.请求头
11.实体头


2.简介
超文本传输协议:web浏览器与web服务器之间交换数据的过程以及数据本身的格式。

版本:1.0,1.1,HTTP-NG(正在试验中)
会话:建立连接-发出请求信息-回送响应信息-关闭连接

2.1.1特点
在一个Tcp连接上可以传送多个HTTP请求和响应
多个请求和响应可以重叠进行
增加更多的请求头和响应头

如:建立连接-请求1/响应1-请求2/响应2-请求n/响应n-关闭连接

3.请求信息
包括:一个请求行、若干消息头、以及实体内容。
注:GET不能包含实体内容,只有POST/PUT/DELETE方式请求才可以包含实体内容
消息头:
信息头、请求头、响应头、实体头。
可按任何顺序排列

4.响应消息
包括:一个状态行、若干消息头、以及实体内容。

5.请求行和状态行
请求行格式:请求方式 资源路径 HTTP版本号<CRLF>
如:GET /test.html HTTP/1.0
或:GET /test.html HTTP/1.1
    Host:

状态行格式:HTTP版本号 状态码 原因叙述<CRLF>
如:HTTP/1.1 200 OK

6.使用GET和POST方式传递参数
GET:数据量有限:1KB以下 参数在URL中
POST:参数在实体中,并在请求头设置内容长度和内容类型

7.响应状态码:
三位的十进制数
100-199:
  表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程。
200-299:
    表示成功接收请求并已完成整个处理过程
300-399:
   为完成请求,客户需进一步细化要求。例如:请求的资源已经移动到一个新地址。
400-499:
客户端得请求有错误。
500-599:
服务器错误。
案例:
200:正常
206:部分内容
302/307:请求的文档已经被临时移动到别处。
304:客户端缓存的版本是最新的。
401:未经授权(使用WWW-Authenticate头请求)
404:找不到请求的资源
500:服务器内部错误(代码错误)

8.通用信息头  //重点是(*)
Cache-Control:   * )
no-cache  //告诉客户机和代理服务器不要缓存响应消息

Connection:(  * )  //处理完本次请求和响应后,客户端和服务器是否还要保持连接
close //立即关闭连接

Date: //表示HTTP消息产生时间 (GMT格式)
Pragma: ( *) //不要缓存(1.0),不可靠,建议使用其他方式
no-cache 

Trailer://在实体后的头字段 (一般头字段放在实体前)
Date

Transfer-Encoding:( *) //http实体部分指定某种编码方式
chunked  //把整个http实体分段传输

Upgrade:允许客户端指定它所支持并希望当前协议切换到指定协议版本
HTTP/2.0. SHTTP/1.3 //设定这个协议版本通信

Via:指定HTTP消息所经过代理服务器名称和协议
HTTP/1.1 Proxy1.

Warning: //说明其他信息
any text

10.请求头
作用:用于客户端在请求消息中向服务器传递附加信息,主要包括客户端可以接受的数据类型、压缩方法、语言、以及发出请求的超链接所属网页的URL地址等信息。
Accept:( *)  //指出客户端支持的格式
text/html,image/*

Accept-Charset: ( *) //客户端可以使用的字符集
ISO-8859-1

Accept-Encoding:( *) //客户机能够解码的编码方式
gzip,compress
Accept-Language: ( *) //指示返回哪个国家语言的网页文档
en-gb,zh-cn
Authorization:( *) //设置用户认证
  Basic enh4OjEyMzQ1Ng==

Expect: //指定客服机
100-continue
From: //
Host:( *)  //主机名
if-Match: //附带实体缓存内容

if-Modified-Since: ( *) //上次缓存的修改时间

if-None-Match://与if-Match的意思相反
if-Range: //指定时间以来,服务器缓存没有修改

if-Unmodified-Since: //与if-Modified-Since相反

Max-Forwards: //当前请求经过代理服务器数

Proxy-Authorization:代理服务器认证
Range: ( *)//断点,下载断点
bytes=100-599
Referer://单击某个超链接发送的请求(记录是哪里的广告链接)
TE: //说明客户机是否接受其他传输方式
User-Agent: ( *) //得到客户端浏览器类型
11.实体头 (响应头)
Allow://告诉浏览器以什么请求访问资源
GET/POST
Content-Encoding:(*) //服务器告诉浏览器接受压缩编码方式
gzip

Content-Language:(*)
当前服务返回的语言方式

Content-Length:(*) //表示实体大小
Content-Location: //指定响应消息封装实体内容的实际位置

Content-MD5: //检查实体是否发生改变

Content-Range: (*)//返回内容的实体的范围和长度
bytes 2543-4532/7898 

Content-Type: (*)//实体类型
text/html;charset=GB2312 

Expires:(*) //设置浏览器缓存过期时间 GMT格式 
Last-Modified: //指定文档的最后更新时间

拓展头://http1.1 没有定义的头字段

Refresh://告诉浏览器过多少秒重新请求
1;url=www.baidu.com //一秒后请求(一般用于视频网站)
Content-Disposition: //指定接受程序接受数据的处理方式
attachment;filename=aaa.zip //建议浏览器保存实体到aaa.zip文件中
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值