网站建设程序源码,网站建设素材网,百度购物平台,企业网站首页html模板目录
一、什么是HTTP#xff1f;
二、与HTTP有关的协议
三、HTTP请求特征
四、HTTP组成格式
五、HTTP标头
1.通用标头
2.实体标头
3.请求标头
4.响应标头
六、HTTP状态码分类 我们在日常测试过程中#xff0c;也可以通过浏览器F12简单定位是前端问题还是后端问题
二、与HTTP有关的协议
三、HTTP请求特征
四、HTTP组成格式
五、HTTP标头
1.通用标头
2.实体标头
3.请求标头
4.响应标头
六、HTTP状态码分类 我们在日常测试过程中也可以通过浏览器F12简单定位是前端问题还是后端问题同样的在接口自动化测试过程中基本都是发送HTTP/HTTPS请求本文主要是讲解下HTTP基础知识适合小白。后续会讲解接口自动化测试中Python库中强大的requests库尽请期待。
一、什么是HTTP
HTTP超文本传输协议在计算机世界里专门在两点之间进行传输文字、图片、音频、视频等超文本数据的约束和规范。网络协议。
二、与HTTP有关的协议
TCP/IP协议又称为协议簇主要包含TCP传输控制协议--可靠、IP通信寻址还有UDP用户数据报协议、ICMPInternal控制报文协议、ARP地址解析协议。DNS域名系统将域名和IP地址相互映射的一个分布式数据库。URIURLURI统一资源标示符URL统一资源定位符即网址URN统一资源名称。 HTTPS---在HTTP的基础上加了SSL层就是说HTTPSHTTPSSL/TLS80端口是HTTP的默认端口、443端口是HTTPS的默认端口
三、HTTP请求特征
支持客户服务器简单快速。常用的HTTP请求方式有get、head、post灵活HTTP允许传输任意类型的数据对象无连接限制每次连接只处理一个请求服务器处理完客户的请求并收到客户的应答后断开连接无状态协议对于事务处理没有记忆能力
四、HTTP组成格式
HTTP组成起始行、头部字段、消息正文 起始行和头部字段并成为请求头或响应头---header 消息正文称为实体---body HTTP每次发送的报文必须含有headerbody可以没有且header和body之间必须要有一个空行 每个报文的起始行由请求方法、URL字段、HTTP版本字段组成 HTTP的请求方法一般有8种
Get获取资源用于请求访问已经被URI识别的资源
Post传输实体
Get和Post唯一的最大的不同就是对于Post来说后面要请求的数据不是必须特定赋值的
Put传输文件存在安全性问题
Head获取响应头部head和get一样只是不返回报文主题部分
Delete删除文件按请求URI删除指定的资源
Options询问支持的方法
Trace追踪路径
Connnect隧道协议连接代理主要使用SSL安全套接层和TLS传输层安全协议加密后通过网络隧道传输
五、HTTP标头
根据属性所在的位置可划分为通用标头、实体标头、请求标头、响应标头
根据是否被缓存可划分为end-to-end端到端首部、top-to-top逐跳首部
逐跳首部connection、keep-alive、proxy-authenticate、proxy-authorization、trailer、TE、transfer-encoding、upgrade
端到端首部cache-control、pragma、via、warning
1.通用标头
通用标头用于传达有关消息本身的信息而不是它所携带的内容。
主要的通用标头有cache-control、connection、date、pragma、trailer、transfer-encoding、upgrade、via、warning cache-control通用标头的指令能够管理如何对HTTP的请求或响应使用缓存。 可缓存性no-cache、no-store、private、public 缓存有效性时间max-age、s-maxage、max-stale、min-fresh 重新验证并重新加载must-revalidate、proxy-revalidate 其他only-if-cached、no-transform ConnectionHTTP协议使用TCP来管理连接方式分为持久性连接、非持久性连接。 持久性连接一次会话完成后TCP连接并未关闭再次发起请求就不需要建立TCP连接可直接进行请求和响应。 从HTTP.开始默认使用持久性连接。 Connectionkeep-alive keep-alive也是一个通用标头通常connection和keep-alive一起使用keep-alive通常由2个参数timeout、max。 keep-alivetimeout5,max1000 Timeout空闲连接必须打开的最短时间也就是说请求的连接时间不能少于5s Max在连接关闭之前服务器所能收到的最大请求数。 非持久性连接一次会话请求/响应后关闭连接的方式即connectionclose Date可出现在请求标头和响应标头中格式为 Date :Wed, 21 Oct 2015 07:28:00 GMT -----格林威治标准时间 PragmaHTTP1.1之前版本的历史遗留字段pragmano-cache Trailer报文首部字段 transfer-encoding:内容协商规定传输报文所采用的编码方式 Upgrade首部字段upgrade用于检测HTTP协议及其他协议是否可使用更高版本进行通信。 Via跟踪客户端和服务器之间的请求或响应路径。 Warning 警告。
2.实体标头
实体标头描述消息正文内容。 Allow资源可支持的HTTP方法 Content-Encoding实体主体适用的编码方式 Content-Language实体主体的自然语言 Content-Length实体主体的大小单位字节 Content-Location替代对应资源的URI Content-MD5实体主体的报文摘要 Content-Range实体主体的位置范围 Content-Type实体主体的媒体类型 Expires实体主体过期的日期时间 Last-Modified资源的最后修改日期时间
3.请求标头
请求标头告知客户端能够接收的MIME类型。 MIME描述消息内容类型的因特网标准。包含文本、图像、音频、视频以及其他应用程序专用数据等。 MIME类型 文本文件text/html、text/plain、text/css、application/json、application/xml 图片文件 image/jpeg、 image/gif、 image/png 视频文件 video/mpeg ̵ video/quicktime 应用程序二进制文件 application/octet-stream ̵ application/zip 一般MIME类型也会和q属性一起使用q代表权重。
常见请求标头 Accept application/json, text/plain, */*,q0.1 Accept-Charset 表示客户但能够接受的字符编码。如utf-8, iso-8859-1;q0.5, *;q0.1 Accept-Encoding 表示客户端希望服务端返回的内容编码。如gzip, deflate, br Accept-Language 表示客户端需要服务端返回的语言类型。如zh-CN,zh;q0.9 Authorization 用于向服务器认证用户代理的凭据。 Expect 指示服务器需要满足的期望才能正确处理请求。 From 告知服务器使用用户代理的电子邮件地址。 Host 服务器的域名和服务器监听的TCP端口号。 Range 指示服务器应返回文档指定部分的资源可以一次请求一个Range来返回多个部分服务器会将这些资源返回各个文档中。 Referer 告知服务器该网页是从哪个页面链接过来的。 TE 告知服务器能够处理响应的传输编码方式及相对优先级。 User-Agent 创建请求的浏览器和用户代理名称等信息传达给服务器。
4.响应标头
响应标头提供了服务器对客户端请求的响应信息。 Accept-Ranges: 是否接受字节范围请求 Age 推算资源创建经过时间 ETag 资源的匹配信息 Location 令客户端重定向至指定URI Proxy-Authenticate 代理服务器对客户端的认证信息 Retry-After 对再次发起请求的时机要求 Server HTTP服务器的安装信息 Vary 代理服务器缓存的管理信息 www-Authenticate 服务器对客户端的认证信息 Access-Control-Allow-Origin 告诉浏览器允许该来源进行资源访问 Keep-Alive Connection非连续连接的存活时间可以进行指定 Set-Cookie 服务器向客户端发送sessionID
六、HTTP状态码分类
分类分类描述1**信息服务器收到请求需要请求者继续执行操作2**成功操作被成功接收并处理3**重定向需要进一步的操作以完成请求4**客户端错误请求包含语法错误或无法完成请求5**服务端错误服务器在处理请求过程中发生了错误
HTTP状态码列表 状态码 状态码英文名称 中文描述 100 Continue 继续。客户端应继续其请求 101 Switching Protocols 切换协议。服务器根据客户端的请求切换协议。 200 OK 请求成功。一般用于GET与POST请求 201 Created 已创建。成功请求并创建了新的资源 202 Accepted 已接受。已经接受请求但未处理完成 203 Non-Authoritative Information 非授权信息。请求成功。但返回的meta信息不在原始的服务器而是一个副本 204 No Content 无内容。服务器成功处理但未返回内容。在未更新网页的情况下可确保浏览器继续显示当前文档 205 Reset Content 重置内容。服务器处理成功用户终端例如浏览器应重置文档视图。可通过此返回码清除浏览器的表单域 206 Partial Content 部分内容。服务器成功处理了部分GET请求 300 Multiple Choices 多种选择。请求的资源可包括多个位置相应可返回一个资源特征与地址的列表用于用户终端例如浏览器选择 301 Moved Permanently 永久移动。请求的资源已被永久的移动到新URI返回信息会包括新的URI浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替 302 Found 临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI 303 See Other 查看其它地址。与301类似。使用GET和POST请求查看 304 Not Modified 未修改。所请求的资源未修改服务器返回此状态码时不会返回任何资源。客户端通常会缓存访问过的资源通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源 305 Use Proxy 使用代理。所请求的资源必须通过代理访问 306 Unused 已经被废弃的HTTP状态码 307 Temporary Redirect 临时重定向。与302类似。使用GET请求重定向 400 Bad Request 客户端请求的语法错误服务器无法理解 401 Unauthorized 请求要求用户的身份认证 402 Payment Required 保留将来使用 403 Forbidden 服务器理解请求客户端的请求但是拒绝执行此请求 404 Not Found 服务器无法根据客户端的请求找到资源网页。通过此代码网站设计人员可设置您所请求的资源无法找到的个性页面 405 Method Not Allowed 客户端请求中的方法被禁止 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求 407 Proxy Authentication Required 请求要求代理的身份认证与401类似但请求者应当使用代理进行授权 408 Request Time-out 服务器等待客户端发送的请求时间过长超时 409 Conflict 服务器完成客户端的 PUT 请求时可能返回此代码服务器处理请求时发生了冲突 410 Gone 客户端请求的资源已经不存在。410不同于404如果资源以前有现在被永久删除了可使用410代码网站设计人员可通过301代码指定资源的新位置 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息 412 Precondition Failed 客户端请求信息的先决条件错误 413 Request Entity Too Large 由于请求的实体过大服务器无法处理因此拒绝请求。为防止客户端的连续请求服务器可能会关闭连接。如果只是服务器暂时无法处理则会包含一个Retry-After的响应信息 414 Request-URI Too Large 请求的URI过长URI通常为网址服务器无法处理 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式 416 Requested range not satisfiable 客户端请求的范围无效 417 Expectation Failed 服务器无法满足Expect的请求头信息 500 Internal Server Error 服务器内部错误无法完成请求 501 Not Implemented 服务器不支持请求的功能无法完成请求 502 Bad Gateway 作为网关或者代理工作的服务器尝试执行请求时从远程服务器接收到了一个无效的响应 503 Service Unavailable 由于超载或系统维护服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中 504 Gateway Time-out 充当网关或代理的服务器未及时从远端服务器获取请求 505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本无法完成处理