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

网络连接:HTTP信息传输(URI、URL)、TCP/IP连接过程、常见状态码

2018-02-12 10:47 736 查看

一.HTTP

request:请求行、请求头、请求正文(实体内容)
请求行:请求方式、url、协议版本
请求头:GET方式参数、...(其他属性)
实体内容:POST方式参数
response:状态行、响应头、响应正文(实体内容)
状态行:协议版本、状态码、状态描述
响应头:键值对方式描述 http://blog.csdn.net/a19881029/article/details/14002273

二.URL、URI

1.URI:统一资源标志符(Uniform Resource Identifier)
URL:统一资源定位符(uniform resource location)

2.URI包含RUI和URN
URL包含访问机制、网络位置:可作为网址直接在浏览器打开访问
URL和URI后台操作 http://blog.csdn.net/readiay/article/details/52862379 https://www.cnblogs.com/wuyun-blog/p/5706703.html
3.相关操作http://blog.csdn.net/zghwaicsdn/article/details/41345223java:客户端访问路径(各段参数)、文件所在路径(classpath)、工程路径(包含服务器)
request.getScheme()+"://"; //请求协议 http 或 https  
request.getHeader("host");  // 请求服务器  
request.getRequestURI();     // 工程名    
request.getQueryString();   // 参数
类的绝对路径:Class.class.getClass().getResource("/").getPath():/D:/TEST/WebRoot/WEB-INF/classes/pack/
工程的路径:System.getProperty("user.dir"):D:\TEST
工程目录:request.getSession().getServletContext().getRealPath("") 参数可具体到包名。:E:\Tom
4000
cat\webapps\TEST
IE地址栏地址:request.getRequestURL():http://localhost:8080/TEST/test
相对地址:request.getRequestURI()

jsp:jsp相关路径:相对、绝对
request.getRequestURI():/TEST/test.jsp
工程名:request.getContextPath():/TEST
request.getServletPath():/TEST/jsp/test.jsp
application.getRealPath("页面.jsp"):D:\resin\webapps\TEST\test.jsp
所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();:D:\resin\webapps\TEST

三.连接过程

[b]1.http请求[/b]HTTP是一个应用层的协议,在这个层的协议,是一种网络交互需要遵守的一种协议规范。1、连接:建立一个socket连接,DNS解析为ip和端口。如果url不包含端口号,则会使用该协议的默认端口号80。2、请求:GET/POST3、应答4、关闭连接2.TCP连接的三次握手和四次挥手建立连接协议(三次握手)1、SYN_SEND:客户端发送SYN标志的TCP报文到服务器。2、SYN_RECV:服务器端回应客户端,这个报文同时带ACK标志(表示服务器准备好了数据通信)和SYN标志。内核在收到最后一个ACK后,accept会返回。3、ESTABLISH:客户端必须再次回应服务器端一个ACK报文。连接建立,开始准备read、write。
SYN:询问是否准备好连接ACK:表示已准备好连接

连接中止协议(四次挥手)TCP连接是全双工的,每个方向都必须单独进行关闭。一方完成它的数据发送任务,就能发送一个FIN来中止这个方向的连接。收到一个FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方讲执行主动关闭,而另一方执行被动关闭。1、TCP客户端发送一个FIN,用户关闭客户端到服务器的数据传送;2、服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1,和SYN一样,一个FIN将占用一个序号;3、服务器关闭客户端的连接,发送一个FIN给客户端;4、客户端发回ACK报文确认,并将确认序号设置为收到序号加1;1和2关闭客户端到服务器的数据通信,3和4关闭服务器端到客户端的数据通信FIN:关闭连接ASK:确认状态

 http://blog.csdn.net/jinzhencs/article/details/50460611 https://www.cnblogs.com/engeng/articles/5959335.html
四.常见状态码https://baike.baidu.com/item/HTTP%E7%8A%B6%E6%80%81%E7%A0%81/5053660?fr=aladdin200:OK
404:资源不存在
500:服务器错误
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐