HTTP 协议

超文本传输协议(HTTP, HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。

1.支持客户/服务器模式。

2.简单快速: 客户向服务器请求服务时, 只需传送请求方法和路径。 请求方法常用的有 GET、 HEAD、 POST。 每种方法规定了客户与服务器联系的类型不同。 由于 HTTP 协议简单, 使得 HTTP 服务器的程序规模小, 因而通信速 度很快。

3.灵活: HTTP 允许传输任意类型的数据对象。 正在传输的类型由 Content-Type 加以标记。

4.无连接: 无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求, 并收到客户的应 答后, 即断开连接。 采用这种方式可以节省传输时间

5.无状态: HTTP 协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。 另一方面, 在服务器不需要先 前信息时它的应答就较快。

URL 结构: http(超文本传输协议) 是一个基于请求与响应模式的、 无状态的、 应用层的协议, 常基于 TCP 的连接 方式, HTTP1.1 版本中给出一种持续连接的机制, 绝大多数的 Web 开发, 都是构建在 HTTP 协议之上的 Web 应用。

HTTP URL (URL 是一种特殊类型的 URI, 包含了用于查找某个资源的足够的信息)的格式如下: http://host[":"port][abs_path]

http 表示要通过 HTTP 协议来定位网络资源; host 表示合法的 Internet 主机域名或者 IP 地址; port 指定一个端口号,为空则使用缺省端口80; abs_path指定请求资源的URI;如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出,通常这个工作浏览器自动帮我们完成。

HTTP请求类型:

请求方法 说明

GET请求获取 Request-URI所标识的资源

POST在Request-URI 所标识的资源后附加新的数据

HEAD 请求获取由 Request-URI 所标识的资源的响应消息报头

PUT 请求服务器存储一个资源, 并用 Request-URI 作为其标识

DELETE 请求服务器删除 Request-URI 所标识的资源

TRACE 请求服务器回送收到的请求信息, 主要用于测试或诊断

CONNECT 保留将来使用

OPTIONS 请求查询服务器的性能, 或者查询与资源相关的选项和需求

响应状态码: 状态代码有三位数字组成, 第一个数字定义了响应的类别, 且有五种可能取值: 1xx: 指示信息--表示请求已接收, 继续处理

2xx: 成功--表示请求已被成功接收、 理解、 接受

3xx: 重定向--要完成请求必须进行更进一步的操作

4xx: 客户端错误--请求有语法错误或请求无法实现

5xx: 服务器端错误--服务器未能实现合法的请求

常见状态代码、 状态说明:

200 OK //客户端请求成功

400 Bad Request //客户端请求有语法错误, 不能被服务器所理解

401 Unauthorized //请求未经授权, 这个状态代码必须和 WWW-Authenticate 报头域一起使用 403 Forbidden //服务器收到请求, 但是拒绝提供服务

404 Not Found //请求资源不存在, eg: 输入了错误的 URL

500 Internal Server Error //服务器发生不可预期的错误

503 Server Unavailable //服务器当前不能处理客户端的请求, 一段时间后可能恢复正常

1、 请求头信息

请求报头允许客户端向服务器端传递请求的附加信息以及客户端自身的信息。

常用的请求报头:

Accept:Accept 请求报头域用于指定客户端接受哪些类型的信息。 eg: Accept: image/gif, 表明客户端希望接受 GIF 图象格式的资源; Accept: text/html, 表明客户端希望接受 html 文本。 Accept-Encoding:Accept-Encoding 请求报头域类似于 Accept, 但是它是用于指定可接受的内容编码。

Accept-Language:Accept-Language 请求报头域类似于 Accept, 但是它是用于指定一种自然语言。

Connection:Connection: 允许发送指定连接的选项。 例如指定连接是连续, 或者指定“close” 选项, 通知服务器,在响应完成后, 关闭连接。 从 HTTP/1.1 起, 默认都开启了 Keep-Alive, 保持连接特性。

Host(发送请求时, 该报头域是必需的):Host 请求报头域主要用于指定被请求资源的 Internet 主机和端口号,它通常从 HTTP URL 中提取出来的。

User-Agent:访问网站的时候, 往往会看到一些欢迎信息, 其中列出了你的操作系统的名称和版本, 你所使用的浏览器的名称和版本, 这往往让很 多人感到很神奇, 实际上, 服务器应用程序就是从 User-Agent 这个请求报头域中获取到这些信息。 User-Agent 请求报头域允许客户端将它的操作系 统、 浏览器和其它属性告诉服务器。 不过, 这个报头域不是必需的, 如果我们自己编写一个浏览器, 不使用 User-Agent 请求报头域, 那么服务器端就无法得知我们的信息。 

2、 响应头信息 响应报头允许服务器传递不能放在状态行中的附加响应信息, 以及关于服务器的信息和对 Request-URI所标识的资源进行下一步访问的 信息。

常用的响应报头

Location:Location 响应报头域用于重定向接受者到一个新的位置。 Location 响应报头域常用在更换域名的时候。

Server:Server 响应报头域包含了服务器用来处理请求的软件信息。 与 User-Agent 请求报头域是相对应的。

WWW-Authenticate:WWW-Authenticate 响应报头域必须被包含在 401(未授权的) 响应消息中, 客户端收到 401 响应消息时 候, 并发送 Authorization 报头域请求服务器对其进行验证时, 服务端响应报头就包含该报头域。

X-Frame-Options:X-Frame-Options 有三个值: DENY 表示该页面不允许在 frame 中展示, 即便是在相同域名的页面中嵌套也不 允许。 SAMEORIGIN 表示该页面可以在相同域名页面的 frame 中展示。 ALLOW-FROM uri 表示该页面可以在指定来源的 frame 中展示。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值