图解HTTP 6/11
第三章
HTTP报文内的HTTP信息
1.用于http协议交互的信息被称为HTTP报文。请求端(客户端)的HTTP报文叫做请求报文,响应端(服务器端 )的叫做响应报文。
2.请求报文的结构
请求行:包含用于请求的方法,请求URI和HTTP版本。
首部字段:包含表示请求和响应的各种条件和属性的各类首部。一般有4种,分别是:通用首部,请求首部和实体首部 。
其他:可能包含HTTP的RFC里未定义的首部(Cookie等)
报文主体。
3.HTTP可以在传输中通过编码来提升传输速率,但是编码需要计算机来完成,因此会消耗更多的CPU等资源。
4.报文(message):是HTTP通信的基本单位,由8为组字节流组成,通过HTTP通信传输。
实体(entity):作为请求或响应的有效载荷数据(补充项)被传输,其内容由实体首部和实体主体组成
第四章
返回结果的HTTP状态码
1.状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果
2.状态码的类别
1xx information(信息性状态码) 接收的请求正在处理
2xx success(成功状态码) 请求正常处理完毕
200(OK):表示请求已正常处理
204(NO CONTENT):请求处理成功,但是没有资源可以返回。
206(Partial Content):只对资源某一部分的请求。
3xx redirection(重定向状态码) 需要进行附加操作以完成请求
4xx client error(客户端错误状态码)服务器无法处理请求
400(Bad Request):请求报文中存在语法错误。
401(Unauthorized):表示发送的请求需要有通过HTTP认证的认证信息。
403(Forbidden):不允许访问那个资源。
404(Not Found):表明服务器上无法找到请求的资源。
5xx server error(服务器错误状态码)服务器处理请求出错
500(Internal Server Error):临时的故障
503(Service Unavailable):服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。
第五章
与HTTP协作的Web服务器
1.通信数据转发程序:代理、网关、隧道。
2.代理:代理是一种有转发功能的应用程序,它扮演了位于服务器和客户端“中间人”的角色,接受由客户端发送的请求并转发给服务器,同时也接受服务器返回的响应并转发给客户端。
3.网关:网关是转发其他服务器通信数据的服务器,接受从客户端发送来的请求时,它就像自己拥有资源的资源服务器一样对请求进行处理。
4.隧道:隧道是在相隔甚远的客户端和服务器两者之间进行中转,并保持双方通信连接的应用程序。
第六章
HTTP首部
1.HTTP协议的请求和响应报文中必定包含HTTP首部
2.HTTP报文的结构:报文首部(在客户端和服务器处理时起至关重要作用的信息几乎都在这边),报文主体(所需要的用户和资源的信息都在这边)
3.HTTP请求报文,由方法、URI、HTTP版本、HTTP首部字段等部分构成。
4.4种首部字段的类型
通用首部字段(General Header Fields):请求报文和响应报文两方都会使用的首部。
请求首部字段(Request Header Fields):丛客户端向服务端发送请求报文时使用的首部。补充了请求的附加内容、客户端信息、响应内容相关优先级等信息。
响应首部字段(Response Header Fields):从服务器端向客户端返回响应报文时使用的首部。补充了响应的附加内容,也会要求客户端附加额外的内容信息。
实体首部字段(Enity Header Fields):针对请求报文和响应报文的实体部分使用的首部。补充了资源内容,更新时间等与实体有关的信息。
5.非HTTP协议中,还有Cookie,Set-Cookie和Content-Disposition等。
6.外加很多具体的字段。