wordpress前端用户网址,宁波seo外包服务,镇江网站推广排名,网站备案最快多久文章目录 简介HTTP1.0和HTTP1.1的区别 请求和响应报文报文的格式请求报文form表单发送GET请求特点GET请求行,请求头,请求体form表单发送post请求特点post的请求行 请求头 请求体 响应报文响应状态码更多的响应状态码 简介 HTTP 超文本传输协议 (HTTP-Hyper Text transfer proto… 文章目录 简介HTTP1.0和HTTP1.1的区别 请求和响应报文报文的格式请求报文form表单发送GET请求特点GET请求行,请求头,请求体form表单发送post请求特点post的请求行 请求头 请求体 响应报文响应状态码更多的响应状态码 简介 HTTP 超文本传输协议 (HTTP-Hyper Text transfer protocol) 是一种详细规定了浏览器和万维网服务器之间**客户端和服务器之间互相通信的规则** 客户端与服务端通信时传输的内容我们称之为报文。HTTP协议就是规定报文的格式 交互的方式 请求永远都是客户端向服务端发送响应永远都是服务端向客户端返回 数据的格式 请求时发送的数据客户端发送给服务器的 称之为请求报文响应式返回的数据服务器发送给客户端的 称之为响应报文 报文有规定的格式 报文首部请求报文响应报文行请求行响应行头请求头响应头报文主体请求体响应体
HTTP1.0和HTTP1.1的区别
在HTTP1.0版本中浏览器请求一个带有图片的网页会由于下载图片或其他资源而与服务器之间开启一个新的连接但在HTTP1.1版本中允许浏览器在拿到当前请求对应的全部资源后再断开连接提高了效率。——即长链接和短链接
另外1.1支持缓存将已经加载过的图片等资源保留在本地下次无需请求即可从本地获取图片资源
请求和响应报文
报文的格式
主体上分为报文首部和报文主体,中间空行隔开报文部首可以继续细分为 “行” 和 “头”
请求报文
请求报文格式 请求首行请求行 GET/POST请求方式 资源路径?参数请求的资源路径 HTTP/1.1请求协议请求头信息请求头空行请求体POST请求才有请求体 浏览器 f12 网络下查看请求数据包
form表单发送GET请求特点
1、由于请求参数在请求首行中已经携带了所以没有请求体也没有请求空行 2、请求参数拼接在url地址中地址栏可见[url?name1value1name2value2]不安全 3、由于参数在地址栏中携带所以由大小限制[地址栏数据大小一般限制为4k]只能携带纯文本 4、get请求参数只能上传文本数据 5、没有请求体。所以封装和解析都快效率高 浏览器默认提交的请求都是get请求比如地址栏输入回车,超链接,表单默认的提交方式
GET请求行,请求头,请求体
请求行组成部分
请求方式 GET访问服务器的资源路径?参数1值1参数2值2 … …协议及版本 HTTP/1.1
GET /05_web_tomcat/login_success.html?usernameadminpassword123213 HTTP/1.1请求头
-主机虚拟地址
Host: localhost:8080
-长连接
Connection: keep-alive
-请求协议的自动升级[http的请求服务器却是https的浏览器自动会将请求协议升级为https的]
Upgrade-Insecure-Requests: 1
- 用户系统信息
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36
- 浏览器支持的文件类型
Accept:text/html,application/xhtmlxml,application/xml;q0.9,image/webp,image/apng,*/*;q0.8
- 当前页面的上一个页面的路径[当前页面通过哪个页面跳转过来的] 可以通过此路径跳转回上一个页面 广告计费防止盗链
Referer: http://localhost:8080/05_web_tomcat/login.html
- 浏览器支持的压缩格式
Accept-Encoding: gzip, deflate, br
- 浏览器支持的语言
Accept-Language: zh-CN,zh;q0.9,en-US;q0.8,en;q0.7请求空行 请求体 GET请求数据不放在请求体
form表单发送post请求特点
1、POST请求有请求体而GET请求没有请求体。 2、post请求数据在请求体中携带请求体数据大小没有限制可以用来上传所有内容[文件、文本] 3、只能使用post请求上传文件 4、post请求报文多了和请求体相关的配置[请求头] 5、地址栏参数不可见相对安全 6、post效率比get低
post的请求行 请求头 请求体
请求行组成部分
请求方式 POST访问服务器的资源路径?参数1值1参数2值2 … …协议及版本 HTTP/1.1
POST /05_web_tomcat/login_success.html HTTP/1.1请求头
Host: localhost:8080
Connection: keep-alive
Content-Length: 31 -请求体内容的长度
Cache-Control: max-age0 -无缓存
Origin: http://localhost:8080
Upgrade-Insecure-Requests: 1 -协议的自动升级
Content-Type: application/x-www-form-urlencoded -请求体内容类型[服务器根据类型解析请求体参数]
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36
Accept:text/html,application/xhtmlxml,application/xml;q0.9,image/webp,image/apng,*/*;q0.8
Referer: http://localhost:8080/05_web_tomcat/login.html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q0.9,en-US;q0.8,en;q0.7
Cookie:JSESSIONID-请求空行 请求体:浏览器提交给服务器的数据
usernameadminpassword1232131响应报文
响应报文格式 响应首行响应行 协议/版本 状态码 状态码描述响应头信息响应头空行响应体 响应行组成部分 协议及版本 HTTP/1.1响应状态码 200状态描述 OK (缺省)
HTTP/1.1 200 OK
说明响应协议为HTTP1.1响应状态码为200表示请求成功 响应头
Server: Apache-Coyote/1.1 服务器的版本信息
Accept-Ranges: bytes
ETag: W/157-1534126125811
Last-Modified: Mon, 13 Aug 2018 02:08:45 GMT
Content-Type: text/html 响应体数据的类型[浏览器根据类型解析响应体数据]
Content-Length: 157 响应体内容的字节数
Date: Mon, 13 Aug 2018 02:47:57 GMT 响应的时间这可能会有8小时的时区差响应体
!--需要浏览器解析使用的内容[如果响应的是html页面最终响应体内容会被浏览器显示到页面中]--!DOCTYPE html
htmlheadmeta charsetUTF-8titleInsert title here/title/headbody恭喜你登录成功了.../body
/html响应状态码
响应码对浏览器来说很重要它告诉浏览器响应的结果。比较有代表性的响应码如下
200 请求成功浏览器会把响应体内容通常是html显示在浏览器中302 重定向当响应码为302时表示服务器要求浏览器重新再发一个请求服务器会发送一个响应头Location指定新请求的URL地址304 使用了本地缓存404 请求的资源没有找到说明客户端错误的请求了不存在的资源405 请求的方式不允许500 请求资源找到了但服务器内部出现了错误
更多的响应状态码
状态码状态码英文描述中文含义1**100Continue继续。客户端应继续其请求101Switching Protocols切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议例如切换到HTTP的新版本协议2**200OK请求成功。一般用于GET与POST请求201Created已创建。成功请求并创建了新的资源202Accepted已接受。已经接受请求但未处理完成203Non-Authoritative Information非授权信息。请求成功。但返回的meta信息不在原始的服务器而是一个副本204No Content无内容。服务器成功处理但未返回内容。在未更新网页的情况下可确保浏览器继续显示当前文档205Reset Content重置内容。服务器处理成功用户终端例如浏览器应重置文档视图。可通过此返回码清除浏览器的表单域206Partial Content部分内容。服务器成功处理了部分GET请求3**300Multiple Choices多种选择。请求的资源可包括多个位置相应可返回一个资源特征与地址的列表用于用户终端例如浏览器选择301Moved Permanently永久移动。请求的资源已被永久的移动到新URI返回信息会包括新的URI浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替302Found临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI303See Other查看其它地址。与301类似。使用GET和POST请求查看304Not Modified未修改。所请求的资源未修改服务器返回此状态码时不会返回任何资源。客户端通常会缓存访问过的资源通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源305Use Proxy使用代理。所请求的资源必须通过代理访问306Unused已经被废弃的HTTP状态码307Temporary Redirect临时重定向。与302类似。使用GET请求重定向4**400Bad Request客户端请求的语法错误服务器无法理解401Unauthorized请求要求用户的身份认证402Payment Required保留将来使用403Forbidden服务器理解请求客户端的请求但是拒绝执行此请求404Not Found服务器无法根据客户端的请求找到资源网页。通过此代码网站设计人员可设置您所请求的资源无法找到的个性页面405Method Not Allowed客户端请求中的方法被禁止406Not Acceptable服务器无法根据客户端请求的内容特性完成请求407Proxy Authentication Required请求要求代理的身份认证与401类似但请求者应当使用代理进行授权408Request Time-out服务器等待客户端发送的请求时间过长超时409Conflict服务器完成客户端的 PUT 请求时可能返回此代码服务器处理请求时发生了冲突410Gone客户端请求的资源已经不存在。410不同于404如果资源以前有现在被永久删除了可使用410代码网站设计人员可通过301代码指定资源的新位置411Length Required服务器无法处理客户端发送的不带Content-Length的请求信息412Precondition Failed客户端请求信息的先决条件错误413Request Entity Too Large由于请求的实体过大服务器无法处理因此拒绝请求。为防止客户端的连续请求服务器可能会关闭连接。如果只是服务器暂时无法处理则会包含一个Retry-After的响应信息414Request-URI Too Large请求的URI过长URI通常为网址服务器无法处理415Unsupported Media Type服务器无法处理请求附带的媒体格式416Requested range not satisfiable客户端请求的范围无效417Expectation Failed服务器无法满足Expect的请求头信息5**500Internal Server Error服务器内部错误无法完成请求501Not Implemented服务器不支持请求的功能无法完成请求502Bad Gateway作为网关或者代理工作的服务器尝试执行请求时从远程服务器接收到了一个无效的响应503Service Unavailable由于超载或系统维护服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中504Gateway Time-out充当网关或代理的服务器未及时从远端服务器获取请求505HTTP Version not supported服务器不支持请求的HTTP协议的版本无法完成处理