HTTP协议之URL与HTTP请求格式及相应格式

一、URL

超文本传输协议(HTTP)的统一资源定位符将从因特网获取信息的五个基本元素包括在一 个简单的地址中:

  • 传送协议。
  • 层级URL标记符号(为[//],固定不变)
  • 访问资源需要的凭证信息(可省略)
  • 服务器。(通常为域名,有时为IP地址)
  • 端口号。(以数字方式表示,若为HTTP的默认值“:80”可省略)
  • 路径。(以“/”字符区别路径中的每一个目录名称)
  • 查询。(GET模式的窗体参数,以“?”字符为起点,每个参数以“&”隔开,再 以“=”分开参数名称与数据,通常以UTF8的URL编码,避开字符冲突的问题)
  • 片段。以“#”字符为起点,以http://www.luffycity.com:80/news/index.html?id=250&page=1 为例, 其中:
    http,是协议; www.luffycity.com,是服务器;
    80,是服务器上的网络端口号; /news/index.html,是路径;
    ?id=250&page=1,是查询。
    大多数网页浏览器不要求用户输入网页中“http://”的部分,因为绝大多数网页内容是超 文本传输协议文件。同样,“80”是超文本传输协议文件的常用端口号,因此一般也不必 写明。一般来说用户只要键入统一资源定位符的一部分 (www.luffycity.com:80/news/index.html?id=250&page=1)就可以了。
    由于超文本传输协议允许服务器将浏览器重定向到另一个网页地址,因此许多服务器允许用 户省略网页地址中的部分,比如 www。从技术上来说这样省略后的网页地址实际上是一个 不同的网页地址,浏览器本身无法决定这个新地址是否通,服务器必须完成重定向的任务。
    UPL类的常用方法:
序号 方法 描述
1 String getProtocol() 获取此URL的协议名称
2 String getHost() 获取此URL的主机名
3 int getPort() 获取此URL的端口名
4 String getFile 获取此URL的文件名
5 int getDefaultPort() 获取此URL的协议的默认端口号
6 String getPath() 获取此URL的路径部分
7 String getQuery() 获取此URL的查询部分,如果不存在为null
8 String getRef() 获取此的锚定(也称为”参数“)URL
9 lnputStream openStream() 打开与此URL的连接,并返回一个lnputStream,以便从该连接读取

二、HTTP请求格式

HTTP协议之URL与HTTP请求格式及相应格式
HTTP协议之URL与HTTP请求格式及相应格式

三、HTTP相应格式

HTTP协议之URL与HTTP请求格式及相应格式
HTTP协议之URL与HTTP请求格式及相应格式