http请求流程
今天看到HTTP请求流程,就很自然的想到我在大学期间学到的计算机网络这门课程,当初刚学,有好多知识还真是有点难理解,不过幸好的是学期末的考试发挥的不错。今天写下这个笔记算是温故老朋友了吧!
打开浏览器,地址栏输入地址。
开始进行域名解析
浏览器自身搜DNS缓存 搜地址有没有缓存 ;搜索操作系统 自身的DNS缓存;读取本地的host文件;
浏览器发起一个DNS的一个系统调用浏览器获得域名对应的IP地址后 发起三次握手
1.建立TCP/IP连接,客户端与服务器通过Socket三次握手(约吗? 约,明天下午老地方见!)进行连接。
2.客户端向服务端发送HTTP请求,例如:GET/1.html HTTP/1.1
3.客户端发送请求头信息,请求内容,最后会发送一空白行,表示客户端请求完毕
4.服务器会做出应答,表示对客户端请求的应答,例如:HTTP/1.1 200 OK
5.服务器向客户端发送应答信息,同时也会发送一空白行,表示应答信息发送完毕,接着就以Content-typey要求的数据格式发送数据给客户端
6.服务器关闭TCP连接,如果服务器或者客户端增加Connection:keep-alive就表示客户端与服务器继续保存连接,在下次请求是可以继续使用次连接