您的位置:首页 > 理论基础 > 计算机网络

黑马程序员_温习 网络编辑四 (个人笔记)摘要(浏览器客户端介绍----消息头---URL(统一资源定位符)(应用层)----域名解析)

2013-12-16 22:39 417 查看
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

摘要(浏览器客户端介绍----消息头---URL(统一资源定位符)(应用层)----域名解析)

浏览器客户端--其实跟自定义的Socket一样

但浏览器客户端功能更强大(内部封装了很多解析数据库)

浏览器请求消息头:

|--GET:(1部分)一种请求方式,(2部分)求取这个目录下的html资源(3部分)遵守的协议名称

|--Accept:可接受什么类型数据

|--Accept-Language:支持的语言

|--Accept-Encoding:支持的封装形式(即压缩包类型,将数据压缩传输,节省资源,提高传输速度)

|--User-Agent:用户的一个信息

|--Host:请求访问的主机IP和浏览器端口

|--Connection:连接状态

如图:

Tomcat服务器应答消息头:

|--Http/1 200 ok:(1部分)支持http/1(2部分)响应状态吗-->200为成功 (3部分)<---成功的意思

|--Server:服务器类型

|--Etag:一个标记

|--Last-Modified:何时被修改的

|--Content-type:发送的是什么类型数据

|--content-length:数据大小(字节)

|--Date:(何时发的)

|--Connection:连接状态

如图:

URl--URLConnection统一资源定位符(应用层)

例:

URL url= new URL("htt://192.168.1.254:8080/myweb/Demo.txt");//建URL对象,将指定主机,端口,和具体访问文件,封装成URL对象

URLConnection conn = url.openConnection();//获取服务端对象

InputStream in = conn.getInputStream();//获取服务端网络读取流

byte[] buf = new byte[1024];

int len =in.read(buf);//将网络输入流的数据存入数组,并记录长度

System.out.println(buf,0,len);

知识点::

|--InetAddress和SocketAddress区别:

|--InetAddress 只封装IP

|--SocketAddress 封装IP和端口

|--ServerSocket(int port, int backlog)-->backlog(最大连接数,初始化时可直接设置)

域名解析:(如访问:百度)

|--先在本机host文件中找,看有没有匹配的IP

本机默认回环地址IP:127.0.0.1

|--若没有,就向网络上的DNS服务器发送信息,然后DNS服务器

把匹配的IP发回本机

|--本机再根据发回的IP,访问百度网站

HOST文件设置用途:

|--本机houst文件中,设置IP,可省去访问DNS服务器的时间,提高了速度

获取IP方法:InetAddress.getByName("www.sina.con.cn");

|--有些软件要网上验证,将其在HOST中的IP改为本机回环地址,则可实现不验证

达到免费使用软件的目的

|--屏蔽一些恶意或垃圾网站,做吧同上(IP设成本机回环)

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐