HTTP学习笔记
Posted ancientMuse
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP学习笔记相关的知识,希望对你有一定的参考价值。
1.TCP/IP协议族
分层:应用层HTTP/DNS/FTP。传输层TCP/UDP。网络层IP/ARP。数据链路层(处理连接网络的硬件部分)
TCP三次握手:发送端发送SYN,接收端发送SYN/ACK,发送端再发送ACK。
HTTP通信过程:客户端输入域名,DNS通过域名查找IP地址。HTTP协议生成针对目标WEB服务器的HTTP请求报文。TCP协议将HTTP请求报文分割成报文段,分别添加标记序号和端口号,把每段报文可靠的(三 次握手)传给对方。IP协议搜索对方的地址,增加作为通信目的地的MAC地址,一边中转一边传送。服务器端TCP协议将接收到的报文段按序重组成请求报文。HTTP协议对WEB服务器请求的内容 进行处理。响应的内容也按相同方式传给客户端。
2.HTTP协议
HTTP协议肯定是先从客户端开始建立通信。对于一条通信路线来说,服务器端和客户端的角色是固定的。
HTTP是无状态协议。
HTTP可以保持TCP连接状态,在建立一次TCP连接后可进行多次HTTP请求和响应。
HTTP管线化:下一次请求不需要等待上一次的响应完成就可以进行。
Cookie进行状态管理:服务器端在响应报文里添加Set-Cookie首部字段,通知客户端保存Cookie,下次客户端往服务器发送请求时,客户端在请求报文添加Cookie首部字段,服务器发现请求报文的Cookie后,检 查究竟是哪一个客户端发送来的连接请求,然后对比服务器的记录,最后得到之前的状态信息。
3.HTTP报文
报文分请求报文和响应报文。报文由报文首部+空行+报文主体构成。
请求报文首部:请求行,请求首部字段,通用首部字段,实体首部字段,其他
响应报文首部:状态行,响应首部字段,通用首部字段,实体首部字段,其他
HTTP状态码:1XX信息性状态码,接受的请求正在处理。
2XX成功状态码,请求正常处理完毕。200,204(响应不返回资源)
3XX重定向状态码,需要进行附加操作完成请求。304(服务器资源未改变,可直接使用客户端未过期的缓存)
4XX客户端错误状态码,服务器无法处理请求。403(不允许访问该资源)404(服务器找不到请求资源)
5XX服务器错误状态码,服务器处理出错。500(服务器内部出错)503(服务器处于超负荷或者停机维护)
4.WEB服务器
代理:位于客户端和服务器之间,进行转发。作用:缓存,访问控制,获取访问日志。
网关:接收客户端请求时,把自己当作源服务器处理请求。作用:可以使网关与服务器通信提供非HTTP协议服务。
隧道:对相隔很远的客户端和服务器进行中转,保持双方通信连接。作用:保证安全通信
缓存:代理服务器或者客户端本地保存的资源副本。减少对源服务器的访问,节省通信流量和时间。在判断缓存过期后,要向源服务器确认缓存的有效性。
5.
以上是关于HTTP学习笔记的主要内容,如果未能解决你的问题,请参考以下文章