查找信息的过程
浏览器搜索——request——代理——request——web server——response——代理——response——浏览器
#request 请求数据包
#response 返回数据包
所以代理在中间可以拦截信息并进行修改
HTTP与HTTPS的区别:后者更加安全,有加密协议。
HTTP简要通信过程:
建立连接——发送请求数据包——返回响应数据包——关闭连接
Request请求数据包格式
1.请求行:
请求类型,请求资源/路径,协议版本和类型。8
有三个标记组成:请求方法,请求URL和HTTP版本,用空格分享。(例如:GET/inclex.html http//.)
2.请求头:
浏览器与web服务器之间都可以发送的特定的某种含义。
例如:Referer 跟踪web请求是从什么网站来的。COOKie 记载服务器相关的用户信息。HOST 本机或域名地址。
3.空行:
请求头与请求体之间用一个空行隔开。
4.请求体:
要发送的数据。
Response返回数据包数据格式:
一个响应由四个部分组成:状态行,响应头标,空行,响应数据。
1.状态行:
协议版本,数字形式的状态码和状态描述,元素之间用空格分隔。
1** 信息,服务器收到请求,需要请求者继续执行操作
2** 成功,操作被成功接收并处理
3** 重定向,需要进一步的操作以完成请求
4** 客户端错误,请求包含语法错误或无法完成请求
5** 服务器错误,服务器在处理请求的过程中发生了错误**各类别常见状态码(最常用的用红色标注):**
2xx (3种)
200 OK:表示从客户端发送给服务器的请求被正常处理并返回;
204 No Content:表示客户端发送给客户端的请求得到了成功处理,但在返回的响应报文中不含实体的主体部分(没有资源可以返回);
206 Patial Content:表示客户端进行了范围请求,并且服务器成功执行了这部分的GET请求,响应报文中包含由Content-Range指定范围的实体内容。
3xx (5种)
301 Moved Permanently:永久性重定向,表示请求的资源被分配了新的URL,之后应使用更改的URL;
302 Found:临时性重定向,表示请求的资源被分配了新的URL,希望本次访问使用新的URL;
301与302的区别:前者是永久移动,后者是临时移动(之后可能还会更改URL)
303 See Other:表示请求的资源被分配了新的URL,应使用GET方法定向获取请求的资源;
302与303的区别:后者明确表示客户端应当采用GET方式获取资源
304 Not Modified:表示客户端发送附带条件(是指采用GET方法的请求报文中包含if-Match、If-Modified-Since、If-None-Match、If-Range、If-Unmodified-Since中任一首部)的请求时,服务器端允许访问资源,但是请求为满足条件的情况下返回改状态码;
307 Temporary Redirect:临时重定向,与303有着相同的含义,307会遵照浏览器标准不会从POST变成GET;(不同浏览器可能会出现不同的情况);
4xx (4种)
400 Bad Request:表示请求报文中存在语法错误;
401 Unauthorized:未经许可,需要通过HTTP认证;
403 Forbidden:服务器拒绝该次访问(访问权限出现问题)
404 Not Found:表示服务器上无法找到请求的资源,除此之外,也可以在服务器拒绝请求但不想给拒绝原因时使用;
5xx (2种)
500 Inter Server Error:表示服务器在执行请求时发生了错误,也有可能是web应用存在的bug或某些临时的错误时;
503 Server Unavailable:表示服务器暂时处于超负载或正在进行停机维护,无法处理请求;
2.响应头标:
包含服务器类型,长度,日期,内容类型等。
3.空行:
响应头与响应体之间用空行隔开。
4响应数据:
浏览器会将实行内容中的数据取出来,生成相应的页面。