wordpress被改密码,搜索引擎优化推广,wordpress网站怎么打开,电子商务网站方案本文转自 #xff1a;flyhero 码上实战《一个HTTP打趴80%面试者》
HTTP协议简介
HTTP#xff08;超文本传输协议#xff09;是应用层上的一种客户端/服务端模型的通信协议,它由请求和响应构成#xff0c;且是无状态的。#xff08;暂不介绍HTTP2#xff09;
协议…本文转自 flyhero 码上实战《一个HTTP打趴80%面试者》
HTTP协议简介
HTTP超文本传输协议是应用层上的一种客户端/服务端模型的通信协议,它由请求和响应构成且是无状态的。暂不介绍HTTP2
协议协议规定了通信双方必须遵循的数据传输格式这样通信双方按照约定的格式才能准确的通信。无状态无状态是指两次连接通信之间是没有任何关系的每次都是一个新的连接服务端不会记录前后的请求信息。客户端/服务端模型五层网络模型 URL构成 协议内容
请求Request
客户端发送一个HTTP请求到服务端的格式
请求行请求头请求体响应Response
服务器响应客户端格式
状态行响应头响应体状态码
HTTP状态码由三个十进制数字组成第一个十进制数字定义了状态码的类型后两个数字没有分类的作用。HTTP状态码共分为5种类型
分类分类描述1**信息服务器收到请求需要请求者继续执行操作2**成功操作被成功接收并处理3**重定向需要进一步的操作以完成请求4**客户端错误请求包含语法错误或无法完成请求5**服务器错误服务器在处理请求的过程中发生了错误
更详细的状态码可查看 HTTP状态码
但一般我们只需要知道几个常见的就行比如 200400401403404500502
请求方法
截止到HTTP1.1共有下面几种方法
方法描述GETGET请求会显示请求指定的资源。一般来说GET方法应该只用于数据的读取而不应当用于会产生副作用的非幂等的操作中。它期望的应该是而且应该是安全的和幂等的。这里的安全指的是请求不会影响到资源的状态。POST向指定资源提交数据进行处理请求例如提交表单或者上传文件。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。PUTPUT请求会身向指定资源位置上传其最新内容PUT方法是幂等的方法。通过该方法客户端可以将指定资源的最新数据传送给服务器取代指定的资源的内容。PATCHPATCH方法出现的较晚它在2010年的RFC 5789标准中被定义。PATCH请求与PUT请求类似同样用于资源的更新。二者有以下两点不同1.PATCH一般用于资源的部分更新而PUT一般用于资源的整体更新。2.当资源不存在时PATCH会创建一个新的资源而PUT只会对已在资源进行更新。DELETEDELETE请求用于请求服务器删除所请求URI统一资源标识符Uniform Resource Identifier所标识的资源。DELETE请求后指定资源会被删除DELETE方法也是幂等的。OPTIONS允许客户端查看服务器的性能。CONNECTHTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。HEAD类似于get请求只不过返回的响应中没有具体的内容用于获取报头。TRACE回显服务器收到的请求主要用于测试或诊断。
请求和响应常见通用头
名称作用Content-Type请求体/响应体的类型如text/plain、application/jsonAccept说明接收的类型可以多个值用,(半角逗号)分开Content-Length请求体/响应体的长度单位字节Content-Encoding请求体/响应体的编码格式如gzip,deflateAccept-Encoding告知对方我方接受的Content-EncodingETag给当前资源的标识和Last-Modified、If-None-Match、If-Modified-Since配合用于缓存控制Cache-Control取值为一般为 no-cache或max-ageXXXX为个整数表示该资源缓存有效期(秒)
注意
Content-Type内容类型一般是指网页中存在的Content-Type用于定义网络文件的类型和网页的编码决定浏览器将以什么形式、什么编码读取这个文件。
常见的媒体格式类型如下
Content-Type(Mime-Type)描述text/htmlHTML格式text/plain纯文本格式text/xmlXML格式image/gifgif图片格式image/jpegjpg图片格式image/pngpng图片格式
以application开头的媒体格式类型
Content-Type(Mime-Type)描述application/xmlXML数据格式application/jsonJSON数据格式application/pdfpdf格式application/mswordWord文档格式application/octet-stream二进制流数据如常见的文件下载application/x-www-form-urlencodedform表单数据被编码为key/value格式发送到服务器表单默认的提交数据的格式multipart/form-data需要在表单中进行文件上传时就需要使用该格式
常见请求头
名称作用Authorization用于设置身份认证信息User-Agent用户标识如OS和浏览器的类型和版本If-Modified-Since值为上一次服务器返回的 Last-Modified 值用于确认某个资源是否被更改过没有更改过(304)就从缓存中读取If-None-Match值为上一次服务器返回的 ETag 值一般会和If-Modified-Since一起出现Cookie已有的CookieReferer表示请求引用自哪个地址比如你从页面A跳转到页面B时值为页面A的地址Host请求的主机和端口号
常见响应头
名称作用Date服务器的日期Last-Modified该资源最后被修改时间Transfer-Encoding取值为一般为chunked出现在Content-Length不能确定的情况下表示服务器不知道响应版体的数据大小一般同时还会出现Content-Encoding响应头Set-Cookie设置CookieLocation重定向到另一个URL如输入浏览器就输入baidu.com回车会自动跳到 https://www.baidu.com 就是通过这个响应头控制的Server后台服务器