nodejs API之HTTP
2015-10-13 19:51
274 查看
HTTP概念
http是一种协议,互相通信的两个终端(不只是电脑)之间要遵循这种规则,才能建立通信。输入网址到浏览器渲染完毕之间的流程:
Created with Raphaël 2.1.0网址网址浏览器浏览器操作系统DNS缓存操作系统DNS缓存本地host文件本地host文件宽带运营商宽带运营商根域服务器根域服务器com域com域网址域网址域嘿,我输入网址了那我看看我的DNS有没有缓存。抱歉没有有没有这个网址的IP我也没有有没有这个网址的IP我也没有(发送DNS请求)他们都没有,你那有没没有,我帮你问问(通过自身服务器发送迭代DNS请求,知道这个网址的IP吗我只知道com域的IP,你去问他吧(通过自身服务器发送迭代DNS请求,知道这个网址的IP吗不知道,我知道这个网址域的IP,(一般是域名提供商,比如万网)你知道这个网址的IP吗知道啊,给你找到了,给你找到了,给你终于找到了
Created with Raphaël 2.1.0输入网址浏览器自身DNS缓存是否有该网址IP浏览器http 3次握手http://www.google.comEndhttp://www.google.com本地host文件是否有该网址IP发送系统调用,获取IPyesnoyesno
连接流程就是:浏览器获取到IP以后,通过自身随机端口发送TCP链接请求,通过层层路由,可能还要经过防火墙,然后经过网卡,到达TCP/IP协议栈到达web终端,建立连接。
三次握手就是
Created with Raphaël 2.1.0浏览器浏览器服务器服务器001呼叫007?收到请回复007收到,001请指示给我来包烟
TCP/IP建立后,可以发送HTTP请求了 ,比如使用GET方法请求一个根域的一个域名,
服务器收到请求后,根据参数,返回相应的东西,比如一个网站的首页。
网页中用到的css,js,图片啊,也都是一个http请求
第二种理解
http可以分为请求和响应,都会发送一个请求头,和正文。请求头:发送附加信息,内容类型,响应日期,状态码
正文:表单数据 文章等的东西了
使用浏览器调试工具查看,头和正文,一般重点关注请求方法,比如GET post 等了,还有就是状态码
1xx :表示请求正在处理
2xx :表示请求成功 200
3xx :重定向
4xx :请求错误 400 401 404
5xx :服务器有错误
剩下的就是慢慢来熟悉了
相关文章推荐
- IOS网络笔记--xml解析之一(dom解析)
- 【转】计算机网络_学习笔记 第三章 数据链路层
- httpcomponents-client-ga(4.5)
- httpcomponents-client-ga(4.5)
- Reachability网络判断
- linux内核网络参数somaxconn
- 概率图形模型(PGM)学习笔记(四)-贝叶斯网络-伯努利贝叶斯-贝叶斯多项式
- HTTP学习笔记
- 用过http api 发送邮件
- HTTP请求报文和HTTP响应报文
- android使用timer检测网络请求时长
- 【JMeter】Jmeter-完成一个http压力测试
- oracle 第07章 网络配置管理
- Android网络编程--获取网络图片
- android HttpUrlConnection 设置超时无效,等待时间很长的问题
- 黑马程序员——8.网络编程(网络模型、网络地址、传输协议(UDP、TCP/IP)、客户端和服务器端、URL)
- http://192.168.10.200:50070/windows访问不了 Linux可以
- 网络软件大潮清理“国内泡沫”
- ThreadLocal http://blog.jobbole.com/20400/
- Linux与BSD中TCP协议栈实现比较