一个http请求的详细过程
来源:互联网 发布:行知基地实践活动作文 编辑:程序博客网 时间:2024/06/06 12:32
我们来看当我们在浏览器输入http://www.mycompany.com:8080/mydir/index.html,幕后所发生的一切。
首先http是一个应用层的协议,在这个层的协议,只是一种通讯规范,也就是因为双方要进行通讯,大家要事先约定一个规范。
1.连接 当我们输入这样一个请求时,首先要建立一个socket连接,因为socket是通过ip和端口建立的,所以之前还有一个DNS解析过程,把www.mycompany.com变成ip,如果url里不包含端口号,则会使用该协议的默认端口号。
DNS的过程是这样的:首先我们知道我们本地的机器上在配置网络时都会填写DNS,这样本机就会把这个url发给这个配置的DNS服务器,如果能够找到相应的url则返回其ip,否则该DNS将继续将该解析请求发送给上级DNS,整个DNS可以看做是一个树状结构,该请求将一直发送到根直到得到结果。现在已经拥有了目标ip和端口号,这样我们就可以打开socket连接了。
2.请求 连接成功建立后,开始向web服务器发送请求,这个请求一般是GET或POST命令(POST用于FORM参数的传递)。GET命令的格式为: GET 路径/文件名 HTTP/1.0
文件名指出所访问的文件,HTTP/1.0指出Web浏览器使用的HTTP版本。现在可以发送GET命令:
GET /mydir/index.html HTTP/1.0,
3.应答 web服务器收到这个请求,进行处理。从它的文档空间中搜索子目录mydir的文件index.html。如果找到该文件,Web服务器把该文件内容传送给相应的Web浏览器。
为了告知浏览器,,Web服务器首先传送一些HTTP头信息,然后传送具体内容(即HTTP体信息),HTTP头信息和HTTP体信息之间用一个空行分开。
常用的HTTP头信息有:
① HTTP 1.0 200 OK 这是Web服务器应答的第一行,列出服务器正在运行的HTTP版本号和应答代码。代码"200 OK"表示请求完成。
② MIME_Version:1.0 它指示MIME类型的版本。
③ content_type:类型 这个头信息非常重要,它指示HTTP体信息的MIME类型。如:content_type:text/html指示传送的数据是HTML文档。
④ content_length:长度值 它指示HTTP体信息的长度(字节)。
4.关闭连接:当应答结束后,Web浏览器与Web服务器必须断开,以保证其它Web浏览器能够与Web服务器建立连接。
- 一个http请求的详细过程
- 一个http请求的详细过程
- 一个http请求的详细过程
- 一个http请求的详细过程
- 一个http请求的详细过程
- 一个http请求的详细过程
- 一个http请求的详细过程【转】
- 一个http请求的详细过程
- 一个http请求的详细过程
- 一个http请求的详细过程
- 一个http请求的详细过程
- 一个http请求的详细过程
- 计算机网络 一个http请求的详细过程
- 一个http请求的详细过程
- 一个HTTP请求的详细过程
- 一个http请求的详细过程
- http请求的详细过程
- http请求的详细过程
- C++奇技淫巧(一):取位数,交换,比较,求均值
- 什么是IOC
- IAR 工程文件
- linux建立ssh、scp互信
- 验证码工具类
- 一个http请求的详细过程
- hdu 1754 I hate it 线段树维护最大值
- C语言实现继承和多态
- SQL 语句(四)--------------数据查询(嵌套查询)
- hadoop学习笔记--8.MapReduce案例一:简单好友推介实现
- const的用法总结
- React-Native|实现ListView下拉刷新加载更多
- 智能一代云平台(三十九):不同服务之间数据调用的一些思考
- 线性渐变linear-gradient,放射性渐变radial-gradient,循环渐变