DNS,TCP,IP,HTTP,socket,Servlet概念整理
 
  常见的协议虽然很容易理解,但是看了之后过一段时间不看还是容易忘,笔记如下,比较零碎,勉强供各位复习。如有错误欢迎指正。
 
DNS协议
 
DNS 协议的作用是将域名解析为IP,域名的数量非常多,域名和ip的对应关系也经常变化,所以就需要专门的DNS服务器,用来将域名解析为IP。
windows下,nslookup命令可以查看域名解析的结果。nslookup +网址。
世界各地有很多DNS服务器,也有一些大型公用的DNS服务器可以使用,比如Google的8.8.8.8和国内的114.114.114.114.我们直接访问的DNS服务器叫本地DNS服务器,它会从主DNS服务器获取跟我们请求域名对应的ip,并且将对应关系放到缓存中。
域名也有很多时候不好用,所以导航页被需要。微信小程序和公众号的导航页有待开发。
 
TCP/IP协议
 
IP协议是用来查询地址的,对应着网际互联层,TCP协议是用来规范传输规则的,对应着传输层。ip负责找到地址,TCP负责具体传输。这是两个不同的协议。
TCP在传输之前会进行上次沟通,一般称为“上次握手”,传输数据断开的时候要进行四次沟通,一般称为“四次挥手”。相关序号和标志位:
seq: sequence number的缩写,表示所传输的数据的序号。
ack: acknoledgement number 的缩写,表示确认号。
ACK: 确认为,只有ACK=1的时候ack才起作用。
SYN: 同步位,用于建立连接时同步序号。
FIN: 终止位,用来在数据传输完毕后释放连接。
用于传输层的协议还有UDP,UDP是无连接的,TCP沟通好后才会传输数据,UDP拿到地址立即传输。TCP可靠,但是效率低;UDP效率高常用于视频,语音等对完整性要求不高的的资源。
协议只是一套规则,并不能具体工作,就像程序的接口一样;而socket是TCP/IP协议的一个具体实现。
 
HTTP协议
 
Http是应用层的协议,TCP/IP协议接收数据之后需要通过Http协议来解析才可以使用。发送电报过程中的编码和解码过程就相当于网络传输中的HTTP协议。
  HTTP协议中的报文结构:
  1,请求报文
  方法  URL  http版本  \r\n
  参数1:值
  参数2:值
  ,,,,
  主体
  2,相应报文
  http版本  状态码  简短原因\r\n
  参数1:值
  参数2:值
  ,,,,
  主体
  Response中的状态码:
  1XX: 信息性状态码。
  2XX: 成功状态码。200
  3XX: 重定向状态码。301表示重定向。
  4XX: 客户端错误状态码。404
  5XX: 服务端错误状态码。500表示内部错误。
   
 Socket,Servlet与JavaWeb
 
  Servlet是j2ee标准的一部分,是javaweb的开发标准。Servlet的作用是对接收到的数据进行处理并生成要返回给客户端的结果。
Servlet是对接收到的数据进行处理并生成要返回给客户端的结果,Servlet制定了Java中处理Web请求的标准,我们需要按照标准去做,规范、标准自己是不干活的;要想使用Servlet需要有相应的Servlet容器才行,例如常见的Tomca就是一个Servlet容器t。
 
1,socket:是TCP/IP协议的一个具体实现。Java中的网络通信即是通过Socket实现的,
  Socket分为两大类,ServerSocket和Socket,ServerSocket用于服务端 ,通过accept方法监听请求,监听到请求后返回socket,socket用于具体完成数据传输,客户端直接使用socket发起请求并传输数据。此外,jdk1.4开始,java增加新的IO模式:nio,(New io),极大的提高了io效率,socket也属于IO的一种,Nio提供相应的工具:ServerSocketChannel和socketChannel。分别对应原来的ServerSocket和Socket。Nio:Buffer(数据),Channel(通道),Selector(分拣员);后两者多对多的关系。P29有处理过程。
 
2,HTTP协议是应用层的的协议,TCP/IP协议接收到数据之后,通过http协议解析之后才能使用,类似于电报中的编码和解码。
 
3,Servlet是J2EE标准的一部分,Server+Applet:表示一个服务器应用
  其作用是对接收到的数据进行处理,并生成要返回给客户端的结果,Servlet制定了Java中处理web请求的标准,标准自己时不干活的,所以想要使用Servlet需要有相应的Servlet容器才行,比如我们常见的Tomcat就是一个Servlet;getServletContext方法的返回值ServletContext代表的呃使我们这个应用本身。参数选择保存到Application中时,大多数就是保存在了ServletContext中(其为Application级的,而ServletConfig是Servlet级的)。
Servlet接口中的方法,init方法在容器启东市被容器调用,getServletConfig用于获取ServletConfig,service方法用于具体处理一个请求;getServletInfo方法可以获取一些Servlet相关的信息,如作者等。
GenericServlet是Servlet的默认实现,1,实现ServletConfig接口,2,提供无参init方法,3,提供log方法。
Httpservlet,是用HTTP协议实现的Servlet的基类,写Servlet时直接继承它就可以(DispatchServlet)。Httpservlet主要重写了Service方法。在Service方法中首先将ServletRequest和ServletResponse转换为HttpServletRequest和httpServletResponse。然后根据http请求的不同将请求路由到不同的处理方法。doGet,doPost,doDelete等。HttpServlet,主要将不同的请求方式路由到不同的处理方法,而SpringMVC又将所有的请求合并到了统一的一个方法进行处理。
 
 -----名白

DNS,TCP,IP,HTTP,socket,Servlet概念整理的更多相关文章

  1. ios开发网络知识 TCP,IP,HTTP,SOCKET区别和联系

    TCP,IP,HTTP,SOCKET区别和联系 网络由下往上分为:        对应 物理层-- 数据链路层-- 网络层--                       IP协议 传输层--     ...

  2. TCP/IP、SOCKET、HTTP之间的联系与区别

    主要内容: 1.网络的七层协议 2.TCP/IP.SOCKET.HTTP简介 3.TCP连接.HTTP连接.Socket连接的区别 一.网络的七层协议 网络七层由下往上分别为物理层.数据链路层.网络层 ...

  3. Linux内核 TCP/IP、Socket参数调优

    Linux内核 TCP/IP.Socket参数调优 2014-06-06  Harrison....   阅 9611  转 165 转藏到我的图书馆   微信分享:   Doc1: /proc/sy ...

  4. 网络协议HTTP、TCP/IP、Socket

    网络协议HTTP.TCP/IP.Socket 网络七层由下往上分别为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层.  其中物理层.数据链路层和网络层通常被称作媒体层,是网络工程师所研究的 ...

  5. TCP/IP以及Socket聊天室带类库源码分享

    TCP/IP以及Socket聊天室带类库源码分享 最近遇到个设备,需要去和客户的软件做一个网络通信交互,一般的我们的上位机都是作为客户端来和设备通信的,这次要作为服务端来监听客户端,在这个背景下,我查 ...

  6. TCP/IP以及Socket对象基本

    1 OSI七层模型概念介绍 物理层:数据以比特的方式进行传递,典型的设备是集线器.该层主要规定了设备的电压或者端口等等一些列物理层面上的规定     数据链路层:该层数据以帧的方式进行传递,主要是两个 ...

  7. TCP/IP 和 Socket 的关系

    要写网络程序就必须用Socket,这是程序员都知道的.而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,w ...

  8. TCP/IP的Socket编程

    1. TCP/IP.UDP的基本概念 TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,他是一个工业标准的协议集, ...

  9. TCP,IP,HTTP,SOCKET区别和联系

    物理层-- 数据链路层-- 传输层--                       TCP协议 会话层-- 我 们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如 果没有应用层,便 ...

随机推荐

  1. Web前端性能优化全攻略

    网页制作poluoluo文章简介:Web 前端性能优化是个大话题,是个值得运维人员持续跟踪的话题,是被很多网站无情忽视的技术. Web 前端性能优化是个大话题,是个值得运维人员持续跟踪的话题,是被很多 ...

  2. 谈谈this对象

    通过平常的使用简单总结了一下不同形式的函数调用下this的指向,函数的调用形式决定了this的指向.就简单分析一下以下几种情况: 情况一:纯粹的函数调用 eg: var x=1; function f ...

  3. jQuery 插件 的this 指向问题(实战)

    daterangepicker 是一个JavaScript组件,用来选择日期. 资源直接搜索 daterangepicker 即可,当然好看的样式可以基于Bootstrap. 官网:http://ww ...

  4. angular表单验证实例----可用的代码

    前段时间,公司做一个单页面,就是一个表单验证,早开始在菜鸟教程上关注了angular,所以下派上用场了 angular里面对于表单验证,设置了很多指令. 也就是说不用自己写一些逻辑,直接绑定指令就行. ...

  5. C# 通过Bartender模板打印条码,二维码, 文字, 及操作RFID标签等。

    1.在之前写的一篇文章中, 有讲到如何利用ZPL命令去操作打印里,  后面发现通过模板的方式会更加方便快捷, 既不用去掌握ZPL的实现细节, 就可以轻松的调用实现打印的功能. 解决方案: 1.网络下载 ...

  6. git视频教程

    git 精简版视频教程-2小时快速入门精华版,小教程很快就可以看完. 旺旺 QQ:Git是目前世界上最先进的分布式版本控制系统(没有之一). Git有非常高的逼格,简单来说就是:高端大气上档次. 这么 ...

  7. 探索Windows命令行系列(2):命令行工具入门

    1.理论基础 1.1.命令行的前世今生 1.2.命令执行规则 1.3.使用命令历史 2.使用入门 2.1.启动和关闭命令行 2.2.执行简单的命令 2.3.命令行执行程序使用技巧 3.总结 1.理论基 ...

  8. 音乐API之QQ音乐

    欢迎大家来到我的博客,这是我在博客园写的第一篇文章,但不会是最后一篇,希望大家多多关注我,支持我哦!正文开始,今天我们要讲的是QQ音乐的API,都是来源于官方的地址,以前我也想写一个,但百度谷歌之后都 ...

  9. 【Android Developers Training】 50. 控制相机

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  10. CNN中的卷积核及TensorFlow中卷积的各种实现

    声明: 1. 我和每一个应该看这篇博文的人一样,都是初学者,都是小菜鸟,我发布博文只是希望加深学习印象并与大家讨论. 2. 我不确定的地方用了"应该"二字 首先,通俗说一下,CNN ...