Http概述

2019-05-05  本文已影响0人  szn好色仙人
URL
URL格式分为三个部分:
  • URL的第一部分被称为方案,说明了访问资源所使用的协议类型。
  • 第二部分给出了服务器的地址
  • 第三部分指定了服务器上的某个资源
方案 地址 资源
http:// 127.0.0.1:8080 /README.txt
ftp:// 127.0.0.1:8080 /README.txt
组件 描述
方案 访问服务器资源时使用的协议。方案名是大小写无关的
用户 某些方案访问资源需要的用户名
密码 用户名后面包含的密码,中间用冒号分割
主机 资源服务器的主机名或IP地址
端口 资源服务器监听的端口号
路径 服务器上资源的本地名,由一个斜杠将其与前面的URL组件分割
参数 某些方案会用这个组件来指定输入参数。参数为名/值对。URL可以包含多个参数字段,相互之间以及路径的其他部分用封号分割
查询 某些方案用这个组件传递参数以激活应用程序。查询组件的内容没有通用格式,用字符?将其与URL其他部分分割
片段 一小片或一部分资源的名字,引用对象时,不会将frag字段传给服务器。这个字段是在客户端内部使用的,通过#将其与URL的其他部分分割
字符 保留/受限
% 保留,用于转义, 如%20表示空格
/ 保留,路径组件分割路径
. 保留,在路径组件中使用
.. 保留,在路径组件中使用
# 保留,分段定界符
? 保留,查询定界符
; 保留,参数定界符
: 保留,作为方案、用户/口令,以及主机/端口组件的定界符
$ + 保留
@ & = 保留,在某些方案的上下文中有特殊含义
{ } | \ ^ ~ [ ] ' 受限,由于各种传输Agent代理,比如各种网管的不安全处理
< > " 不安全,这些字符在URL范围之外通常是有意义的
0x00 - 0x1F, 0x7F 受限,不可打印
>0x7F 受限,不在ASCII7位二进制范围内
HTTP概述
HTTP报文包含三个部分:
  • 起始行:报文的第一行就是起始行,在请求报文中用来说明要做些什么,在响应报文中说明出现什么情况
  • 首部字段: 起始行后面跟零或多个首部字段,每个首部字段都包含一个名字和一个值,为了便于解析,两者用冒号分割。首部以一个空行结束
  • 主体:空行之后就是可选的报文主体,其中包含了所有类型的数据。请求主体中包含了要发送给Web服务器的数据。响应主体中装载了要返回给客户端的数据。起始行和首部都是文本形式且结构化的,而主体却可以包含任意的二进制数据
Http方法 描述
GET 从服务器向客户端发送命名资源
PUT 将来自客户端的数据存储到一个命名的服务器资源中
DELETE 从服务器中删除命名资源
POST 将客户端数据发送到一个服务器网关应用程序
HEAD 仅发送命名资源响应中的HTTP首部
HTTP状态码 描述
200 正确
302 重定向,到其他地方去获取资源
404 资源未找到
请求报文
GET /Test.txt HTTP/1.1
Accept:*


响应报文
HTTP/1.0 200 OK
Server: SimpleHTTP/0.6 Python/3.4.3
Date: Sun, 05 May 2019 14:16:33 GMT
Content-type: text/plain
Content-Length: 22
Last-Modified: Sun, 05 May 2019 14:15:32 GMT

Hello World
Bad World
上一篇 下一篇

猜你喜欢

热点阅读